Function at 0x4112e0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x828
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00401c60
mov ebx, eax
cmp ebx, 0
jne 0x411308
xor eax, eax
jmp 0x413256
xor esi, esi
jmp 0x41130c
mov dword [esp], ebx
call fcn.004020e0
cmp esi, eax
jb 0x41131f
mov al, 1
jmp 0x413256
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.004020f0
mov dword [esp + 0x30], eax
mov al, byte [esp + 0xd4]
mov byte [esp + 0x114], al
mov byte [esp + 0x26c], 0x4b
mov byte [esp + 0x26d], 0x3f
mov eax, 2
mov byte [esp + eax + 0x26c], 0
add eax, 1
cmp eax, 8
jne 0x411352
xor eax, eax
cmp eax, 8
jae 0x411397
movzx edx, byte [esp + eax + 0x26c]
mov edi, eax
add edi, 0x35
mov ecx, edx
xor ecx, 0xffffffff
and edi, ecx
mov ecx, 0xca
sub ecx, eax
and ecx, edx
or ecx, edi
add cl, 0xf7
mov byte [esp + eax + 0x26c], cl
add eax, 1
jmp 0x411364
lea eax, [esp + 0x26c]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401fa0
cmp eax, 0
setne al
test al, 1
jne 0x4113c5
jmp 0x41151e
mov al, byte [esp + 0xd0]
mov byte [esp + 0x118], al
mov byte [esp + 0x50], 0xa2
mov byte [esp + 0x51], 0x95
mov byte [esp + 0x52], 0x76
mov eax, 3
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x4113e7
jmp 0x4113f6
xor eax, eax
cmp eax, 4
jae 0x411414
mov cl, byte [esp + eax + 0x50]
mov dl, al
add dl, 0x3e
xor dl, cl
add dl, 0xca
mov byte [esp + eax + 0x50], dl
add eax, 1
jmp 0x4113f8
lea eax, [esp + 0x50]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00401fa0
cmp eax, 0
setne al
jmp 0x411438
test al, 1
jne 0x411441
jmp 0x41151e
mov al, byte [esp + 0xcc]
mov byte [esp + 0x11c], al
mov byte [esp + 0x264], 5
mov byte [esp + 0x265], 0x99
mov eax, 2
mov byte [esp + eax + 0x264], 0
add eax, 1
cmp eax, 7
jne 0x411464
mov dword [esp + 0x48], ebx
xor eax, eax
cmp eax, 7
jae 0x4114ee
movzx ecx, byte [esp + eax + 0x264]
mov edx, eax
add edx, 0x2e3a8e66
mov edi, 0xd1c57199
sub edi, eax
and edi, 0xb0f9be68
mov ebx, edx
and ebx, 0x4f064197
or edi, ebx
xor edi, ecx
mov ebx, edi
xor ebx, 0x30f9be68
shl edi, 1
xor edi, 0x61f37cd1
sub ebx, edi
mov edi, edx
and edi, ebx
shl edi, 1
mov ebx, edi
xor ebx, edx
mov edx, 0x51c57199
sub edx, eax
and edi, edx
shl edi, 1
sub ebx, edi
add ebx, ecx
mov ecx, ebx
shl ecx, 1
and ecx, 2
xor ebx, 1
add ebx, ecx
add bl, 1
mov byte [esp + eax + 0x264], bl
add eax, 1
jmp 0x41147a
lea eax, [esp + 0x264]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00401fa0
sub eax, 1
mov al, 1
sbb al, 0xff
test al, 1
mov ebx, dword [esp + 0x48]
jne 0x411522
jmp 0x411527
jmp 0x411520
jmp 0x411522
jmp 0x413246
mov al, byte [esp + 0xc8]
mov byte [esp + 0x120], al
mov byte [esp + 0x54], 0x6d
mov byte [esp + 0x55], 0x99
mov eax, 2
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 4
jne 0x411544
xor eax, eax
cmp eax, 4
jae 0x411578
mov cl, byte [esp + eax + 0x54]
mov dl, al
add dl, 0xda
xor dl, cl
add dl, 0xbe
mov byte [esp + eax + 0x54], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x411553
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018c0
mov dword [esp + 0x2c0], eax
mov al, byte [esp + 0xc4]
mov byte [esp + 0x124], al
mov byte [esp + 0x4c], 0xba
mov byte [esp + 0x4d], 0xab
mov byte [esp + 0x4e], 0x26
mov eax, 3
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 4
jne 0x4115b5
xor eax, eax
cmp eax, 4
jae 0x4115f2
movzx edx, byte [esp + eax + 0x4c]
mov ecx, eax
add ecx, 0xf9
mov edi, 6
sub edi, eax
and edi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, edi
add cl, 0x23
mov byte [esp + eax + 0x4c], cl
add eax, 1
jmp 0x4115c4
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00401a00
fnstcw word [esp + 0x5a]
movzx eax, word [esp + 0x5a]
or eax, 0xc00
mov word [esp + 0x17e], ax
fldcw word [esp + 0x17e]
fistp dword [esp + 0x2cc]
fldcw word [esp + 0x5a]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x44], eax
mov al, byte [esp + 0xc0]
mov byte [esp + 0x128], al
mov byte [esp + 0x25c], 0x5d
mov byte [esp + 0x25d], 0x31
mov eax, 2
mov byte [esp + eax + 0x25c], 0
add eax, 1
cmp eax, 7
jne 0x41165c
xor eax, eax
cmp eax, 7
jae 0x4116b3
movzx edx, byte [esp + eax + 0x25c]
mov edi, eax
add edi, 0xb22b34b4
mov ecx, edx
xor ecx, 0xffffffff
and edi, ecx
mov ecx, 0x4b
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xf6
xor ecx, 0x7b
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x25c], cl
add eax, 1
jmp 0x41166e
lea eax, [esp + 0x25c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00401a00
fnstcw word [esp + 0x58]
movzx eax, word [esp + 0x58]
or eax, 0xc00
mov word [esp + 0x17c], ax
fldcw word [esp + 0x17c]
fistp dword [esp + 0x2c8]
fldcw word [esp + 0x58]
mov edi, dword [esp + 0x2c8]
lea eax, [esp + 0x424]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov eax, dword [esp + 0x2c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040b170
lea eax, [esp + 0x424]
lea ecx, [esp + 0x34]
lea edx, [esp + 0x258]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040b8e0
test al, 1
jne 0x411752
jmp 0x41174d
jmp 0x413246
cmp edi, 0
sete al
mov byte [esp + 0x43], al
test al, 1
jne 0x411765
jmp 0x4127ab
mov al, byte [esp + 0xbc]
mov byte [esp + 0x12c], al
mov byte [esp + 0x250], 0xd0
mov byte [esp + 0x251], 0x41
mov eax, 2
mov byte [esp + eax + 0x250], 0
add eax, 1
cmp eax, 5
jne 0x411788
xor eax, eax
cmp eax, 5
jae 0x4117cd
movzx edx, byte [esp + eax + 0x250]
mov ecx, 0xf
sub ecx, eax
and ecx, edx
mov edi, 0xf
sub edi, eax
or edi, edx
xor edi, 0xffffffff
or ecx, edi
add cl, 0x50
mov byte [esp + eax + 0x250], cl
add eax, 1
jmp 0x41179a
lea eax, [esp + 0x250]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018c0
cmp eax, 0
je 0x411922
mov dword [esp + 0x284], eax
mov dword [esp], eax
call fcn.00413270
mov ecx, eax
and ecx, 1
mov dword [esp + 0x244], eax
or eax, 1
add eax, ecx
mov ecx, 2
mov dword [esp + 0x27c], eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41182a
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov edi, eax
xor eax, eax
mov dword [esp], edi
mov eax, dword [esp + 0x27c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040b170
xor eax, eax
lea eax, [esp + 0xb8]
mov dword [esp], 0
mov dword [esp + 0x240], edi
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x244]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [0x44a4a8]
sub esp, 0x18
mov eax, dword [esp + 0xb8]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4118bc
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov edi, dword [0x44a4a8]
mov ecx, dword [esp + 0xb8]
xor edx, edx
mov dword [esp], 0
mov edx, dword [esp + 0x240]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x244]
mov dword [esp + 8], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [esp + 0xb8]
mov dword [esp + 0x14], eax
call edi
sub esp, 0x18
mov eax, dword [esp + 0x240]
mov dword [esp], eax
call fcn.004086c0
jmp 0x41191d
jmp 0x411ddb
call fcn.00408f80
and eax, 0xf
xor eax, 0xffffffff
sub eax, 0xffffffff
mov edi, 0x10
sub edi, eax
xor ebx, ebx
lea eax, [esp + 0x3e4]
jmp 0x411942
cmp ebx, edi
jb 0x411b14
mov word [eax], 0
mov al, byte [esp + 0xb4]
mov byte [esp + 0x130], al
mov byte [esp + 0x5c], 0xfd
mov byte [esp + 0x5d], 0x91
mov byte [esp + 0x5e], 0x2e
mov byte [esp + 0x5f], 0x93
mov byte [esp + 0x60], 0xd1
mov byte [esp + 0x61], 0x9d
mov byte [esp + 0x62], 0x2b
mov byte [esp + 0x63], 0x9f
mov byte [esp + 0x64], 0x28
mov byte [esp + 0x65], 0x99
mov byte [esp + 0x66], 0xf7
mov byte [esp + 0x67], 0x9b
mov byte [esp + 0x68], 0x20
mov byte [esp + 0x69], 0x85
mov byte [esp + 0x6a], 0x86
mov byte [esp + 0x6b], 0x87
xor eax, eax
cmp eax, 0x10
jae 0x411a10
movzx edx, byte [esp + eax + 0x5c]
mov dword [esp + 0x274], edx
mov ecx, eax
add ecx, 0xfd77f824
mov edi, ecx
and edi, edx
mov edx, edi
and edx, 0xfd
mov ebx, edi
and ebx, 2
xor ebx, 2
imul ebx, edx
mov edx, edi
and edx, 2
or edi, 2
imul edi, edx
add edi, ebx
add ecx, dword [esp + 0x274]
sub ecx, edi
add cl, 0x4c
mov byte [esp + eax + 0x5c], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
or eax, ecx
xor eax, 1
add eax, edx
jmp 0x4119af
lea eax, [esp + 0x384]
lea ecx, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a400
lea ecx, [esp + 0x3e4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a400
lea ecx, [esp + 0x384]
sub eax, ecx
sar eax, 1
xor ecx, ecx
lea edx, [esp + 0x384]
lea ecx, [esp + 0xb0]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 0x28c], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
call dword [0x44a4a8]
sub esp, 0x18
mov eax, dword [esp + 0xb0]
add eax, 0xa4b23f4
add eax, 4
sub eax, 0xa4b23f4
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411ab2
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov ebx, dword [0x44a4a8]
mov ecx, dword [esp + 0xb0]
xor edx, edx
lea edx, [esp + 0x384]
lea edi, [esp + 0xb0]
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28c]
mov dword [esp + 8], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call ebx
sub esp, 0x18
mov eax, dword [esp + 0x44]
cmp eax, 0
mov ebx, dword [esp + 0x48]
je 0x411b5a
jmp 0x411c31
mov dword [esp + 0x280], eax
call fcn.00408f80
mov ecx, 0x24
cdq
idiv ecx
jmp 0x411b2a
lea eax, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
add eax, edx
jmp 0x411b34
movsx ecx, byte [eax]
mov edx, dword [esp + 0x280]
mov eax, edx
add eax, 2
mov word [edx], cx
sub ebx, 0xdadddb65
add ebx, 1
add ebx, 0xdadddb65
jmp 0x411942
mov al, byte [esp + 0xac]
mov byte [esp + 0x134], al
mov byte [esp + 0x230], 0x66
mov byte [esp + 0x231], 0x31
mov byte [esp + 0x232], 0xaf
mov byte [esp + 0x233], 0x33
mov byte [esp + 0x234], 0xa4
mov byte [esp + 0x235], 0x2d
mov byte [esp + 0x236], 0xb3
mov byte [esp + 0x237], 0x2f
mov byte [esp + 0x238], 0x28
mov byte [esp + 0x239], 0x29
mov eax, 0xa
mov byte [esp + eax + 0x230], 0
add eax, 1
cmp eax, 0xd
jne 0x411bbd
xor eax, eax
cmp eax, 0xd
jae 0x411c13
movzx edx, byte [esp + eax + 0x230]
mov ecx, eax
add ecx, 0xed7e10c
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x86
mov edi, ecx
shl edi, 1
and edi, 0x86
add ecx, 0xc3
sub ecx, edi
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x230], cl
add eax, 1
jmp 0x411bcf
lea eax, [esp + 0x230]
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413650
jmp 0x411c2c
jmp 0x411ddb
cmp eax, 1
sete al
test al, 1
jne 0x411c40
jmp 0x411d0d
mov al, byte [esp + 0xa8]
mov byte [esp + 0x138], al
mov byte [esp + 0x6c], 0xd2
mov byte [esp + 0x6d], 0x27
mov byte [esp + 0x6e], 0x9a
mov byte [esp + 0x6f], 0x21
mov byte [esp + 0x70], 0x94
mov byte [esp + 0x71], 0x23
mov byte [esp + 0x72], 0x96
mov byte [esp + 0x73], 0x3d
mov byte [esp + 0x74], 0x3c
mov byte [esp + 0x75], 0x3f
mov eax, 0xa
mov byte [esp + eax + 0x6c], 0
add eax, 1
cmp eax, 0xc
jne 0x411c85
xor eax, eax
cmp eax, 0xc
jae 0x411cf0
movzx edx, byte [esp + eax + 0x6c]
mov ecx, eax
shl ecx, 1
and ecx, 0x1a8dbc92
mov edi, eax
or edi, 0x72b921b6
mov ebx, eax
xor ebx, 0xffffffff
or ebx, 0x8d46de49
and ebx, edi
xor ebx, 0xffffffff
add ecx, ebx
xor ecx, edx
mov edx, 1
sub edx, ecx
mov edi, 1
sub edi, ecx
and edx, edi
shl edx, 1
xor ecx, 1
add ecx, 0x92
and edx, 2
xor edx, 2
add edx, ecx
mov byte [esp + eax + 0x6c], dl
add eax, 1
jmp 0x411c94
lea eax, [esp + 0x6c]
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413650
mov ebx, dword [esp + 0x48]
jmp 0x411ddb
cmp dword [esp + 0x44], 2
jne 0x411ddb
mov al, byte [esp + 0xa4]
mov byte [esp + 0x13c], al
mov byte [esp + 0x220], 0x3a
mov byte [esp + 0x221], 0x49
mov byte [esp + 0x222], 0xe6
mov byte [esp + 0x223], 0x57
mov byte [esp + 0x224], 0xeb
mov byte [esp + 0x225], 0x55
mov byte [esp + 0x226], 0x23
mov byte [esp + 0x227], 0x53
mov byte [esp + 0x228], 0x50
mov byte [esp + 0x229], 0x51
mov eax, 0xa
mov byte [esp + eax + 0x220], 0
add eax, 1
cmp eax, 0xf
jne 0x411d7b
xor eax, eax
cmp eax, 0xf
jae 0x411dc2
mov cl, byte [esp + eax + 0x220]
mov dl, al
add dl, 0x6e
xor dl, cl
add dl, 0xda
mov byte [esp + eax + 0x220], dl
add eax, 0x9a01e4b9
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
add eax, 0x65fe1b47
jmp 0x411d8d
lea eax, [esp + 0x220]
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413650
jmp 0x411ddb
lea eax, [esp + 0x24c]
xor ecx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call fcn.0043d230
mov edi, eax
cmp edi, 0
jl 0x411f83
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24c]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0043daa0
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x2b4], ecx
mov cl, byte [esp + 0x108]
mov byte [esp + 0x168], cl
mov byte [esp + 0x10c], 0x45
mov byte [esp + 0x10d], 0x5a
mov byte [esp + 0x10e], 0x5b
mov byte [esp + 0x10f], 0x58
mov ecx, 4
mov byte [esp + ecx + 0x10c], 0
add ecx, 1
cmp ecx, 7
jne 0x411e94
mov dword [esp + 0x2bc], eax
xor eax, eax
cmp eax, 7
jae 0x411ef8
movzx edx, byte [esp + eax + 0x10c]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x10c], cl
add eax, 1
jmp 0x411ead
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x2a0], eax
xor edx, edx
mov edi, dword [esp + 0x2bc]
cmp edx, dword [0x44a4ac]
jb 0x411f19
jmp 0x411f83
mov eax, dword [0x44a4b0]
cmp dword [eax + edx*8], 0xb62b8d10
sete cl
mov byte [esp + 0x3f], cl
test cl, 1
jne 0x411f33
jmp 0x411f75
mov eax, dword [eax + edx*8 + 4]
cmp eax, dword [esp + 0x2a0]
je 0x411f75
mov ecx, dword [0x44a4b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x288], edx
call fcn.00439880
mov edx, dword [esp + 0x288]
jmp 0x411f75
test byte [esp + 0x3f], 1
je 0x411f7e
jmp 0x411f83
add edx, 1
jmp 0x411f0f
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00436c60
mov dword [esp + 0x34], 0
cmp edi, 0
setge al
test al, 1
jne 0x411faf
jmp 0x411fa3
xor edi, edi
mov eax, 4
jmp 0x41279d
mov eax, dword [esp + 0x44]
cmp eax, 1
jne 0x4123e1
mov al, byte [esp + 0xa0]
mov byte [esp + 0x140], al
mov byte [esp + 0x218], 0x4e
mov byte [esp + 0x219], 0xb9
mov byte [esp + 0x21a], 0x2a
mov eax, 3
mov byte [esp + eax + 0x218], 0
add eax, 1
cmp eax, 7
jne 0x411fe7
xor eax, eax
cmp eax, 7
jae 0x412096
movzx ecx, byte [esp + eax + 0x218]
mov dword [esp + 0x278], ecx
mov edi, eax
and edi, 0xd19f88b5
mov ebx, eax
and ebx, 0xd19f88b5
mov edx, eax
and edx, 2
xor edx, 2
imul edx, ebx
mov ebx, eax
and ebx, 2
or edi, 2
imul edi, ebx
add edi, edx
mov edx, eax
xor edx, 0xd19f88b7
add edx, edi
mov edi, edx
and edi, ecx
mov ecx, edi
and ecx, 0xfd
mov ebx, edi
and ebx, 2
xor ebx, 2
imul ebx, ecx
mov ecx, edi
and ecx, 2
or edi, 2
imul edi, ecx
add edi, ebx
mov ebx, dword [esp + 0x48]
add edx, dword [esp + 0x278]
mov ecx, edx
add ecx, 0x72
sub ecx, edi
and edx, 1
or ecx, 1
add ecx, 0xfa
add ecx, edx
mov byte [esp + eax + 0x218], cl
add eax, 1
jmp 0x411ff9
lea eax, [esp + 0x218]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018c0
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x9c]
mov byte [esp + 0x144], al
mov byte [esp + 0x210], 0x73
mov byte [esp + 0x211], 0x85
mov byte [esp + 0x212], 0xa
mov eax, 3
mov byte [esp + eax + 0x210], 0
add eax, 1
cmp eax, 8
jne 0x4120df
xor eax, eax
cmp eax, 8
jae 0x412124
movzx edx, byte [esp + eax + 0x210]
mov ecx, eax
add ecx, 3
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov edi, 0xfc
sub edi, eax
and edi, edx
or ecx, edi
add cl, 0xf1
mov byte [esp + eax + 0x210], cl
add eax, 1
jmp 0x4120f1
lea eax, [esp + 0x210]
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018c0
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004136a0
mov edi, eax
cmp dword [esp + 0x80], 0
setne al
mov dword [esp + 0x78], 0
mov byte [esp + 0x41], al
test al, 1
jne 0x41216a
jmp 0x412180
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004088d0
add eax, 1
mov dword [esp + 0x78], eax
cmp dword [esp + 0x7c], 0
setne cl
xor eax, eax
mov byte [esp + 0x42], cl
test cl, 1
jne 0x412195
jmp 0x4121a6
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004088d0
add eax, 1
jmp 0x4121a6
add edi, 9
mov ecx, edi
mov edi, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, dword [esp + 0x78]
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor edx, edx
sub edx, ecx
xor eax, eax
mov dword [esp + 0x2c4], edi
sub eax, edi
add edx, eax
xor eax, eax
sub eax, edx
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4121f4
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov edi, eax
mov cl, byte [esp + 0x98]
mov byte [esp + 0x148], cl
mov byte [esp + 0x1f8], 0x96
mov byte [esp + 0x1f9], 0x19
mov byte [esp + 0x1fa], 0x9b
mov byte [esp + 0x1fb], 0x17
mov byte [esp + 0x1fc], 0x86
mov byte [esp + 0x1fd], 0x15
mov byte [esp + 0x1fe], 0x8e
mov byte [esp + 0x1ff], 0x13
mov byte [esp + 0x200], 0x84
mov byte [esp + 0x201], 0x11
mov byte [esp + 0x202], 0x9a
mov byte [esp + 0x203], 0xf
mov byte [esp + 0x204], 0xc3
mov byte [esp + 0x205], 0xd
mov byte [esp + 0x206], 0xc4
mov byte [esp + 0x207], 0xb
mov byte [esp + 0x208], 8
mov byte [esp + 0x209], 9
mov ecx, 0x12
mov byte [esp + ecx + 0x1f8], 0
add ecx, 1
cmp ecx, 0x18
jne 0x4122a1
xor eax, eax
mov dword [esp + 0x2c], edi
cmp eax, 0x18
jae 0x4122ff
movzx edx, byte [esp + eax + 0x1f8]
mov edi, eax
shl edi, 1
and edi, 0xba5f878c
mov ecx, eax
xor ecx, 0xdd2fc3c6
add ecx, edi
mov edi, dword [esp + 0x2c]
xor ecx, edx
add ecx, 0x1fb21ea3
mov edx, ecx
shl edx, 1
and edx, 0x42
xor ecx, 0x21
add ecx, edx
add cl, 0x5e
mov byte [esp + eax + 0x1f8], cl
add eax, 1
jmp 0x4122b7
lea ecx, [esp + 0x1f8]
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0040a400
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov dword [esp], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0040a400
mov edi, eax
add edi, 2
mov word [eax], 0x22
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004086c0
mov al, byte [esp + 0x41]
jmp 0x412351
jmp 0x412353
test al, 1
jne 0x412359
jmp 0x412394
mov ebx, edi
add ebx, 2
mov word [edi], 0x2c
xor eax, eax
mov dword [esp], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040b170
shl eax, 1
mov edi, ebx
add edi, eax
mov ebx, dword [esp + 0x48]
jmp 0x412394
test byte [esp + 0x42], 1
jne 0x41239d
jmp 0x4123ce
mov eax, edi
add eax, 2
mov word [edi], 0x2c
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040b170
jmp 0x4123ce
mov dword [esp + 0x28], 0
xor eax, eax
mov edi, dword [esp + 0x2c]
jmp 0x412795
xor edi, edi
cmp eax, 2
je 0x4123ed
jmp 0x412795
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004136a0
add eax, 0x1d
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412415
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov edi, eax
mov al, byte [esp + 0x8c]
mov byte [esp + 0x14c], al
mov byte [esp + 0x90], 0xc2
mov byte [esp + 0x91], 0x21
mov byte [esp + 0x92], 0x22
mov byte [esp + 0x93], 0x23
mov eax, 4
mov byte [esp + eax + 0x90], 0
add eax, 1
cmp eax, 7
jne 0x412452
xor eax, eax
mov dword [esp + 0x2c], edi
cmp eax, 7
jae 0x4124e3
movzx edx, byte [esp + eax + 0x90]
mov edi, eax
shl edi, 1
and edi, 0x564fef90
mov ecx, eax
xor ecx, 0x2b27f7c8
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
add ecx, 0x28382917
mov edi, ecx
xor edi, 0xfffffffe
mov edx, ecx
or edx, 1
and edx, edi
mov ebx, edx
and ebx, 0xfd
mov edi, edx
and edi, 2
xor edi, 2
imul edi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
mov edi, dword [esp + 0x2c]
xor ecx, 1
add ecx, edx
mov byte [esp + eax + 0x90], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x412468
mov al, byte [esp + 0x88]
mov byte [esp + 0x150], al
mov byte [esp + 0x180], 0xec
mov byte [esp + 0x181], 0x7b
mov byte [esp + 0x182], 0xeb
mov byte [esp + 0x183], 0x79
mov byte [esp + 0x184], 0xe1
mov byte [esp + 0x185], 0x67
mov byte [esp + 0x186], 0xd
mov byte [esp + 0x187], 0x65
mov byte [esp + 0x188], 0xfa
mov byte [esp + 0x189], 0x63
mov byte [esp + 0x18a], 0xff
mov byte [esp + 0x18b], 0x61
mov byte [esp + 0x18c], 8
mov byte [esp + 0x18d], 0x6f
mov byte [esp + 0x18e], 5
mov byte [esp + 0x18f], 0x6d
mov byte [esp + 0x190], 0xf8
mov byte [esp + 0x191], 0x6b
mov byte [esp + 0x192], 0xfe
mov byte [esp + 0x193], 0x69
mov byte [esp + 0x194], 0x48
mov byte [esp + 0x195], 0x97
mov byte [esp + 0x196], 0xc5
mov byte [esp + 0x197], 0x95
mov byte [esp + 0x198], 0xff
mov byte [esp + 0x199], 0x93
mov byte [esp + 0x19a], 0xa
mov byte [esp + 0x19b], 0x91
mov byte [esp + 0x19c], 0xfb
mov byte [esp + 0x19d], 0x9f
mov byte [esp + 0x19e], 0xf3
mov byte [esp + 0x19f], 0x9d
mov byte [esp + 0x1a0], 0xbc
mov byte [esp + 0x1a1], 0x9b
mov byte [esp + 0x1a2], 0xf4
mov byte [esp + 0x1a3], 0x99
mov byte [esp + 0x1a4], 0x1f
mov byte [esp + 0x1a5], 0x87
mov byte [esp + 0x1a6], 0x16
mov byte [esp + 0x1a7], 0x85
mov byte [esp + 0x1a8], 0xeb
mov byte [esp + 0x1a9], 0x83
mov byte [esp + 0x1aa], 0x1f
mov byte [esp + 0x1ab], 0x81
mov byte [esp + 0x1ac], 0x1d
mov byte [esp + 0x1ad], 0x8f
mov byte [esp + 0x1ae], 0xae
mov byte [esp + 0x1af], 0x8d
mov byte [esp + 0x1b0], 0xdf
mov byte [esp + 0x1b1], 0x8b
mov byte [esp + 0x1b2], 0xe0
mov byte [esp + 0x1b3], 0x89
mov byte [esp + 0x1b4], 0xa8
mov byte [esp + 0x1b5], 0xb7
mov byte [esp + 0x1b6], 0x98
mov byte [esp + 0x1b7], 0xb5
mov byte [esp + 0x1b8], 0xb4
mov byte [esp + 0x1b9], 0xb3
mov eax, 0x3a
mov byte [esp + eax + 0x180], 0
add eax, 1
cmp eax, 0x3e
jne 0x4126c6
xor eax, eax
cmp eax, 0x3e
jae 0x412754
movzx edx, byte [esp + eax + 0x180]
mov ecx, edx
and ecx, 0xfe
xor ecx, 0xfe
mov edi, edx
and edi, 0xfe
xor edi, 0xfe
or ecx, edi
mov edi, edx
add edi, 1
xor edx, 0xffffffff
or edx, 1
add edx, edi
mov edi, 0x94
sub edi, eax
and edi, 0xfe
mov ebx, eax
and ebx, 1
or ecx, edx
or ebx, edi
mov edi, dword [esp + 0x2c]
xor ebx, ecx
xor bl, 1
add bl, 0xe9
mov byte [esp + eax + 0x180], bl
mov ecx, eax
add ecx, 1
mov edx, eax
xor edx, 0xffffffff
or edx, 1
add edx, ecx
xor eax, 0xffffffff
or eax, 1
sub edx, eax
mov eax, edx
jmp 0x4126d8
lea eax, [esp + 0x180]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040a400
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.0040a400
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a400
mov ebx, dword [esp + 0x48]
mov eax, 2
jmp 0x412795
mov dword [esp + 0x44], eax
xor eax, eax
jmp 0x41279d
cmp eax, 0
je 0x412a73
jmp 0x413246
cmp edi, 1
sete al
cmp dword [esp + 0x44], 2
sete cl
and al, cl
jmp 0x4127bd
xor edi, edi
test al, 1
jne 0x4127d0
mov dword [esp + 0x28], 0
jmp 0x412a73
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00413270
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4127f9
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov edx, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x2b8], eax
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0040b170
mov eax, dword [esp + 0x258]
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffe8
xor eax, eax
sub eax, ecx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412854
mov ecx, eax
mov dword [esp], ecx
call fcn.004086b0
mov cl, byte [esp + 0x84]
mov byte [esp + 0x154], cl
mov byte [esp + 0x1c0], 0x50
mov byte [esp + 0x1c1], 0xc1
mov byte [esp + 0x1c2], 0x6d
mov byte [esp + 0x1c3], 0xc3
mov byte [esp + 0x1c4], 0x53
mov byte [esp + 0x1c5], 0xc5
mov byte [esp + 0x1c6], 0x63
mov byte [esp + 0x1c7], 0xc7
mov byte [esp + 0x1c8], 0x5a
mov byte [esp + 0x1c9], 0xc9
mov byte [esp + 0x1ca], 0x59
mov byte [esp + 0x1cb], 0xcb
mov byte [esp + 0x1cc], 0x64
mov byte [esp + 0x1cd], 0xcd
mov byte [esp + 0x1ce], 0x6b
mov byte [esp + 0x1cf], 0xcf
mov byte [esp + 0x1d0], 0x1c
mov byte [esp + 0x1d1], 0xb1
mov byte [esp + 0x1d2], 0x1e
mov byte [esp + 0x1d3], 0xb3
mov byte [esp + 0x1d4], 0x54
mov byte [esp + 0x1d5], 0xb5
mov byte [esp + 0x1d6], 0x5b
mov byte [esp + 0x1d7], 0xb7
mov byte [esp + 0x1d8], 0x1d
mov byte [esp + 0x1d9], 0xb9
mov byte [esp + 0x1da], 0x22
mov byte [esp + 0x1db], 0xbb
mov byte [esp + 0x1dc], 0x19
mov byte [esp + 0x1dd], 0xbd
mov byte [esp + 0x1de], 0x1d
mov byte [esp + 0x1df], 0xbf
mov byte [esp + 0x1e0], 0x40
mov byte [esp + 0x1e1], 0xa1
mov byte [esp + 0x1e2], 0
mov byte [esp + 0x1e3], 0xa3
mov byte [esp + 0x1e4], 0x3d
mov byte [esp + 0x1e5], 0xa5
mov byte [esp + 0x1e6], 0x36
mov byte [esp + 0x1e7], 0xa7
mov byte [esp + 0x1e8], 9
mov byte [esp + 0x1e9], 0xa9
mov byte [esp + 0x1ea], 0x39
mov byte [esp + 0x1eb], 0xab
mov byte [esp + 0x1ec], 0x3f
mov byte [esp + 0x1ed], 0xad
mov byte [esp + 0x1ee], 0x4e
mov byte [esp + 0x1ef], 0xaf
mov byte [esp + 0x1f0], 0x90
mov byte [esp + 0x1f1], 0x91
mov ecx, 0x32
mov byte [esp + ecx + 0x1c0], 0
add ecx, 1
cmp ecx, 0x38
jne 0x4129ff
xor ecx, ecx
cmp ecx, 0x38
jae 0x412a33
mov dh, byte [esp + ecx + 0x1c0]
mov dl, cl
add dl, 0x30
xor dl, dh
add dl, 0x10
mov byte [esp + ecx + 0x1c0], dl
add ecx, 1
jmp 0x412a11
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x2c], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040a400
mov dword [esp], eax
mov edi, dword [esp + 0x2b8]
mov dword [esp + 4], edi
call fcn.0040a400
mov dword [esp], edi
call fcn.004086c0
mov dword [esp + 0x28], 0
mov edi, dword [esp + 0x2c]
jmp 0x412a73
mov ecx, dword [esp + 0x44]
test ecx, ecx
mov dword [esp + 0x2c], edi
je 0x412a9c
jmp 0x412a81
mov eax, ecx
sub eax, 1
je 0x412c6e
jmp 0x412a8e
sub ecx, 2
je 0x412f3b
jmp 0x41320d
test byte [esp + 0x43], 1
jne 0x412aa8
jmp 0x412c6e
call fcn.004136c0
lea edi, [esp + 0x340]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x340], 0x44
mov eax, dword [0x44a4a0]
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.0043ca10
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x340]
lea edx, [esp + 0x2ec]
mov edi, dword [esp + 0x28]
mov dword [esp], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
setne al
test al, 1
jne 0x412b4d
jmp 0x412c69
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x2a8], eax
mov al, byte [esp + 0xfc]
mov byte [esp + 0x16c], al
mov byte [esp + 0x100], 0x45
mov byte [esp + 0x101], 0x5a
mov byte [esp + 0x102], 0x5b
mov byte [esp + 0x103], 0x58
mov eax, 4
mov byte [esp + eax + 0x100], 0
add eax, 1
cmp eax, 7
jne 0x412b8e
xor eax, eax
cmp eax, 7
jae 0x412beb
movzx edx, byte [esp + eax + 0x100]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x100], cl
add eax, 1
jmp 0x412ba0
mov ecx, dword [esp + 0x100]
xor edi, edi
cmp edi, dword [0x44a4ac]
jb 0x412bfe
jmp 0x412c65
mov eax, dword [0x44a4b0]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x412c14
jmp 0x412c59
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x412c59
mov dword [esp + 0x290], ecx
mov ecx, dword [0x44a4b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0xc], eax
mov byte [esp + 0x3b], dl
call fcn.00439880
mov dl, byte [esp + 0x3b]
mov ecx, dword [esp + 0x290]
jmp 0x412c59
test dl, 1
je 0x412c60
jmp 0x412c65
add edi, 1
jmp 0x412bf4
mov edi, dword [esp + 0x2c]
jmp 0x41320d
call fcn.004136c0
mov edi, dword [0x44a4a0]
call fcn.004136c0
call fcn.004136c0
mov dword [esp], edi
mov dword [esp + 4], 0xe117db1e
call fcn.0043ca10
test eax, eax
setne cl
mov ecx, dword [esp + 0x34]
xor edx, edx
lea edx, [0x41ef60]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call eax
sub esp, 0x18
cmp eax, 0
setne cl
test cl, 1
mov edi, dword [esp + 0x2c]
jne 0x412ce4
jmp 0x412f36
mov dword [esp + 0x248], eax
call fcn.004136c0
mov dword [esp + 0x2d4], 0xffffffff
mov dword [esp + 0x2d0], 0xdc3cba00
mov al, byte [esp + 0x158]
mov byte [esp + 0x164], al
mov byte [esp + 0x15c], 0x45
mov byte [esp + 0x15d], 0x5a
mov byte [esp + 0x15e], 0x5b
mov byte [esp + 0x15f], 0x58
mov eax, 4
mov byte [esp + eax + 0x15c], 0
add eax, 1
cmp eax, 7
jne 0x412d39
xor eax, eax
cmp eax, 7
jae 0x412d96
movzx edx, byte [esp + eax + 0x15c]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x15c], cl
add eax, 1
jmp 0x412d4b
mov ecx, dword [esp + 0x15c]
xor edi, edi
cmp edi, dword [0x44a4ac]
jb 0x412da9
jmp 0x412e26
mov eax, dword [0x44a4b0]
cmp dword [eax + edi*8], 0x4e66b5a3
sete dl
test dl, 1
jne 0x412dbf
jmp 0x412e17
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x412e17
mov dword [esp + 0x2a4], ecx
mov ecx, dword [0x44a4b4]
mov byte [esp + 0x40], dl
xor edx, edx
lea edx, [esp + 0x2d0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov eax, dword [esp + 0x248]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.00439880
mov dl, byte [esp + 0x40]
mov ecx, dword [esp + 0x2a4]
test dl, 1
je 0x412e1e
jmp 0x412e26
add edi, 1
jmp 0x412d9f
mov al, byte [esp + 0xf0]
mov byte [esp + 0x170], al
mov byte [esp + 0xf4], 0x45
mov byte [esp + 0xf5], 0x5a
mov byte [esp + 0xf6], 0x5b
mov byte [esp + 0xf7], 0x58
mov eax, 4
mov byte [esp + eax + 0xf4], 0
add eax, 1
cmp eax, 7
jne 0x412e59
xor eax, eax
cmp eax, 7
jae 0x412eb6
movzx edx, byte [esp + eax + 0xf4]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0xf4], cl
add eax, 1
jmp 0x412e6b
mov ecx, dword [esp + 0xf4]
xor edi, edi
cmp edi, dword [0x44a4ac]
jb 0x412ec9
jmp 0x412f30
mov eax, dword [0x44a4b0]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x412edf
jmp 0x412f24
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x412f24
mov dword [esp + 0x294], ecx
mov ecx, dword [0x44a4b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x248]
mov dword [esp + 0xc], eax
mov byte [esp + 0x3c], dl
call fcn.00439880
mov dl, byte [esp + 0x3c]
mov ecx, dword [esp + 0x294]
jmp 0x412f24
test dl, 1
je 0x412f2b
jmp 0x412f30
add edi, 1
jmp 0x412ebf
mov edi, dword [esp + 0x2c]
jmp 0x412f36
jmp 0x41320d
lea edi, [esp + 0x2fc]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x2fc], 0x44
mov eax, dword [0x44a4a0]
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.0043ca10
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x2fc]
lea edx, [esp + 0x2dc]
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
je 0x41320b
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x2b0], eax
mov al, byte [esp + 0xe4]
mov byte [esp + 0x174], al
mov byte [esp + 0xe8], 0x45
mov byte [esp + 0xe9], 0x5a
mov byte [esp + 0xea], 0x5b
mov byte [esp + 0xeb], 0x58
mov eax, 4
mov byte [esp + eax + 0xe8], 0
add eax, 1
cmp eax, 7
jne 0x413016
xor eax, eax
cmp eax, 7
jae 0x413073
movzx edx, byte [esp + eax + 0xe8]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0xe8], cl
add eax, 1
jmp 0x413028
mov ecx, dword [esp + 0xe8]
xor edi, edi
cmp edi, dword [0x44a4ac]
jb 0x413086
jmp 0x4130ed
mov eax, dword [0x44a4b0]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x41309c
jmp 0x4130e1
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4130e1
mov dword [esp + 0x29c], ecx
mov ecx, dword [0x44a4b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0xc], eax
mov byte [esp + 0x3e], dl
call fcn.00439880
mov dl, byte [esp + 0x3e]
mov ecx, dword [esp + 0x29c]
jmp 0x4130e1
test dl, 1
je 0x4130e8
jmp 0x4130ed
add edi, 1
jmp 0x41307c
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2ac], eax
mov al, byte [esp + 0xd8]
mov byte [esp + 0x178], al
mov byte [esp + 0xdc], 0x45
mov byte [esp + 0xdd], 0x5a
mov byte [esp + 0xde], 0x5b
mov byte [esp + 0xdf], 0x58
mov eax, 4
mov byte [esp + eax + 0xdc], 0
add eax, 1
cmp eax, 7
jne 0x41312e
xor eax, eax
cmp eax, 7
jae 0x41318b
movzx edx, byte [esp + eax + 0xdc]
mov ecx, 0xa0911310
sub ecx, eax
mov edi, 0xa0911310
sub edi, eax
and edi, ecx
or edi, edx
xor edi, 0xffffffff
mov ecx, 0x10
sub ecx, eax
and ecx, edx
or ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xa8
xor ecx, 0x54
add ecx, edx
add cl, 1
mov byte [esp + eax + 0xdc], cl
add eax, 1
jmp 0x413140
mov ecx, dword [esp + 0xdc]
xor edi, edi
cmp edi, dword [0x44a4ac]
jb 0x41319e
jmp 0x413205
mov eax, dword [0x44a4b0]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x4131b4
jmp 0x4131f9
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4131f9
mov dword [esp + 0x298], ecx
mov ecx, dword [0x44a4b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0xc], eax
mov byte [esp + 0x3d], dl
call fcn.00439880
mov dl, byte [esp + 0x3d]
mov ecx, dword [esp + 0x298]
jmp 0x4131f9
test dl, 1
je 0x413200
jmp 0x413205
add edi, 1
jmp 0x413194
mov edi, dword [esp + 0x2c]
jmp 0x41320b
jmp 0x41320d
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00436c60
cmp dword [esp + 0x28], 0
sete al
test al, 1
jne 0x413237
jmp 0x413227
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004086c0
jmp 0x413235
jmp 0x413237
cmp edi, 0
je 0x413244
mov dword [esp], edi
call fcn.004086c0
jmp 0x413246
xor eax, eax
sub eax, esi
add eax, 0xffffffff
xor esi, esi
sub esi, eax
jmp 0x41130c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret