Function at 0x412888
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x108
push eax
sub esp, 0xc
mov ebx, esp
sub esp, 0x200
mov dword [ebp - 0x30], esp
sub esp, 0x30
mov dword [ebp - 0x24], esp
sub esp, 8
mov dword [ebp - 0x28], esp
push eax
mov edi, esp
mov eax, dword [str.p_u_u]
mov dword [ebp - 0x114], 0x59ab5b97
mov dword [ebp - 0x110], 0x5da15fd6
mov dword [ebp - 0x10c], 0x51ae53a0
mov dword [ebp - 0x108], 0x556757b7
mov dword [ebp - 0x104], 0x69586b9f
mov dword [ebp - 0x100], 0x6d4e6f58
mov dword [ebp - 0xfc], 0x618b6354
mov dword [ebp - 0xf8], 0x6594679f
mov dword [ebp - 0xf4], 0x798b7b80
mov dword [ebp - 0xf0], 0x7d8b7ff1
mov dword [ebp - 0xec], 0x71a0735c
mov dword [ebp - 0xe8], 0x755677a4
mov dword [ebp - 0xe4], 0x93a0b43
mov dword [ebp - 0xe0], 0xd3e0f3a
mov dword [ebp - 0xdc], 0x12203c1
mov dword [ebp - 0xd8], 0x5f907e9
mov dword [ebp - 0xd4], 0x19d01bf6
mov dword [ebp - 0xd0], 0x1dd31f2c
mov dword [ebp - 0xcc], 0x119a133c
mov dword [ebp - 0xc8], 0x152217da
mov dword [ebp - 0xc4], 0x290a2b2b
mov dword [ebp - 0xc0], 0x2dde2fef
mov dword [ebp - 0xbc], 0x21de23dc
mov dword [ebp - 0xb8], 0x25cf27db
mov dword [ebp - 0xb4], 0x39dc3bdf
mov dword [ebp - 0xb0], 0x3dc13fe5
mov dword [ebp - 0xac], 0x310333c8
mov dword [ebp - 0xa8], 0x350337fb
mov dword [ebp - 0xa4], 0xc9f8cbfd
mov dword [ebp - 0xa0], 0xcd04cffd
mov dword [ebp - 0x9c], 0xc1fac3ec
mov dword [ebp - 0x98], 0xc51ec71d
mov dword [ebp - 0x94], 0xd909db10
mov dword [ebp - 0x90], 0xdde2df04
mov dword [ebp - 0x8c], 0xd12ed3fc
mov dword [ebp - 0x88], 0xd52bd72f
mov dword [ebp - 0x84], 0xe9caeb2f
mov dword [ebp - 0x80], 0xed15ef31
mov dword [ebp - 0x7c], 0xe11fe309
mov dword [ebp - 0x78], 0xe5d9e711
mov dword [ebp - 0x74], 0xf93ffbc4
mov dword [ebp - 0x70], 0xfd08ff00
mov dword [ebp - 0x6c], 0xf101f30d
mov dword [ebp - 0x68], 0xf5c7f70b
mov dword [ebp - 0x64], 0x89bd8bc3
mov dword [ebp - 0x60], 0x8dbc8f47
mov dword [ebp - 0x5c], 0x81b083bc
mov dword [ebp - 0x58], 0x85b487b0
mov dword [ebp - 0x54], 0x99ba9bb4
mov dword [ebp - 0x50], 0x9d799f4d
mov dword [ebp - 0x4c], 0x91759366
mov dword [ebp - 0x48], 0x95699766
mov dword [ebp - 0x44], 0xa961aba5
mov dword [ebp - 0x40], 0xad67af9d
mov dword [ebp - 0x3c], 0xa197a39e
mov dword [ebp - 0x38], 0xa5a6a76a
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xe0
ja 0x410d72
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x114]
mov esi, ecx
xor esi, 0xad5e128f
and ecx, 0x2d5e128f
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x35
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x114], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xe1
jb 0x410d30
lea ecx, [ebp - 0x114]
push 0
push 0
push 0
push 0
push ecx
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x44a080]
mov dword [ebp - 0x2c], edi
mov eax, dword [0x44f398]
mov dword [ebp - 0x14], 0xc9ca3489
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 3
ja 0x410e09
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x14]
mov edi, edx
xor edi, 0xffbf87b3
and edx, 0xffbf87b3
lea edx, [edi + edx*2]
lea edi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [edi + ecx*2]
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x114]
add cl, 0x81
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x14], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
jb 0x410dc0
movzx ecx, word [ebp - 0x14]
push 0
push ecx
push 0x44f3c8
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x18], 0
jmp dword [ecx*4 + 0x44a088]
mov dword [ebp - 0x20], eax
mov eax, dword [0x44f39c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x23a22120
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 3
ja 0x410e9e
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ebp + ecx - 0x14]
mov ecx, eax
xor ecx, 0xc169cf88
and eax, 0xc169cf88
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edx, eax
xor edx, ecx
add edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp - 0x114]
add al, 0x58
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x14], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 4
jb 0x410e50
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebx], 0x17651968
mov dword [ebx + 4], 0x137e157b
mov word [ebx + 8], 0x1110
mov dword [ebx + 0xa], 0
mov byte [ebx + 0xe], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xe
ja 0x410f23
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
mov ecx, eax
xor ecx, 0xf12e4c86
add eax, eax
and eax, 0xe25c990c
mov edi, eax
and edi, ecx
xor eax, ecx
lea eax, [eax + edi*2]
xor eax, edx
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
add al, 0x62
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
jb 0x410ee0
push dword [ebp - 0x1c]
push 0
push 0
push 0
push dword [ebp + 8]
push ebx
mov edi, dword [ebp - 0x20]
push edi
call dword [ebp - 0x18]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44a090]
mov dword [ebp - 0x18], 0
jmp dword [0x44a0d4]
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setg al
jmp dword [eax*4 + 0x44a098]
push ecx
push ecx
push ecx
push ecx
push ebx
call dword [0x44f3a4]
jmp dword [0x44a0ac]
mov dword [ebp - 0x1c], ebx
movzx eax, byte [0x44f4cc]
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp - 0x30]
jmp dword [eax*4 + 0x44a0b0]
mov edx, dword [ebp - 0x24]
mov dword [edx], 0x299b2b61
mov dword [edx + 4], 0x2d832f99
mov dword [edx + 8], 0x31993383
mov dword [edx + 0xc], 0x3556374e
mov dword [edx + 0x10], 0x399b3b95
mov dword [edx + 0x14], 0x3d943f9d
mov dword [edx + 0x18], 0x1b1039d
mov dword [edx + 0x1c], 0x5a707b9
mov dword [edx + 0x20], 0x9b50ba2
mov dword [edx + 0x24], 0xd4d0fb8
mov word [edx + 0x28], 0x130c
mov dword [edx + 0x2a], 0
mov byte [edx + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e
ja 0x41103e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0xe203d07
and eax, 0xe203d07
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x24]
xor eax, ecx
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
add al, 0xdd
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
jb 0x411000
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
mov edi, dword [ebp - 0x28]
je 0x411061
add edx, 2
mov eax, ebx
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411050
mov word [eax], 0
movzx ecx, word [0x44f4ce]
test cx, cx
je 0x411095
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44f4d0]
add edx, 2
test cx, cx
jne 0x411080
add eax, edx
mov word [eax], 0
mov eax, dword [0x44f3a8]
mov dword [edi], 0x2fcec9c8
mov byte [edi + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
ja 0x411100
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
mov edi, ecx
xor edi, 0x137206b2
and ecx, 0x137206b2
lea ecx, [edi + ecx*2]
mov edi, dword [ebp - 0x28]
xor ecx, edx
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x114]
add cl, 0x86
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
jb 0x4110c0
push dword [edi]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x1c]
call eax
mov edi, dword [ebp + 0x18]
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push dword [ebp + 0x1c]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
mov ebx, dword [ebp - 0x1c]
push ebx
call dword [0x44f3ac]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a0b8]
mov dword [ebp - 0x18], 0
jmp 0x411189
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
push eax
push dword [ebp + 0x1c]
push edi
push ebx
call dword [0x44f3bc]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x44a0c0]
push 0
push ebx
call dword [0x44f3b0]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x44a0c8]
mov al, 1
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x20]
push ebx
call dword [0x44f3c0]
jmp dword [0x44a0d4]
push edi
call dword [0x44f3c0]
push edi
call dword [0x44f3c0]
jmp dword [0x44a0dc]
jmp dword [0x44a0e0]
push esi
call dword [0x44f3c0]
push esi
call dword [0x44f3c0]
jmp dword [0x44a0e8]
mov eax, dword [ebp - 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
shr eax, 0x1f
jmp dword [eax*4 + 0x44a7f8]
push 0x44f368
call fcn.00439a40
add esp, 4
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esp + 0x128], 0x19d9adf6
mov dword [esp + 0x12c], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
cmp ecx, 7
ja 0x411440
nop
nop
nop
nop
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
movzx ecx, byte [esp + ecx + 0x128]
mov esi, edx
xor esi, 0x53433fb
mov edi, edx
xor edi, 0x7acbcc04
or edx, 0x53433fb
and edx, edi
lea edx, [esi + edx*2]
lea esi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [esi + ecx*2]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x228]
add cl, 0x19
mov edx, dword [esp + 0x28]
mov byte [esp + edx + 0x128], cl
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
cmp ecx, 8
jb 0x4113e0
mov ecx, dword [str.tLYMe5__3]
mov dword [esp + 0x228], 0xfecadadf
mov dword [esp + 0x22c], 0xced7d4c2
mov dword [esp + 0x230], 0x36d7d0c2
mov dword [esp + 0x234], 0x2e3f3e2f
mov dword [esp + 0x238], 0x37e82835
mov dword [esp + 0x23c], 0xf10d3127
mov dword [esp + 0x240], 0x25e0f7fa
mov dword [esp + 0x244], 0xdd153f23
mov word [esp + 0x248], 0
mov byte [esp + 0x24a], 0
mov dword [esp + 0xc0], 0
mov edx, dword [esp + 0xc0]
cmp edx, 0x22
ja 0x41151a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
movzx esi, byte [esp + esi + 0x228]
add edx, 0x726d8bf5
xor edx, esi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
add dl, 0x37
mov esi, dword [esp + 0xc0]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
cmp edx, 0x23
jb 0x4114d0
movzx ebx, byte [esp + 0x228]
lea edx, [esp + 0xc34]
test bl, bl
je 0x41154b
lea esi, [esp + 0x229]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x411540
mov byte [edx], 0
movzx ebx, byte [ecx]
test bl, bl
je 0x41156b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [ecx]
inc ecx
test bl, bl
jne 0x411560
mov byte [edx], 0
movzx ecx, byte [esp + 0x128]
test cl, cl
je 0x41159b
lea esi, [esp + 0x129]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x411590
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4115bb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4115b0
mov byte [edx], 0
mov esi, edx
not esi
lea eax, [esp + 0xc34]
mov ecx, eax
not ecx
and ecx, edx
mov dword [esp + 0x228], 0x51bf4f89
mov dword [esp + 0x22c], 0x55a653be
mov dword [esp + 0x230], 0x59b857b3
mov dword [esp + 0x234], 0x5d755bac
mov dword [esp + 0x238], 0x61a55f88
mov dword [esp + 0x23c], 0x65856390
mov dword [esp + 0x240], 0x6946675e
mov dword [esp + 0x244], 0x6d9a6b8b
mov dword [esp + 0x248], 0x71826f9c
mov dword [esp + 0x24c], 0x7597739b
mov dword [esp + 0x250], 0x79827797
mov dword [esp + 0x254], 0x7d8b7b93
mov dword [esp + 0x258], 0x14f7f92
mov dword [esp + 0x25c], 0x52d03f8
mov dword [esp + 0x260], 0x9ff07fd
mov dword [esp + 0x264], 0xd250bf1
mov dword [esp + 0x268], 0x11ff0fea
mov dword [esp + 0x26c], 0x15fd13e2
mov dword [esp + 0x270], 0x19e1173b
mov dword [esp + 0x274], 0x1df61bea
mov dword [esp + 0x278], 0x21f01ffb
mov dword [esp + 0x27c], 0x25d323c5
mov dword [esp + 0x280], 0x29c127c0
mov dword [esp + 0x284], 0x2d252bcc
mov dword [esp + 0x288], 0x312e2f26
mov byte [esp + 0x28c], 0
and esi, eax
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x28]
cmp edx, 0x64
ja 0x41174c
nop
nop
nop
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x28]
movzx edi, byte [esp + edi + 0x228]
mov ebx, edx
xor ebx, 0x1f5a9d8d
and edx, 0x1f5a9d8d
lea edx, [ebx + edx*2]
xor edx, edi
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x128]
add dl, 0x3f
mov edi, dword [esp + 0x28]
mov byte [esp + edi + 0x228], dl
inc dword [esp + 0x28]
mov edx, dword [esp + 0x28]
cmp edx, 0x65
jb 0x411700
sub ecx, esi
mov dword [esp + 0x128], 0x13731147
mov dword [esp + 0x12c], 0x1f771d8c
mov word [esp + 0x130], 0x1918
mov dword [esp + 0x132], 0
mov word [esp + 0x136], 0
mov dword [esp + 0xc0], 0
mov edx, dword [esp + 0xc0]
cmp edx, 0xf
ja 0x411816
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
movzx edi, byte [esp + esi + 0x128]
mov esi, edx
xor esi, 0xf5af4504
add edx, edx
and edx, 0xeb5e8a08
mov ebx, edx
and ebx, esi
xor edx, esi
lea esi, [edx + ebx*2]
lea edx, [esi + edi]
and esi, edi
mov edi, edx
not edi
and edi, esi
mov ebx, esi
not ebx
and edx, ebx
sub edx, edi
xor esi, edx
and edx, ebx
add edx, edx
sub edx, esi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
add dl, 0xec
mov esi, dword [esp + 0xc0]
mov byte [esp + esi + 0x128], dl
inc dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
cmp edx, 0x10
jb 0x4117a0
lea edx, [esp + 0xbc]
lea esi, [esp + 0xb4]
lea edi, [esp + 0x228]
lea ebx, [esp + 0x128]
push edx
push esi
push ecx
push eax
push edi
push ebx
push 0x44f3c8
call fcn.00410210
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x44a800]
xor esi, esi
xor eax, eax
test esi, 0
sete al
jmp dword [eax*4 + 0x44a808]
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
mov edx, ecx
and edx, 3
mov eax, ecx
or eax, 3
imul eax, edx
xor edx, 3
mov esi, ecx
and esi, 0xfffffffc
imul esi, edx
add eax, esi
shr eax, 2
movzx edx, byte [edi + ecx - 1]
cmp edx, 0x3d
je 0x4118a9
cmp edx, 0x2e
jne 0x4118aa
dec eax
movzx ecx, byte [edi + ecx - 2]
cmp ecx, 0x3d
je 0x4118b9
cmp ecx, 0x2e
jne 0x4118ba
dec eax
push eax
call fcn.0040ca10
add esp, 4
mov esi, eax
push eax
push edi
call fcn.0043a860
add esp, 8
push dword [esp + 0xb4]
call fcn.0043d440
add esp, 4
xor eax, eax
test esi, esi
sete al
lea edi, [esp + 0x228]
jmp dword [eax*4 + 0x44a808]
push esi
call fcn.00403bc0
add esp, 4
mov dword [esp + 0xa4], eax
jmp dword [0x44a810]
push esi
call fcn.0040ca20
add esp, 4
push dword [esp + 0xa4]
call fcn.00404690
add esp, 4
mov esi, eax
mov word [esp + 0x228], 0xa8ce
mov byte [esp + 0x22a], 0x5a
mov word [esp + 0x22b], 0
mov byte [esp + 0x22d], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, 5
ja 0x4119b6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0xae209e0f
and eax, 0x2e209e0f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x128]
mov ecx, eax
not ecx
and ecx, 0x4b
and eax, 0xb4
sub eax, ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, 6
jb 0x411960
push edi
push esi
call fcn.004047e0
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x44a818]
call fcn.00439180
movzx eax, al
jmp dword [eax*4 + 0x44a820]
mov word [esp + 0x228], 0xede9
mov byte [esp + 0x22a], 0xe
mov word [esp + 0x22b], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, 4
ja 0x411a65
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
movzx eax, byte [esp + eax + 0x228]
mov edx, ecx
xor edx, 0x85695942
and ecx, 0x5695942
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x128]
add al, 0xb6
mov ecx, dword [esp + 0x28]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, 5
jb 0x411a10
push edi
push esi
call fcn.004047e0
add esp, 8
mov dword [esp + 0xac], eax
mov word [esp + 0x228], 0x4071
mov byte [esp + 0x22a], 0xea
mov word [esp + 0x22b], 0
mov byte [esp + 0x22d], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, 5
ja 0x411b05
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
movzx edx, byte [esp + eax + 0x228]
add ecx, 0xcd8583d7
mov eax, ecx
and eax, edx
xor ecx, edx
sub ecx, eax
lea ecx, [ecx + eax*2]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x128]
add al, 0xcd
mov ecx, dword [esp + 0x28]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, 6
jb 0x411ab0
push edi
push esi
call fcn.004047e0
add esp, 8
mov dword [esp + 0x228], 0xc3656364
mov word [esp + 0x22c], 0
mov byte [esp + 0x22e], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
cmp ecx, 6
ja 0x411b81
nop
nop
nop
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
movzx edx, byte [esp + edx + 0x228]
add ecx, 0xb257a30
xor ecx, edx
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x128]
add cl, 0x10
mov edx, dword [esp + 0x28]
mov byte [esp + edx + 0x228], cl
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
cmp ecx, 7
jb 0x411b40
xor ecx, ecx
test eax, eax
setg cl
mov dword [esp + 0xb8], ecx
push edi
push esi
call fcn.004047e0
add esp, 8
mov dword [esp + 0xa8], eax
push esi
call fcn.00412970
add esp, 4
push dword [esp + 0xa4]
call fcn.00404c40
add esp, 4
lea esi, [esp + 0xc0]
mov ecx, esi
push 1
call fcn.0040d3a0
push esi
call fcn.00423f40
add esp, 4
mov ecx, esi
call fcn.0040dcb0
lea esi, [esp + 0xbc8]
mov ecx, esi
push 3
call fcn.0040d3a0
push esi
call fcn.004249c0
add esp, 4
mov ecx, esi
call fcn.0040dcb0
lea esi, [esp + 0xb60]
mov ecx, esi
push 1
call fcn.0040d3a0
push esi
call fcn.00424d50
add esp, 4
mov ecx, esi
call fcn.0040dcb0
lea esi, [esp + 0xaf8]
mov ecx, esi
push 1
call fcn.0040d3a0
push esi
call fcn.00426be0
add esp, 4
push esi
call fcn.004274c0
add esp, 4
push esi
call fcn.00427910
add esp, 4
push esi
call fcn.0042b1c0
add esp, 4
mov ecx, esi
call fcn.0040dcb0
lea esi, [esp + 0xa90]
mov ecx, esi
push 1
call fcn.0040d3a0
push esi
call fcn.00429b30
add esp, 4
mov ecx, esi
call fcn.0040dcb0
lea esi, [esp + 0xa28]
mov ecx, esi
push 1
call fcn.0040d3a0
push esi
call fcn.0042cc90
add esp, 4
push esi
call fcn.00433490
add esp, 4
mov eax, dword [esp + 0xb8]
jmp dword [eax*4 + 0x44a828]
jmp dword [0x44a834]
push esi
call fcn.00433610
add esp, 4
jmp dword [0x44a834]
push dword [esp + 0xa4]
call fcn.00404c40
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0xa28]
call fcn.0040dcb0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0x28], 0xc6b3c30e
mov word [esp + 0x2c], 0xeccc
mov byte [esp + 0x2e], 0x2e
mov dword [esp + 0x2f], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xa
ja 0x411d6e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
mov edx, eax
xor edx, 0x70e93a77
mov esi, eax
xor esi, 0xf16c588
or eax, 0x70e93a77
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0xad
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xb
jb 0x411d20
mov dword [esp + 0x10], 0x77b3cf82
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja case.0x411c9c.3
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, eax
xor edx, 0xb9f93e16
and eax, 0x39f93e16
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0x92
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x411d90
lea ecx, [esp + 0xa28]
call fcn.0040dcb0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0x28], 0xc6b3c30e
mov word [esp + 0x2c], 0xeccc
mov byte [esp + 0x2e], 0x2e
mov dword [esp + 0x2f], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xa
ja 0x411e6e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
mov edx, eax
xor edx, 0x70e93a77
mov esi, eax
xor esi, 0xf16c588
or eax, 0x70e93a77
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0xad
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xb
jb 0x411e20
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esp + 0x10], 0x77b3cf82
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x411ee6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x10]
mov esi, ecx
xor esi, 0xb9f93e16
and ecx, 0x39f93e16
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x228]
add cl, 0x92
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 8
jb 0x411ea0
jmp dword [0x44a83c]
mov ecx, dword [str.tLYMe5__3]
mov dword [esp + 0x228], 0x865aaaa7
mov dword [esp + 0x22c], 0xac5eaca9
mov dword [esp + 0x230], 0x5453a05b
mov dword [esp + 0x234], 0xdba5a2ab
mov dword [esp + 0x238], 0xb664986a
mov dword [esp + 0x23c], 0xd3a2a5ac
mov dword [esp + 0x240], 0xbe929468
mov byte [esp + 0x244], 0xf8
mov dword [esp + 0x245], 0
mov byte [esp + 0x249], 0
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 0x21
ja 0x411fbe
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
movzx esi, byte [esp + esi + 0x228]
mov edi, edx
xor edi, 0x77a04551
and edx, 0xf7a04551
lea edx, [edi + edx*2]
mov edi, edx
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0x6b
mov esi, dword [esp + 0xc]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp edx, 0x22
jb 0x411f70
movzx edx, byte [esp + 0x228]
test dl, dl
je 0x411feb
lea ebx, [esp + 0x128]
lea esi, [esp + 0x229]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x411fe0
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x41200b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x412000
mov byte [ebx], 0
movzx ecx, byte [esp + 0x10]
test cl, cl
lea edi, [esp + 0x228]
je 0x41203b
lea edx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412030
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x41205b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x412050
mov byte [ebx], 0
movzx eax, byte [esp + 0x28]
test al, al
je 0x41207b
lea ecx, [esp + 0x29]
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x412070
mov byte [ebx], 0
movzx eax, byte [0x44f368]
test al, al
je 0x4120a1
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [ebx + ecx], al
movzx eax, byte [ecx + 0x44f369]
inc ecx
test al, al
jne 0x412090
add ebx, ecx
mov byte [ebx], 0
mov dword [esp + 0x228], 0x930591d3
mov dword [esp + 0x22c], 0x9f029d0a
mov dword [esp + 0x230], 0x9b0c9935
mov dword [esp + 0x234], 0x87d38518
mov dword [esp + 0x238], 0x831b813c
mov dword [esp + 0x23c], 0x8f238d1c
mov dword [esp + 0x240], 0x8bea89d2
mov dword [esp + 0x244], 0xf766f555
mov dword [esp + 0x248], 0xf366f160
mov dword [esp + 0x24c], 0xff5dfd55
mov dword [esp + 0x250], 0xfb66f959
mov dword [esp + 0x254], 0xe771e54d
mov dword [esp + 0x258], 0xe3b5e176
mov dword [esp + 0x25c], 0xefbbed74
mov dword [esp + 0x260], 0xeb75e977
mov dword [esp + 0x264], 0xd783d54b
mov dword [esp + 0x268], 0xd345d17e
mov dword [esp + 0x26c], 0xdf4bdd4e
mov dword [esp + 0x270], 0xdb47d98d
mov dword [esp + 0x274], 0xc752c556
mov dword [esp + 0x278], 0xc354c16d
mov dword [esp + 0x27c], 0xcf59cd6f
mov dword [esp + 0x280], 0xcb67c964
mov dword [esp + 0x284], 0x37433598
mov dword [esp + 0x288], 0x3332313a
mov byte [esp + 0x28c], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x64
ja case.0x410d93.49
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0x844ba7a4
and eax, 0x44ba7a4
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
sub edx, eax
lea ecx, [edx + eax*2]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add al, 0xcc
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x65
jb 0x4121d0
mov dword [esp + 0x28], 0x3f9f39eb
mov dword [esp + 0x2c], 0x238b3dac
mov dword [esp + 0x30], 0x2120
mov byte [esp + 0x34], 0
lea eax, [esp + 0x128]
sub ebx, eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x4122a0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0xb191d44a
and ecx, 0x3191d44a
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x8e
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb case.default.0x4122c7
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x24]
lea esi, [esp + 0x28]
push ecx
push edx
push ebx
mov ebx, esi
push eax
push edi
push esi
push 0x44f3c8
call fcn.00410210
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x44a840]
jmp dword [0x44a848]
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0x24]
mov edx, ecx
and edx, 3
mov eax, ecx
or eax, 3
imul eax, edx
xor edx, 3
mov esi, ecx
and esi, 0xfffffffc
imul esi, edx
add eax, esi
shr eax, 2
movzx edx, byte [edi + ecx - 1]
cmp edx, 0x3d
je 0x41230b
cmp edx, 0x2e
jne 0x41230c
dec eax
movzx ecx, byte [edi + ecx - 2]
cmp ecx, 0x3d
je 0x41231b
cmp ecx, 0x2e
jne 0x41231c
dec eax
push eax
call fcn.0040ca10
add esp, 4
mov esi, eax
push eax
push edi
call fcn.0043a860
add esp, 8
push dword [esp + 0x24]
call fcn.0043d440
add esp, 4
push esi
call fcn.00403bc0
add esp, 4
jmp case.0x4122c7.2
dec eax
push eax
call fcn.0040ca10
add esp, 4
mov esi, eax
push eax
push edi
call fcn.0043a860
add esp, 8
push dword [esp + 0x24]
call fcn.0043d440
add esp, 4
push esi
call fcn.00403bc0
add esp, 4
jmp dword [0x44a850]
mov ecx, dword [esp + 0xb0]
mov edi, dword [esp + 0x24]
mov edx, ecx
and edx, 3
mov eax, ecx
or eax, 3
imul eax, edx
xor edx, 3
mov esi, ecx
and esi, 0xfffffffc
imul esi, edx
add eax, esi
shr eax, 2
movzx edx, byte [edi + ecx - 1]
cmp edx, 0x3d
je 0x4123b8
cmp edx, 0x2e
jne 0x4123b9
dec eax
movzx ecx, byte [edi + ecx - 2]
cmp ecx, 0x3d
je 0x412350
cmp ecx, 0x2e
je 0x412350
jmp 0x412351
jmp dword [0x44a858]
push esi
mov esi, eax
call fcn.0040ca20
mov eax, esi
add esp, 4
push eax
mov esi, eax
call fcn.004158c0
add esp, 4
xor ecx, ecx
test esi, esi
setne cl
lea edi, [esp + 0x228]
jmp dword [ecx*4 + 0x44a860]
xor eax, eax
cmp dword [esp + 0xa8], 0
setg al
jmp dword [eax*4 + 0x44a868]
xor eax, eax
cmp dword [esp + 0xac], 0
setg al
jmp dword [eax*4 + 0x44a870]
push esi
call fcn.00404c40
add esp, 4
xor eax, eax
cmp dword [esp + 0xa8], 0
setg al
jmp dword [eax*4 + 0x44a868]
lea ecx, [esp + 0x228]
push 1
call fcn.0040d3a0
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + 0x44f6d1], 0
lea eax, [eax + 1]
jne 0x412460
mov dword [esp + 0x28], 0x2343050
mov dword [esp + 0x2c], 0xd0a7531
mov dword [esp + 0x30], 0x8308
mov byte [esp + 0x34], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x4124e0
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0x31bd87e3
and ecx, 0x31bd87e3
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x91
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb 0x4124a0
lea esi, [esp + 0x228]
mov ecx, esi
push eax
push 0x44f6d0
push ebx
call fcn.0040d5a0
mov ecx, esi
call fcn.0040dcb0
mov ecx, esi
call fcn.0040d3e0
xor eax, eax
cmp dword [esp + 0xac], 0
setg al
jmp dword [eax*4 + 0x44a870]
jmp dword [0x44a878]
jmp dword [0x44a8ac]
lea ecx, [esp + 0xa28]
call fcn.0040d3e0
lea ecx, [esp + 0xa90]
call fcn.0040d3e0
lea ecx, [esp + 0xaf8]
call fcn.0040d3e0
lea ecx, [esp + 0xb60]
call fcn.0040d3e0
lea ecx, [esp + 0xbc8]
call fcn.0040d3e0
lea ecx, [esp + 0xc0]
call fcn.0040d3e0
nop
nop
nop
nop
nop
lea ecx, [esp + 0xa28]
call fcn.0040d3e0
lea ecx, [esp + 0xa90]
call fcn.0040d3e0
lea ecx, [esp + 0xaf8]
call fcn.0040d3e0
lea ecx, [esp + 0xb60]
call fcn.0040d3e0
lea ecx, [esp + 0xbc8]
call fcn.0040d3e0
lea ecx, [esp + 0xc0]
call fcn.0040d3e0
jmp dword [0x44a8b4]
mov al, 1
jmp 0x411ccf
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a888]
mov dword [esp + 0x28], 0x57e349e7
mov dword [esp + 0x2c], 0x532055f8
mov dword [esp + 0x30], 0x5fe651fd
mov dword [esp + 0x34], 0x5b3a5df1
mov dword [esp + 0x38], 0xa7195936
mov dword [esp + 0x3c], 0xa303a518
mov dword [esp + 0x40], 0xaf12a11e
mov dword [esp + 0x44], 0xabd9adcc
mov dword [esp + 0x48], 0xb71fa91d
mov dword [esp + 0x4c], 0xb3d2b506
mov dword [esp + 0x50], 0xbf0bb11f
mov dword [esp + 0x54], 0xbbc8bd10
mov dword [esp + 0x58], 0x873eb915
mov dword [esp + 0x5c], 0x83e28529
mov dword [esp + 0x60], 0x8ffd81ee
mov dword [esp + 0x64], 0x8bea8d23
mov dword [esp + 0x68], 0x973f8934
mov dword [esp + 0x6c], 0x933f9521
mov dword [esp + 0x70], 0x9f239123
mov dword [esp + 0x74], 0x9bfa9d20
mov dword [esp + 0x78], 0xe75a99eb
mov dword [esp + 0x7c], 0xe39de584
mov dword [esp + 0x80], 0xef9de180
mov dword [esp + 0x84], 0xeb59ed5e
mov dword [esp + 0x88], 0xf748e946
mov dword [esp + 0x8c], 0xf353f559
mov dword [esp + 0x90], 0xff9ef147
mov dword [esp + 0x94], 0xfb9afd96
mov dword [esp + 0x98], 0xc76bf954
mov dword [esp + 0x9c], 0xc3a2c570
mov dword [esp + 0xa0], 0xcfcec1ae
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x7b
ja case.0x410d93.64
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0xef14526e
and ecx, 0xef14526e
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x228], esi
mov ecx, dword [esp + 0x228]
add cl, 0xda
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x7c
jb 0x412700
movzx ecx, word [esp + 0x28]
test cx, cx
je 0x412781
lea edi, [esp + 0x228]
lea edx, [esp + 0x2a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x412770
mov word [edi], 0
movzx ecx, word [eax]
test cx, cx
je 0x4127b1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x4127a0
mov dword [edi], 0x220022
mov dword [edi + 4], 0x22
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0x44
mov dword [esp + 0x54], 1
push 0xc9be8534
push dword [0x4506d0]
call fcn.00442fb0
add esp, 8
lea ecx, [esp + 0x10]
lea edx, [esp + 0x228]
push ecx
push ebx
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push edx
push 0
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a890]
mov eax, dword [esp + 0x10]
mov dword [esp + 4], 0x909f9e9d
mov word [esp + 8], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 5
ja 0x4128fc
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 4]
mov esi, edx
not esi
or esi, 0x645132a5
add esi, edx
xor edx, 0xe45132a5
lea edx, [edx + esi*2]
add edx, 2
xor edx, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
mov edx, ecx
xor edx, 0x39
and ecx, 0x46
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x20]
mov byte [esp + edx + 4], cl
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, 6
jb 0x4128ac
mov ecx, dword [0x4506dc]
test ecx, ecx
je case.0x412510.8
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x4506e0]
cmp dword [edi + esi*8], 0x625b6034
je 0x412922
inc esi
cmp ecx, esi
jne 0x412912
jmp case.0x412510.8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x412510.8
push eax
push 1
push dword [0x4506e4]
push ecx
call fcn.00440260
add esp, 0x10
mov eax, dword [case.0x412510.0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0
call fcn.00442e80
add esp, 4
push 0
call fcn.00442e80
add esp, 4
jmp dword [0x44a884]
int3
push eax
mov dword [esi + 0xd0], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x68], eax
mov esp, eax
push eax
mov dword [esi + 0xe4], esp
sub esp, 8
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0xd4], esp
jmp dword [0x44a8b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esi + 0xf0]
inc ebx
mov edi, dword [esi + 0xec]
push edi
call fcn.00404c00
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x44a8d0]
push ebx
push edi
call fcn.00404c10
add esp, 8
mov edi, eax
mov dword [esi + 0xc], 0x8738
mov byte [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x412a58
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0xc]
mov ecx, eax
xor ecx, 0xc0abce1
and eax, 0xc0abce1
lea eax, [ecx + eax*2]
lea ecx, [eax + edx]
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x9b
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x412a10
mov dword [esi + 0xf0], ebx
push 3
lea eax, [esi + 0xc]
push eax
push edi
call fcn.00404ae0
add esp, 0xc
mov ecx, dword [case.0x4118ec.54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a8e8]
jmp dword [0x44a8f4]
push dword [esi + 0x3c]
call fcn.0040ca20
add esp, 4
mov ecx, ebx
call fcn.0040d3e0
jmp case.0x4118ec.57
mov word [esi + 0xc], 0x1ed
lea eax, [esi + 0xe]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 6
ja 0x412b13
nop
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
movzx eax, byte [esi + eax + 0xc]
mov edx, ecx
xor edx, 0x37b86cc0
and ecx, 0x37b86cc0
lea ecx, [edx + ecx*2]
mov edx, ecx
add ecx, eax
not eax
or edx, eax
sub eax, edx
lea eax, [ecx + eax*2]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
add al, 0x40
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, 7
jb 0x412ad0
push 5
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a930]
mov dword [esi + 0x84], 0x21aa
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 3
ja case.0x410d93.111
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 0x84]
add eax, 0xc169cf88
xor eax, ecx
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
add al, 0x58
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0x84], al
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, 4
jb 0x412b50
push 2
lea eax, [esi + 0x84]
push eax
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a938]
mov word [esi + 4], 0x41a4
lea eax, [esi + 6]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 6
ja 0x412c07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 4]
mov edx, eax
xor edx, 0x83faa890
and eax, 0x3faa890
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
add al, 0x30
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 4], al
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, 7
jb 0x412bd0
push 3
lea eax, [esi + 4]
push eax
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a940]
lea ebx, [esi + 0x18]
jmp dword [0x44a948]
mov word [esi + 0x18], 0x5e52
mov byte [esi + 0x1a], 0xce
mov word [esi + 0x1b], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 4
ja 0x412c8c
nop
nop
nop
nop
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0x137206b2
add eax, 0x137206b2
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
add al, 0x86
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0x18], al
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, 5
jb 0x412c50
push 3
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
jmp case.0x412c1d.2
push 3
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
jmp dword [0x44a954]
mov word [esi + 0x18], 0x5e52
mov byte [esi + 0x1a], 0xce
mov word [esi + 0x1b], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 4
ja 0x412ca0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0x137206b2
add eax, 0x137206b2
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
add al, 0x86
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0x18], al
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, 5
jb 0x412ce0
jmp 0x412ca0
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a958]
mov word [esi + 0xc], 0x27b4
lea eax, [esi + 0xe]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x412d98
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0xc]
mov ecx, eax
xor ecx, 0x9ba67279
and eax, 0x1ba67279
lea eax, [ecx + eax*2]
lea ecx, [eax + edx]
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xa3
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x412d50
lea ebx, [esi + 0xc]
push ebx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x20], eax
mov word [esi + 0xc], 0x8f63
lea eax, [esi + 0xe]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 7
ja 0x412e07
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0xc]
mov edx, eax
xor edx, 0x74a3915d
and eax, 0xf4a3915d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x2f
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x412dd0
push ebx
push edi
call fcn.004046b0
add esp, 8
mov dword [esi + 0x38], eax
mov word [esi + 0xc], 0x7fe
lea eax, [esi + 0xe]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x412e82
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx eax, byte [esi + eax + 0xc]
mov edx, ecx
xor edx, 0xe3f914c1
and ecx, 0xe3f914c1
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x3b
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x412e40
push ebx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x44], eax
mov word [esi + 0xc], 0x117c
lea eax, [esi + 0xe]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 7
ja 0x412f19
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0xc]
mov edx, eax
xor edx, 0x7e874484
and eax, 0xfe874484
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
sub edx, eax
lea ecx, [edx + eax*2]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ecx, eax
not ecx
and ecx, 0x94
and eax, 0x6b
sub eax, ecx
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 8
jb 0x412ec0
push ebx
push edi
call fcn.00404580
add esp, 8
mov word [esi + 0xc], 0xa2ae
mov byte [esi + 0xe], 0x32
mov dword [esi + 0xf], 0
fnstcw word [esi + 0x64]
movzx eax, word [esi + 0x64]
or eax, 0xc00
mov word [esi + 0x94], ax
fldcw word [esi + 0x94]
fistp dword [esi + 0x130]
fldcw word [esi + 0x64]
mov eax, dword [esi + 0x130]
mov dword [esi + 0x30], eax
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 6
ja 0x412fc2
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0xc]
mov ecx, eax
xor ecx, 0xf9d4b90c
and eax, 0xf9d4b90c
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov ebx, eax
xor ebx, ecx
mov edx, ecx
not edx
and eax, edx
add eax, eax
sub eax, ebx
mov ebx, eax
not ebx
and ebx, ecx
and eax, edx
sub eax, ebx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xc4
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 7
jb 0x412f70
lea eax, [esi + 0xc]
push eax
push edi
call fcn.00404580
add esp, 8
mov word [esi + 0xc], 0x3532
mov byte [esi + 0xe], 0x8e
mov word [esi + 0xf], 0
fnstcw word [esi + 0x62]
movzx eax, word [esi + 0x62]
or eax, 0xc00
mov word [esi + 0x92], ax
fldcw word [esi + 0x92]
fistp dword [esi + 0x12c]
fldcw word [esi + 0x62]
mov eax, dword [esi + 0x12c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x41306d
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx edx, byte [esi + eax + 0xc]
lea eax, [ecx + edx]
add eax, 0x6a9af162
add ecx, 0x6a9af162
and ecx, edx
mov ebx, eax
xor ebx, ecx
mov edx, ecx
not edx
and eax, edx
add eax, eax
sub eax, ebx
mov ebx, eax
not ebx
and ebx, ecx
and eax, edx
sub eax, ebx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x16
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x413020
lea eax, [esi + 0xc]
push eax
push edi
call fcn.004047e0
add esp, 8
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x20]
lea edi, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x413090
mov dword [esi + 0x14], 0
cmp eax, edi
jae 0x4130e7
cmp byte [eax], 0
je 0x4130e7
mov dword [esi + 0x14], 0
mov ebx, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
push eax
push edi
push ebx
call fcn.004111e0
add esp, 0xc
lea ecx, [ebx + eax]
inc dword [esi + 0x14]
cmp ecx, edi
jae 0x4130e7
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x4130c0
mov ecx, dword [esi + 0x14]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x4130f8
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov ecx, eax
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0x14]
lea eax, [ecx + eax*2]
mov edx, ecx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x2c], eax
cmp ecx, eax
mov ebx, dword [esi + 0x20]
jae 0x41315e
mov edx, dword [esi + 0x24]
cmp ebx, edi
jae 0x41315e
mov edx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x41315e
lea eax, [esi + 0xc]
push eax
push edi
push ebx
mov dword [esi + 0x20], edx
call fcn.004111e0
mov edx, dword [esi + 0x20]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x2c]
jae 0x41315e
add ebx, eax
cmp ebx, edi
jb 0x413130
mov word [edx], 0
mov ebx, dword [esi + 0xd0]
push ebx
push 0
push 0
push dword [esi + 0x14]
push dword [esi + 0x24]
push 0
call dword [0x4506d8]
mov edi, dword [ebx]
lea eax, [edi + edi]
test edi, edi
jns 0x41318a
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
push ebx
push edi
mov dword [esi + 0x3c], eax
push eax
push dword [esi + 0x14]
mov edi, dword [esi + 0x24]
push edi
push 0
call dword [0x4506d8]
jmp dword [0x44a960]
push edi
call fcn.0040ca20
add esp, 4
mov ecx, dword [esi + 0x44]
mov eax, ecx
jmp 0x41512d
mov ecx, dword [esi + 0x44]
mov edx, ecx
jmp 0x415125
mov word [ebx], 0x8124
mov eax, dword [esi + 0xa0]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x413256
nop
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x4098419f
mov edx, eax
or edx, 0x3f67be60
and edx, ecx
lea ecx, [eax + eax]
and ecx, 0x7ecf7cc0
sub eax, ecx
lea ecx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0xbf67be60
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
add ecx, edx
add ecx, 0xbf67be60
and eax, edx
add eax, eax
sub ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
mov ecx, eax
xor ecx, 0xe0
and eax, 0x1f
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x4131f0
push 3
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
jmp case.0x413cc0.2
push 3
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
jmp dword [0x44a9dc]
mov word [ebx], 0x8124
mov eax, dword [esi + 0xa0]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x413270
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x4098419f
mov edx, eax
or edx, 0x3f67be60
and edx, ecx
lea ecx, [eax + eax]
and ecx, 0x7ecf7cc0
sub eax, ecx
lea ecx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 0xbf67be60
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
add ecx, edx
add ecx, 0xbf67be60
and eax, edx
add eax, eax
sub ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
mov ecx, eax
xor ecx, 0xe0
and eax, 0x1f
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x4132b0
jmp 0x413270
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a9e0]
mov ebx, dword [esi + 0x104]
mov dword [ebx], 0x169682
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4133a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
not ecx
or ecx, 0x4d081d86
add ecx, eax
xor eax, 0x4d081d86
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 2
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
add edx, ecx
add edx, 2
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x62
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413350
push 3
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a9e8]
mov edx, dword [esi + 0x7c]
mov word [edx], 0x47ad
mov eax, dword [esi + 0xc8]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x413428
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0x9a11e311
and eax, 0x1a11e311
lea eax, [edx + eax*2]
mov edx, dword [esi + 0x7c]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0xab
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x4133f0
push edx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x14], eax
mov ebx, dword [esi + 0x100]
mov dword [ebx], 0xf968
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x413492
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0x8f36122a
and eax, 0xf36122a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, eax
not ecx
and ecx, 0xd2
and eax, 0x2d
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413450
push ebx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x24], eax
mov ecx, dword [esi + 0x58]
mov word [ecx], 0x11a5
mov eax, dword [esi + 0xcc]
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x41352c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
lea ecx, [eax + eax]
and ecx, 0x8360c778
sub eax, ecx
add eax, 0xc1b063bc
mov edx, eax
and edx, ecx
xor eax, ecx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0x58]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + edx*2]
mov eax, edx
and eax, ecx
xor edx, ecx
lea edx, [edx + eax*2]
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x54
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x58]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0x58]
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x4134d0
push ecx
push edi
call fcn.004046b0
add esp, 8
mov dword [esi + 0x38], eax
mov ebx, dword [esi + 0xfc]
mov dword [ebx], 0x890e
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x413595
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xd5edecde
and eax, 0xd5edecde
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0xaa
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413560
push ebx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x54], eax
mov ebx, dword [esi + 0xf8]
mov dword [ebx], 0x3b90
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4135f5
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xc013f6cb
and eax, 0xc013f6cb
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 9
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x4135c0
push ebx
push edi
call fcn.00404580
add esp, 8
mov ebx, dword [esi + 0xf4]
mov dword [ebx], 0x2a9e8e
fnstcw word [esi + 0x60]
movzx eax, word [esi + 0x60]
or eax, 0xc00
mov word [esi + 0x90], ax
fldcw word [esi + 0x90]
fistp dword [esi + 0x128]
fldcw word [esi + 0x60]
mov eax, dword [esi + 0x128]
mov dword [esi + 0x3c], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x41369e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [ebx + ecx]
lea ecx, [eax + edx]
add ecx, 0x226c9ac7
add eax, 0x226c9ac7
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, eax
xor ecx, 0xe3
and eax, 0x1c
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413650
push ebx
push edi
call fcn.00404580
add esp, 8
xor edi, edi
mov ebx, 0xfffffffe
mov eax, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x4136c0
fnstcw word [esi + 0x5e]
movzx eax, word [esi + 0x5e]
or eax, 0xc00
mov word [esi + 0x8e], ax
fldcw word [esi + 0x8e]
fistp dword [esi + 0x124]
fldcw word [esi + 0x5e]
mov eax, dword [esi + 0x124]
mov dword [esi + 0x34], eax
lea eax, [ebx + 2]
test edi, edi
jns 0x413703
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
add ebx, eax
mov edx, eax
mov dword [esi + 0x2c], eax
cmp eax, ebx
mov ecx, dword [esi + 0x14]
jae 0x413768
lea eax, [ecx + edi]
dec eax
mov edx, dword [esi + 0x2c]
cmp ecx, eax
jae 0x413768
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x20], eax
cmp byte [ecx], 0
je 0x413768
mov edi, eax
lea eax, [esi + 0xc]
push eax
push edi
push ecx
mov edi, ecx
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, ebx
jae 0x413768
add edi, eax
mov eax, dword [esi + 0x20]
cmp edi, eax
mov ecx, edi
jb 0x413732
mov word [edx], 0
mov ebx, dword [esi + 0x4c]
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov ecx, ebx
mov edi, dword [esi + 0x2c]
push edi
call fcn.0043d550
jmp dword [0x44a9f0]
push edi
call fcn.0040ca20
add esp, 4
mov ecx, ebx
push 0x400
call fcn.0043d790
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a9f8]
mov eax, dword [esi + 0x78]
mov dword [eax], 0
mov ecx, dword [ebx]
mov dword [esi + 0xc], 0x909f9e9d
mov word [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 5
ja 0x41382d
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx eax, byte [esi + eax + 0xc]
mov edi, edx
not edi
or edi, 0x645132a5
add edi, edx
xor edx, 0xe45132a5
lea edx, [edx + edi*2]
add edx, 2
xor edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 4]
mov edx, eax
xor edx, 0x39
and eax, 0x46
add eax, eax
sub eax, edx
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 6
jb 0x4137e4
mov eax, dword [esi + 0xc]
mov edx, dword [0x4506dc]
test edx, edx
je case.default.0x413885
xor edi, edi
mov ebx, dword [0x4506e0]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x413855
inc edi
cmp edx, edi
jne 0x413842
mov ebx, dword [esi + 0x4c]
jmp case.default.0x413885
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
mov ebx, dword [esi + 0x4c]
je case.default.0x413885
push dword [esi + 0x78]
push 0
push 0
push 0x2b
push ecx
push 5
push dword [0x4506e4]
push edx
call fcn.00440260
add esp, 0x20
xor ecx, ecx
cmp eax, 0xc0000004
sete cl
jmp dword [ecx*4 + 0x44aa00]
jmp case.0x410d93.166
mov edi, dword [esi + 0x78]
mov eax, dword [edi]
add eax, 2
push eax
call fcn.0043d3b0
add esp, 4
mov dword [esi + 0x44], eax
mov edx, dword [edi]
mov eax, dword [ebx]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], 0x909f9e9d
mov word [esi + 0x10], 0
add edx, 2
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 5
ja 0x413914
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx eax, byte [esi + eax + 0xc]
mov edi, ecx
not edi
or edi, 0x645132a5
add edi, ecx
xor ecx, 0xe45132a5
lea ecx, [ecx + edi*2]
add ecx, 2
xor ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x39
and eax, 0x46
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 6
jb 0x4138cb
mov eax, dword [esi + 0xc]
mov edi, dword [0x4506dc]
test edi, edi
je case.default.0x413968
xor ebx, ebx
mov ecx, dword [0x4506e0]
cmp dword [ecx + ebx*8], 0x1b788dcf
je 0x41393c
inc ebx
cmp edi, ebx
jne 0x413929
mov ebx, dword [esi + 0x4c]
jmp case.default.0x413968
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, eax
mov ebx, dword [esi + 0x4c]
je case.default.0x413968
push 0
push edx
push dword [esi + 0x44]
push 0x2b
push dword [esi + 0x14]
push 5
push dword [0x4506e4]
push ecx
call fcn.00440260
add esp, 0x20
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aa08]
mov ecx, dword [esi + 0x24]
mov eax, ecx
mov ebx, eax
inc eax
cmp byte [ebx], 0
jne 0x413974
mov edi, ebx
sub edi, ecx
mov eax, edi
inc eax
mov dword [esi + 0xc4], eax
lea eax, [edi + edi + 2]
jns 0x413994
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x20], ecx
cmp eax, ecx
mov edi, dword [esi + 0x24]
jae 0x4139ee
mov edx, dword [esi + 0x40]
cmp edi, ebx
jae 0x4139ee
mov edx, dword [esi + 0x40]
cmp byte [edi], 0
je 0x4139ee
lea eax, [esi + 0xc]
push eax
push ebx
push edi
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x20]
jae 0x4139ee
add edi, eax
cmp edi, ebx
jb 0x4139c0
mov word [edx], 0
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 4]
movzx eax, word [eax]
and eax, 0xfffffffe
mov dword [esi + 0x30], ecx
add eax, ecx
add eax, 0xfffffffe
mov ecx, dword [case.0x413968.5]
mov edx, dword [case.0x413968.12]
mov edi, dword [case.0x413968.19]
mov dword [esi + 0x20], eax
mov dword [esi + 0x14], eax
nop
jmp ecx
xor eax, eax
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x30]
setae al
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x44aa20]
mov eax, dword [esi + 0x14]
movzx eax, word [eax]
xor ebx, ebx
mov word [esi + 0x24], ax
test ax, ax
setne bl
mov dword [esi + 0x2c], ebx
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x2c]
jmp dword [eax*4 + 0x44aa28]
jmp edx
xor ebx, ebx
cmp word [esi + 0x24], 0x5c
sete bl
mov eax, ebx
mov ebx, dword [esi + 0x14]
jmp dword [eax*4 + 0x44aa40]
jmp edi
add dword [esi + 0x14], 0xfffffffe
jmp case.0x413968.2
mov eax, ebx
sub eax, dword [esi + 0x30]
sar eax, 1
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 0xc4]
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x413aa6
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov edi, eax
mov dword [esi + 0x20], eax
cmp ebx, dword [esi + 0x30]
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x2c]
je 0x413b66
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 4]
lea ebx, [ecx - 1]
mov edi, ecx
and edi, 3
je 0x413b05
mov dword [esi + 0x24], ebx
xor ebx, ebx
mov dword [esi + 0x14], edi
mov edi, dword [esi + 0x20]
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
lea eax, [eax + edx*2]
mov word [edi], cx
add edi, 2
inc ebx
cmp dword [esi + 0x14], ebx
jne 0x413ade
mov ecx, dword [esi + 0x2c]
sub ecx, ebx
mov edx, dword [esi + 0x40]
mov ebx, dword [esi + 0x24]
jmp 0x413b08
mov edi, dword [esi + 0x20]
cmp ebx, 3
jb 0x413b66
mov ebx, ecx
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [edi], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [edi + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [edi + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov ecx, ebx
mov word [edi + 6], dx
add edi, 8
add ecx, 0xfffffffc
jne 0x413b0d
mov edx, dword [esi + 0x40]
movzx eax, word [edx]
test ax, ax
je 0x413b84
mov ecx, edx
add ecx, 2
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413b73
mov word [edi], 0
jmp dword [0x44aa58]
push edx
call fcn.0040ca20
add esp, 4
mov ebx, dword [esi + 0x20]
sub edi, ebx
mov eax, 0xffffffff
cmp edi, 0xfffffffe
jl 0x413bac
add edi, 2
mov eax, edi
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0x40], eax
push eax
push ebx
call fcn.0043aa80
add esp, 8
jmp dword [0x44aa60]
push ebx
call fcn.0040ca20
add esp, 4
mov ecx, dword [esi + 0x54]
mov eax, ecx
jmp 0x41556c
mov ecx, dword [esi + 0x54]
mov edx, ecx
jmp 0x415564
mov ebx, dword [esi + 0xd4]
mov dword [ebx], 0x99d
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x413c35
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xf5ac8f7e
and eax, 0xf5ac8f7e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x8a
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb case.default.0x413c48
push 5
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a9c0]
mov ebx, dword [esi + 0x108]
mov dword [ebx], 0x49c6
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x413cad
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0x17d3e372
add eax, eax
and eax, 0x2fa7c6e4
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [eax + edx*2]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0xc6
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413c70
push 2
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a9c8]
mov ebx, dword [esi + 0xa4]
jmp dword [0x44a9d0]
jmp dword [0x44ab08]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x44aab8]
mov ebx, dword [esi + 0x4c]
mov edi, dword [esi + 0x6c]
jmp dword [0x44aa88]
push dword [esi + 0x40]
call fcn.0040ca20
add esp, 4
mov ecx, edi
call fcn.0040dcb0
mov ecx, edi
call fcn.0040d3e0
push dword [esi + 0x44]
call fcn.0043d440
add esp, 4
mov ecx, ebx
call fcn.0043d930
jmp case.0x4118ec.57
jmp dword [0x44aae4]
sete al
movzx eax, al
jmp dword [eax*4 + 0x44a910]
mov dword [ebx], 0x3993
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja case.0x410d93.150
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xaf77718a
and eax, 0x2f77718a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x4e
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413d70
push 2
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a9b0]
mov ebx, dword [esi + 0xd8]
mov word [ebx], 0x8734
mov dword [ebx + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x413e15
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0xc462a61
and eax, 0xc462a61
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x1b
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb case.default.0x413e28
push 2
push ebx
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a9b8]
mov ecx, dword [esi + 0x24]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
mov ecx, eax
jmp dword [0x44ab4c]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, edi
sete dl
jmp dword [edx*4 + 0x44ab50]
mov word [esi + 0xc], 0xf96c
lea eax, [esi + 0xe]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x413f05
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx eax, byte [esi + eax + 0xc]
mov edx, ecx
xor edx, 0x84dec82a
and ecx, 0x4dec82a
lea edx, [edx + ecx*2]
lea ecx, [edx + eax]
mov ebx, eax
not ebx
or ebx, edx
lea edx, [eax + ebx]
add eax, ebx
inc eax
mov ebx, eax
xor ebx, ecx
not eax
and eax, ecx
add eax, eax
lea ecx, [ebx + edx]
inc ecx
sub eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x2e
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x413eb0
lea eax, [esi + 0xc]
push eax
push edi
call fcn.00404580
fstp st(0)
add esp, 8
mov word [esi + 0xc], 0xf96c
lea eax, [esi + 0xe]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 4
ja 0x413f95
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx eax, byte [esi + eax + 0xc]
mov edx, ecx
xor edx, 0x84dec82a
and ecx, 0x4dec82a
lea edx, [edx + ecx*2]
lea ecx, [edx + eax]
mov ebx, eax
not ebx
or ebx, edx
lea edx, [eax + ebx]
add eax, ebx
inc eax
mov ebx, eax
xor ebx, ecx
not eax
and eax, ecx
add eax, eax
lea ecx, [ebx + edx]
inc ecx
sub eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0x2e
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 5
jb 0x413f40
lea eax, [esi + 0xc]
push eax
push edi
call fcn.00404580
add esp, 8
fnstcw word [esi + 0x66]
movzx eax, word [esi + 0x66]
or eax, 0xc00
mov word [esi + 0x96], ax
fldcw word [esi + 0x96]
fistp dword [esi + 0x134]
fldcw word [esi + 0x66]
jmp dword [0x44a8f8]
mov eax, dword [esi + 0x134]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x44a900]
xor ecx, ecx
cmp eax, 3
setl cl
mov ebx, dword [esi + 0xe4]
jmp dword [ecx*4 + 0x44a908]
mov ecx, edi
mov edx, edi
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x414100
mov dword [esi + 0x20], eax
mov dword [esi + 0x14], 0
cmp ebx, edx
jbe 0x414157
cmp byte [edx], 0
je 0x414157
mov dword [esi + 0x14], 0
mov edi, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
push eax
push ebx
push edi
call fcn.004111e0
add esp, 0xc
lea ecx, [edi + eax]
inc dword [esi + 0x14]
cmp ecx, ebx
jae 0x414157
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x414130
mov ecx, dword [esi + 0x14]
mov eax, ecx
and eax, 1
xor ecx, 1
lea edi, [ecx + eax*2]
lea eax, [edi + edi]
test edi, edi
jns 0x414171
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edx, eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x2c], ecx
cmp eax, ecx
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x24]
jae 0x414488
mov edx, dword [esi + 0x34]
cmp edi, ebx
jae 0x414488
mov edx, dword [esi + 0x34]
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x414488
lea eax, [esi + 0xc]
push eax
push ebx
push edi
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x2c]
jae 0x414485
add edi, eax
cmp edi, ebx
mov eax, dword [esi + 0x20]
jb 0x4141b0
jmp 0x414488
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x44a918]
mov ebx, dword [esi + 0xb0]
mov word [ebx], 0x79c8
mov eax, dword [esi + 0xdc]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x414267
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + ecx]
add edx, 0xa3f17816
add eax, 0xa3f17816
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0xc]
add al, 0x92
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414230
push ebx
push edi
call fcn.00404450
add esp, 8
mov dword [esi + 0x24], eax
mov ebx, dword [esi + 0x118]
mov dword [ebx], 0xcb4a
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4142cd
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [ebx + ecx]
mov edx, eax
xor edx, 0x78b76433
and eax, 0xf8b76433
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
inc al
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414290
push ebx
push edi
call fcn.00404450
add esp, 8
mov edi, dword [esi + 0x24]
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x44aa90]
mov ecx, edi
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne 0x414300
mov dword [esi + 0x20], eax
mov dword [esi + 0x14], 0
cmp edi, edx
jbe 0x414357
cmp byte [edx], 0
je 0x414357
mov dword [esi + 0x14], 0
mov ebx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
push eax
push edi
push ebx
call fcn.004111e0
add esp, 0xc
lea ecx, [ebx + eax]
inc dword [esi + 0x14]
cmp ecx, edi
jae 0x414357
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x414330
mov ecx, dword [esi + 0x14]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ebx, [ecx + eax*2]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x414371
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + ebx*2]
add ecx, 0xfffffffe
mov edx, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x2c], ecx
cmp eax, ecx
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
jae 0x41494e
mov edx, dword [esi + 0x3c]
cmp ebx, edi
jae 0x41494e
mov edx, dword [esi + 0x3c]
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x41494e
lea eax, [esi + 0xc]
push eax
push edi
push ebx
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x2c]
jae 0x41494b
add ebx, eax
cmp ebx, edi
mov eax, dword [esi + 0x20]
jb 0x4143b0
jmp 0x41494e
sete al
movzx eax, al
jmp dword [eax*4 + 0x44a920]
mov dword [esi + 0x88], 0xcb5c
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x41445d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x88]
mov edx, eax
xor edx, 0xffbf87b3
and eax, 0xffbf87b3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x81
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x88], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414420
push 2
lea eax, [esi + 0x88]
push eax
push edi
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
lea ebx, [esi + 0xc]
jmp dword [ecx*4 + 0x44a928]
jmp case.0x4118ec.57
mov eax, dword [esi + 0x20]
mov word [edx], 0
xor edi, edi
mov ebx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x4144a0
lea eax, [ebx + 2]
test edi, edi
jns 0x4144b8
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
add ebx, eax
mov edx, eax
mov dword [esi + 0x30], eax
cmp eax, ebx
mov ecx, dword [esi + 0x20]
jae 0x414526
lea eax, [ecx + edi]
dec eax
mov edx, dword [esi + 0x30]
cmp ecx, eax
jae 0x414526
mov edx, dword [esi + 0x30]
mov dword [esi + 0x2c], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x414526
mov edi, eax
lea eax, [esi + 0xc]
push eax
push edi
push ecx
mov edi, ecx
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, ebx
jae 0x414526
add edi, eax
mov eax, dword [esi + 0x2c]
cmp edi, eax
mov ecx, edi
jb 0x4144f0
mov word [edx], 0
mov edi, dword [esi + 0x10c]
mov word [edi], 0x918d
mov byte [edi + 2], 0x16
mov word [edi + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x41458d
nop
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0xda198fc6
add eax, eax
and eax, 0xb4331f8c
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [eax + edx*2]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x22
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414550
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.004046b0
add esp, 8
xor ecx, ecx
mov dword [esi + 0x3c], eax
test eax, eax
setne cl
mov dword [esi + 0x38], 0
mov dword [esi + 0x24], 0
jmp dword [ecx*4 + 0x44ab30]
mov edi, dword [esi + 0xa8]
mov ecx, edi
push 3
call fcn.0040d3a0
push dword [esi + 0x24]
mov ebx, dword [esi + 0x38]
push ebx
push dword [esi + 0x30]
push dword [esi + 0x34]
push edi
call fcn.0041f0d0
add esp, 0x14
mov ecx, edi
mov edi, ebx
call fcn.0040dcb0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x44ab70]
mov edx, edi
add edi, 0xfffffffc
mov eax, dword [edx - 4]
xor ecx, ecx
test eax, eax
lea eax, [eax + eax*2]
lea ebx, [edx + eax*4]
sete cl
jmp dword [ecx*4 + 0x44ab78]
push edi
call fcn.0040ca20
add esp, 4
jmp dword [0x44ab88]
jmp dword [0x44ab90]
push dword [esi + 0x30]
call fcn.0040ca20
add esp, 4
mov ecx, dword [esi + 0xa8]
call fcn.0040d3e0
mov eax, dword [case.0x4118ec.57]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add ebx, 0xfffffff4
xor eax, eax
cmp ebx, dword [esi + 0x38]
sete al
jmp dword [eax*4 + 0x44ab80]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x414660
push eax
call fcn.0040ca20
add esp, 4
jmp 0x414660
push dword [esi + 0x3c]
call fcn.00404c00
add esp, 4
mov ecx, eax
mov dword [esi + 0x24], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov edi, 0xffffffff
add eax, 4
jb 0x4146af
mov edi, eax
test dl, dl
jne 0x4146b5
mov ecx, edi
push ecx
call fcn.0040ca10
add esp, 4
mov edx, dword [esi + 0x24]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x44ab38]
mov dword [esi + 0x38], eax
xor ecx, ecx
jmp 0x4146e9
mov word [ecx], 0
mov ecx, dword [esi + 0x2c]
inc ecx
mov eax, dword [case.0x413968.87]
mov edi, dword [esi + 0xb8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, dword [esi + 0x24]
setb al
jmp dword [eax*4 + 0x44ab68]
mov dword [esi + 0x2c], ecx
push ecx
push dword [esi + 0x3c]
call fcn.00404c10
add esp, 8
mov ebx, eax
mov word [edi], 0xeb1d
mov byte [edi + 2], 0x7e
mov dword [edi + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x414785
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0x918df56a
and eax, 0x118df56a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0xee
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x414750
push edi
push ebx
call fcn.00404450
add esp, 8
mov dword [esi + 0x20], eax
mov edx, dword [esi + 0xbc]
mov dword [edx], 0x6af5cf
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x414808
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0x75ab1f17
and eax, 0xf5ab1f17
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
lea ecx, [edx + eax*2]
mov edi, ecx
xor edi, eax
mov edx, eax
not edx
and ecx, edx
add ecx, ecx
sub ecx, edi
xor eax, ecx
and ecx, edx
mov edx, dword [esi + 0xbc]
add ecx, ecx
sub ecx, eax
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
add al, 0x8d
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x4147b0
push edx
push ebx
call fcn.00404450
add esp, 8
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x11c]
mov dword [edx], 0x36b5c5
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x41485a
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0x3a8efbf6
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x32
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414830
push edx
push ebx
call fcn.00404450
add esp, 8
mov ecx, dword [esi + 0x2c]
lea ecx, [ecx + ecx*2]
mov edx, dword [esi + 0x38]
mov dword [edx + ecx*4], 0
mov edi, dword [esi + 0x20]
mov dword [edx + ecx*4 + 4], edi
lea edi, [edx + ecx*4]
mov dword [esi + 0x20], edi
mov dword [edx + ecx*4 + 8], eax
xor ebx, ebx
mov edi, 0xfffffffe
mov eax, dword [esi + 0x14]
nop
add edi, 2
cmp byte [eax + ebx], 0
lea ebx, [ebx + 1]
jne 0x414890
test ebx, ebx
jns 0x4148b0
mov eax, 0xffffffff
jmp 0x4148b3
lea eax, [edi + 2]
push eax
call fcn.0040ca10
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x14]
lea edx, [eax + ebx]
dec edx
mov dword [esi + 0xc], 0
cmp edx, eax
jbe 0x4146e0
add edi, ecx
cmp ecx, edi
jae 0x4146e0
mov dword [esi + 0x20], edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
je 0x4146e0
lea ebx, [esi + 0xc]
push ebx
push edx
push eax
mov ebx, eax
mov dword [esi + 0x14], ecx
call fcn.004111e0
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov edx, dword [esi + 0x14]
mov word [edx], cx
mov ecx, dword [esi + 0x14]
add ecx, 2
cmp ecx, edi
jae 0x4146e0
add ebx, eax
mov edx, dword [esi + 0x20]
cmp ebx, edx
mov eax, ebx
jb 0x4148f0
jmp 0x4146e0
jmp dword [0x44ab88]
push dword [esi + 0x34]
call fcn.0040ca20
add esp, 4
jmp dword [0x44ab90]
mov eax, dword [esi + 0x20]
mov word [edx], 0
lea edi, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x414960
mov ecx, edi
xor edi, edi
mov dword [esi + 0x14], ecx
cmp eax, ecx
jae 0x4149a8
cmp byte [eax], 0
je 0x4149a8
xor edi, edi
mov ebx, dword [esi + 0x20]
nop
nop
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
push eax
push dword [esi + 0x14]
push ebx
call fcn.004111e0
add esp, 0xc
lea ecx, [ebx + eax]
inc edi
cmp ecx, dword [esi + 0x14]
jae 0x4149a8
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x414980
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4149b6
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x2c], ecx
cmp eax, ecx
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x14]
jae 0x414a1e
mov edx, dword [esi + 0x34]
cmp ebx, edi
jae 0x414a1e
mov edx, dword [esi + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x414a1e
lea eax, [esi + 0xc]
push eax
push edi
push ebx
mov dword [esi + 0x20], edx
call fcn.004111e0
mov edx, dword [esi + 0x20]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x2c]
jae 0x414a1e
add ebx, eax
cmp ebx, edi
jb 0x4149f0
mov word [edx], 0
mov edx, dword [esi + 0x110]
mov word [edx], 0x3925
mov byte [edx + 2], 0x82
mov dword [edx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x414a7a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0xbb9e7220
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x60
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x414a50
push edx
push dword [ebp + 8]
call fcn.004046b0
add esp, 8
xor ecx, ecx
mov dword [esi + 0x38], eax
test eax, eax
setne cl
xor edi, edi
mov dword [esi + 0x24], 0
jmp dword [ecx*4 + 0x44aa98]
mov ebx, dword [esi + 0x70]
mov ecx, ebx
push 2
call fcn.0040d3a0
push edi
push dword [esi + 0x24]
push dword [esi + 0x34]
push dword [esi + 0x3c]
push ebx
call fcn.0041aad0
add esp, 0x14
mov ecx, ebx
call fcn.0040dcb0
movzx eax, al
mov edi, dword [esi + 0x74]
jmp dword [eax*4 + 0x44aad8]
push dword [esi + 0x38]
call fcn.00404c00
add esp, 4
mov dword [esi + 0x20], eax
mov ecx, 0xc
mul ecx
seto cl
mov edi, 0xffffffff
mov edx, 0xffffffff
add eax, 4
jb 0x414afc
mov edx, eax
test cl, cl
jne 0x414b02
mov edi, edx
mov ebx, dword [case.0x414a99.5]
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040ca10
add esp, 4
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
jmp ebx
add eax, 4
mov dword [esi + 0x24], eax
xor eax, eax
mov edi, dword [esi + 0x20]
test edi, edi
sete al
jmp dword [eax*4 + 0x44aab0]
lea eax, [edi + edi*2]
mov ecx, dword [esi + 0x24]
lea eax, [ecx + eax*4]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x44aab8]
mov eax, dword [case.0x413968.49]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
xor eax, eax
cmp ebx, edi
setb al
jmp dword [eax*4 + 0x44aad0]
push edx
push dword [esi + 0x14]
call fcn.004047e0
add esp, 8
xor edx, edx
test eax, eax
setg dl
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + 0x24]
lea ecx, [ecx + eax*4]
push edx
push dword [esi + 0x2c]
push edi
call fcn.00419df0
inc ebx
xor eax, eax
mov edi, dword [esi + 0x20]
cmp ebx, edi
setb al
jmp dword [eax*4 + 0x44aad0]
push ebx
push dword [esi + 0x38]
call fcn.00404c10
add esp, 8
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc0]
mov dword [edx], 0xea1ab
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x414c4f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edx + eax]
add ecx, 0xf4d6b63d
mov edx, ecx
mov edi, eax
not edi
or edi, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
add eax, edi
inc eax
sub ecx, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov edx, dword [esi + 0xc0]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0xcf
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414c00
push edx
push dword [esi + 0x14]
call fcn.00404450
add esp, 8
mov dword [esi + 0x2c], eax
mov edi, dword [esi + 0x120]
mov word [edi], 0x8fa5
mov byte [edi + 2], 0xf6
mov word [edi + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x414cd6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
mov ecx, eax
xor ecx, 0xa246e97e
and eax, 0x2246e97e
lea eax, [ecx + eax*2]
lea ecx, [eax + edx]
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add al, 0x8a
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414c90
push edi
push dword [esi + 0x14]
call fcn.00404450
add esp, 8
mov edi, eax
mov edx, dword [esi + 0x80]
mov dword [edx], 0x2380859c
mov eax, dword [esi + 0xe8]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x414b90
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0xe77d7c8
and eax, 0xe77d7c8
lea eax, [edx + eax*2]
mov edx, dword [esi + 0x80]
xor eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, eax
not ecx
and ecx, 0xe8
and eax, 0x17
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x414d20
jmp 0x414b90
push dword [esi + 0x30]
call fcn.0040ca20
add esp, 4
mov ebx, dword [esi + 0x4c]
mov edi, dword [esi + 0x6c]
jmp dword [0x44aa88]
jmp dword [0x44aa70]
mov edi, dword [esi + 0x2c]
inc edi
mov ebx, dword [esi + 0x38]
push ebx
call fcn.00404c00
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x44aa68]
mov dword [esi + 0x2c], edi
push edi
push ebx
call fcn.00404be0
add esp, 8
push eax
call fcn.00404560
add esp, 4
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44aa78]
mov ecx, eax
nop
nop
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne 0x414dd0
mov ebx, edi
sub ebx, eax
mov ecx, ebx
inc ecx
mov dword [esi + 0x14], eax
jns 0x414deb
mov eax, 0xffffffff
jmp 0x414df2
lea eax, [ebx*2 + 2]
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
cmp eax, ecx
mov ebx, dword [esi + 0x14]
jae 0x414e4e
mov edx, dword [esi + 0x24]
cmp ebx, edi
jae 0x414e4e
mov edx, dword [esi + 0x24]
nop
nop
cmp byte [ebx], 0
je 0x414e4e
lea eax, [esi + 0xc]
push eax
push edi
push ebx
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x20]
jae 0x414e4e
add ebx, eax
cmp ebx, edi
jb 0x414e20
mov word [edx], 0
push 0
push 0
push dword [esi + 0x3c]
push dword [esi + 0x34]
mov edi, dword [esi + 0x24]
push edi
push dword [esi + 0x40]
push dword [esi + 0x30]
push dword [esi + 0x6c]
call fcn.004212c0
add esp, 0x20
jmp dword [0x44aa80]
push edi
call fcn.0040ca20
add esp, 4
jmp case.0x413968.29
push dword [esi + 0x34]
call fcn.0040ca20
add esp, 4
mov edi, dword [esi + 0x68]
jmp dword [0x44a9a8]
push dword [esi + 0x3c]
call fcn.0040ca20
add esp, 4
mov ecx, edi
call fcn.0040dcb0
mov ecx, edi
jmp 0x412aa3
lea edi, [ecx - 4]
mov eax, dword [ecx - 4]
mov edx, ecx
xor ecx, ecx
test eax, eax
lea eax, [eax + eax*2]
lea ebx, [edx + eax*4]
sete cl
jmp dword [ecx*4 + 0x44aaf8]
push edi
call fcn.0040ca20
add esp, 4
mov ebx, dword [esi + 0x70]
jmp dword [0x44ab08]
push dword [esi + 0x34]
call fcn.0040ca20
add esp, 4
nop
nop
nop
nop
jmp dword [0x44ab1c]
jmp dword [0x44ab20]
add ebx, 0xfffffff4
xor eax, eax
cmp ebx, dword [esi + 0x24]
sete al
jmp dword [eax*4 + 0x44ab00]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x414f22
push eax
call fcn.0040ca20
add esp, 4
mov eax, dword [ebx - 8]
test eax, eax
je 0x414f00
push eax
call fcn.0040ca20
add esp, 4
jmp 0x414f00
xor eax, eax
mov ecx, dword [esi + 0x24]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x44aaf0]
lea eax, [ebx*2 + 2]
inc ebx
jns 0x414f54
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + ebx*2]
add ecx, 0xfffffffe
mov dword [esi + 0x14], eax
mov dword [esi + 0x2c], ecx
cmp eax, ecx
mov edi, dword [esi + 0x44]
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x20]
jae 0x414fbe
mov dword [esi + 0x14], eax
cmp edi, ebx
jae 0x414fbe
mov dword [esi + 0x14], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x414fbe
lea eax, [esi + 0xc]
push eax
push ebx
push edi
call fcn.004111e0
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov edx, dword [esi + 0x14]
mov word [edx], cx
add edx, 2
mov dword [esi + 0x14], edx
cmp edx, dword [esi + 0x2c]
jae 0x414fbe
add edi, eax
cmp edi, ebx
jb 0x414f90
mov eax, dword [esi + 0x14]
mov word [eax], 0
mov ecx, dword [esi + 0x68]
push 1
call fcn.0040d3a0
xor edi, edi
mov ebx, dword [esi + 0x38]
jmp case.0x410d93.129
mov edi, dword [esi + 0x2c]
inc edi
push ebx
call fcn.00404c00
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x44a968]
mov dword [esi + 0x2c], edi
push edi
push ebx
call fcn.00404be0
add esp, 8
push eax
call fcn.00404560
add esp, 4
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a988]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne 0x415030
mov ebx, edi
sub ebx, eax
mov ecx, ebx
inc ecx
mov dword [esi + 0x14], eax
jns 0x415050
mov eax, 0xffffffff
jmp 0x415057
lea eax, [ebx*2 + 2]
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
cmp eax, ecx
mov ebx, dword [esi + 0x14]
jae 0x4150c0
mov edx, dword [esi + 0x24]
cmp ebx, edi
jae 0x4150c0
mov edx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x4150c0
lea eax, [esi + 0xc]
push eax
push edi
push ebx
mov dword [esi + 0x14], edx
call fcn.004111e0
mov edx, dword [esi + 0x14]
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x20]
jae 0x4150c0
add ebx, eax
cmp ebx, edi
jb 0x415090
nop
nop
xor eax, eax
cmp dword [esi + 0x54], 0
setg al
mov word [edx], 0
push 0
push eax
push dword [esi + 0x30]
push dword [esi + 0x40]
mov edi, dword [esi + 0x24]
push edi
push dword [esi + 0x3c]
push dword [esi + 0x34]
push dword [esi + 0x68]
call fcn.004212c0
add esp, 0x20
mov ebx, dword [esi + 0x38]
jmp dword [0x44a990]
push edi
call fcn.0040ca20
add esp, 4
jmp case.0x410d93.134
jmp dword [0x44a97c]
jmp dword [0x44a980]
mov edi, dword [esi + 0x68]
jmp dword [0x44a9a8]
lea eax, [edx + 1]
cmp byte [edx], 0
je 0x415131
mov edx, eax
jmp 0x415125
xor ebx, ebx
cmp edx, ecx
mov dword [esi + 0x20], edx
jbe case.0x410d93.127
cmp byte [ecx], 0
je case.0x410d93.127
xor ebx, ebx
mov edi, dword [esi + 0x44]
nop
nop
nop
nop
mov dword [esi + 0xc], 0
lea eax, [esi + 0xc]
push eax
push edx
push edi
call fcn.004111e0
mov edx, dword [esi + 0x20]
add esp, 0xc
lea ecx, [edi + eax]
inc ebx
cmp ecx, edx
jae case.0x410d93.127
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x415150
jmp case.0x410d93.127
mov eax, dword [ebx + 4]
shr eax, 0xa
push 0xa
push 0xb
push dword [esi + 0xac]
push eax
call fcn.00419f40
add esp, 0x10
mov dword [edi], 0x91c5559
mov word [edi + 4], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 5
ja 0x4151f8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
add ecx, 0x581fdd83
xor ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, ecx
xor edx, 0x8f
and ecx, 0x70
add ecx, ecx
sub ecx, edx
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 6
jb 0x4151c0
mov edi, dword [esi + 0x50]
mov dword [edi], 0x9f9c8079
mov dword [edi + 4], 0x4d8d9999
mov dword [edi + 8], 0x9d9d9486
mov dword [edi + 0xc], 0x8156939b
mov dword [edi + 0x10], 0x928f5b85
mov dword [edi + 0x14], 0x985e9b8a
mov dword [edi + 0x18], 0xb2b3b594
mov dword [edi + 0x1c], 0x65b5bcaf
mov dword [edi + 0x20], 0xa4afacb4
mov dword [edi + 0x24], 0xb96ebba3
mov dword [edi + 0x28], 0xb9a673bd
mov dword [edi + 0x2c], 0xbea377bb
mov dword [edi + 0x30], 0xafb1a1a2
mov dword [edi + 0x34], 0xacaa7f74
mov dword [edi + 0x38], 0x1cec4a8
mov dword [edi + 0x3c], 0xc8c3c0d0
mov dword [edi + 0x40], 0xdc0adfcf
mov dword [edi + 0x44], 0x13c5d1c7
mov word [edi + 0x48], 0x730c
mov ecx, dword [esi + 0x9c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x4c
ja 0x4152f8
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, ecx
xor edx, 0xa86be107
mov edi, ecx
xor edi, 0x57941ef8
or ecx, 0x286be107
and ecx, edi
add ecx, ecx
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
xor ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, ecx
not edx
and edx, 0x23
and ecx, 0xdc
sub ecx, edx
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x4d
jb 0x4152a0
lea ecx, [0x44f6cf]
nop
nop
cmp byte [ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x415300
movzx edx, byte [edi]
test dl, dl
je 0x415332
xor edi, edi
mov ebx, dword [esi + 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + edi], dl
movzx edx, byte [ebx + edi + 1]
inc edi
test dl, dl
jne 0x415320
add ecx, edi
mov ebx, dword [esi + 0x70]
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
mov edi, dword [esi + 0x74]
je 0x41534b
inc eax
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x415340
mov byte [ecx], 0
movzx eax, byte [edi]
test al, al
je 0x41536b
mov edx, dword [esi + 0x98]
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x415360
mov byte [ecx], 0
mov eax, dword [ebx + 4]
shr eax, 0xa
push 0xa
push 0xb
push dword [esi + 0xac]
push eax
call fcn.00419f40
add esp, 0x10
mov dword [edi], 0x91c5559
mov word [edi + 4], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 5
ja 0x4153e8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
add ecx, 0x581fdd83
xor ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, ecx
xor edx, 0x8f
and ecx, 0x70
add ecx, ecx
sub ecx, edx
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 6
jb 0x4153b0
mov edi, dword [esi + 0x50]
mov dword [edi], 0x9f9c8079
mov dword [edi + 4], 0x4d8d9999
mov dword [edi + 8], 0x9d9d9486
mov dword [edi + 0xc], 0x8156939b
mov dword [edi + 0x10], 0x928f5b85
mov dword [edi + 0x14], 0x985e9b8a
mov dword [edi + 0x18], 0xb2b3b594
mov dword [edi + 0x1c], 0x65b5bcaf
mov dword [edi + 0x20], 0xa4afacb4
mov dword [edi + 0x24], 0xb96ebba3
mov dword [edi + 0x28], 0xb9a673bd
mov dword [edi + 0x2c], 0xbea377bb
mov dword [edi + 0x30], 0xafb1a1a2
mov dword [edi + 0x34], 0xacaa7f74
mov dword [edi + 0x38], 0x1cec4a8
mov dword [edi + 0x3c], 0xc8c3c0d0
mov dword [edi + 0x40], 0xdc0adfcf
mov dword [edi + 0x44], 0x13c5d1c7
mov word [edi + 0x48], 0x730c
mov ecx, dword [esi + 0x9c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x4c
ja 0x4154e8
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, ecx
xor edx, 0xa86be107
mov edi, ecx
xor edi, 0x57941ef8
or ecx, 0x286be107
and ecx, edi
add ecx, ecx
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
xor ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, ecx
not edx
and edx, 0x23
and ecx, 0xdc
sub ecx, edx
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x4d
jb 0x415490
lea ecx, [0x44f6cf]
nop
nop
cmp byte [ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4154f0
movzx edx, byte [edi]
test dl, dl
je 0x415522
xor edi, edi
mov ebx, dword [esi + 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + edi], dl
movzx edx, byte [ebx + edi + 1]
inc edi
test dl, dl
jne 0x415510
add ecx, edi
mov ebx, dword [esi + 0x70]
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
mov edi, dword [esi + 0x74]
je 0x41553b
inc eax
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x415530
mov byte [ecx], 0
movzx eax, byte [edi]
test al, al
je 0x41555b
mov edx, dword [esi + 0x98]
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x415550
mov byte [ecx], 0
jmp dword [0x44aaec]
lea eax, [edx + 1]
cmp byte [edx], 0
je 0x415570
mov edx, eax
jmp 0x415564
mov edi, edx
push edx
push ecx
call fcn.00419da0
add esp, 8
mov ecx, eax
and ecx, 1
xor eax, 1
lea ebx, [eax + ecx*2]
lea eax, [ebx + ebx]
test ebx, ebx
jns 0x415593
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], 0
lea ecx, [eax + ebx*2]
add ecx, 0xfffffffe
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x20], ecx
cmp eax, ecx
mov ecx, dword [esi + 0x54]
jae 0x4155fd
mov ebx, edi
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp ecx, edi
jae 0x4155fd
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp byte [ecx], 0
je 0x4155fd
lea eax, [esi + 0xc]
push eax
push ebx
push ecx
mov edi, ecx
call fcn.004111e0
add esp, 0xc
movzx ecx, word [esi + 0xc]
mov edx, dword [esi + 0x14]
mov word [edx], cx
add edx, 2
mov dword [esi + 0x14], edx
cmp edx, dword [esi + 0x20]
jae 0x4155fd
add edi, eax
cmp edi, ebx
mov ecx, edi
jb 0x4155cb
mov eax, dword [esi + 0x14]
mov word [eax], 0
mov ecx, dword [esi + 0x6c]
push 1
call fcn.0040d3a0
xor edi, edi
jmp 0x414d8e
mov dword [esi + 0xec], edi
mov eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x58]
add eax, 2
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x7c]
add eax, 2
mov dword [esi + 0xc8], eax
add edx, 2
mov dword [esi + 0xa0], edx
add ebx, 2
mov dword [esi + 0xe0], ebx
mov eax, dword [esi + 0x50]
add eax, 0x4a
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x80]
add eax, 4
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xb0]
add eax, 2
mov dword [esi + 0xdc], eax
xor ebx, ebx
jmp 0x4129c7
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov dword [esi + 0x108], esp
sub esp, 8
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0x104], esp
sub esp, 8
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x100], esp
sub esp, 8
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0xfc], esp
push eax
mov dword [esi + 0xf8], esp
push eax
mov dword [esi + 0xf4], esp
sub esp, 0x10
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x78], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x6c], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x118], esp
sub esp, 8
mov dword [esi + 0x110], esp
push eax
mov dword [esi + 0xc0], esp
sub esp, 8
mov dword [esi + 0x120], esp
sub esp, 8
mov dword [esi + 0x80], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0xac], esp
sub esp, 8
mov dword [esi + 0x74], esp
sub esp, 0x50
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x114], esp
sub esp, 8
mov dword [esi + 0xb4], esp
sub esp, 8
mov dword [esi + 0x10c], esp
sub esp, 8
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0xbc], esp
push eax
mov dword [esi + 0x11c], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xa8], eax
mov esp, eax
mov word [esi + 0xc], 0x3b91
mov dword [esi + 0xe], 0
mov byte [esi + 0x12], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 6
ja 0x4157f2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0xc]
mov ecx, eax
xor ecx, 0x82b6eb0b
and eax, 0x2b6eb0b
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edi, eax
not edi
and edi, ecx
mov edx, ecx
not edx
and eax, edx
sub eax, edi
mov edi, eax
not edi
and edi, ecx
and eax, edx
sub eax, edi
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xc9
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 7
jb 0x4157a0
lea eax, [esi + 0xc]
push eax
push ebx
call fcn.004046b0
add esp, 8
jmp dword [0x44a8c4]
mov word [esi + 0xc], 0x3b91
mov dword [esi + 0xe], 0
mov byte [esi + 0x12], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 6
ja 0x415882
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx edx, byte [esi + ecx + 0xc]
mov ecx, eax
xor ecx, 0x82b6eb0b
and eax, 0x2b6eb0b
lea ecx, [ecx + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edi, eax
not edi
and edi, ecx
mov edx, ecx
not edx
and eax, edx
sub eax, edi
mov edi, eax
not edi
and edi, ecx
and eax, edx
sub eax, edi
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add al, 0xc9
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 7
jb 0x415830
lea eax, [esi + 0xc]
push eax
push ebx
call fcn.004046b0
add esp, 8
jmp case.0x4118ec.44
xor ecx, ecx
test eax, eax
sete cl
mov edi, eax
xor eax, eax
mov edx, dword [esi + 0xa4]
mov ebx, dword [esi + 0xb4]
jmp dword [ecx*4 + 0x44a8c8]
int3
ret
mov al, cl
and eax, 1
mov dword [esi + 0x648], eax
mov eax, dword [esi + 0x64c]
mov ecx, dword [esi + 0x648]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xbc], eax
call fcn.0040e3e0
mov dword [esi + 0x4a8], 0
mov eax, dword [esi + 0x4ac]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x6f0], 0
mov eax, dword [esi + 0x6f4]
mov ecx, dword [esi + 0x6f0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xf4]
mov ebx, dword [esi + 0x2bc]
jmp eax
mov eax, dword [esi + 0x720]
mov ecx, dword [esi + 0x724]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [0x72bce433], eax
dec ebp
mov cl, 0xcd
mov eax, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x3b4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov eax, dword [esi + 0xc0]
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xb8797400
mov al, byte [esi + 0x1b0]
mov byte [esi + 0x1bc], al
mov byte [esi + 0x1b4], 0x9d
mov byte [esi + 0x1b5], 0x9e
mov byte [esi + 0x1b6], 0x9f
mov byte [esi + 0x1b7], 0x90
mov eax, 4
mov byte [esi + eax + 0x1b4], 0
add eax, 1
cmp eax, 6
jne 0x4165d6
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x3c]
cmp eax, 6
jae 0x416628
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [esi + ecx + 0x1b4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
add esp, 8
mov ecx, dword [esi + 0x3c]
mov byte [esi + ecx + 0x1b4], al
mov eax, dword [esi + 0x3c]
inc eax
mov dword [esi + 0x3c], eax
jmp 0x4165ed
mov edx, dword [esi + 0x1b4]
xor edi, edi
cmp edi, dword [0x4506dc]
jb 0x41663a
jmp 0x4166ae
mov eax, dword [0x4506e0]
cmp dword [eax + edi*8], 0x7e28bda7
sete bl
test bl, 1
jne 0x416650
jmp 0x4166a2
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x4166a2
mov ecx, dword [0x4506e4]
mov dword [esi + 0x274], edx
xor edx, edx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esi + 0xbc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0xc0]
mov dword [esp + 0x14], eax
call fcn.00440260
mov edx, dword [esi + 0x274]
add esp, 0x18
test bl, 1
je 0x4166a9
jmp 0x4166ae
add edi, 1
jmp 0x416630
mov al, byte [esi + 0x114]
mov byte [esi + 0x1cc], al
mov byte [esi + 0x118], 0x9d
mov byte [esi + 0x119], 0x9e
mov byte [esi + 0x11a], 0x9f
mov byte [esi + 0x11b], 0x90
mov eax, 4
mov byte [esi + eax + 0x118], 0
add eax, 1
cmp eax, 6
jne 0x4166db
mov dword [esi + 0x2c], 0
mov eax, dword [esi + 0x2c]
cmp eax, 6
jae 0x41672d
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [esi + ecx + 0x118]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
add esp, 8
mov ecx, dword [esi + 0x2c]
mov byte [esi + ecx + 0x118], al
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
jmp 0x4166f2
mov ecx, dword [esi + 0x118]
xor edi, edi
cmp edi, dword [0x4506dc]
jb 0x41673f
jmp 0x41679f
mov eax, dword [0x4506e0]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x416755
jmp 0x416793
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x416793
mov dword [esi + 0x264], ecx
mov ecx, dword [0x4506e4]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0xbc]
mov dword [esp + 0xc], eax
call fcn.00440260
mov ecx, dword [esi + 0x264]
add esp, 0x10
test bl, 1
je 0x41679a
jmp 0x41679f
add edi, 1
jmp 0x416735
mov dword [esi + 0x4a0], 1
mov eax, dword [esi + 0x4a4]
mov ecx, dword [esi + 0x4a0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x15]
mov al, cl
and eax, 1
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0x5f4]
mov ecx, dword [esi + 0x5f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x78]
cmp eax, 0x10
jae 0x416838
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x78]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a490
add esp, 8
mov ecx, dword [esi + 0x78]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x78]
inc eax
mov dword [esi + 0x78], eax
jmp 0x416805
mov eax, dword [esi + 0x380]
mov ecx, dword [esi + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x440], 0
mov eax, dword [esi + 0x444]
mov ecx, dword [esi + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [esi + 0x1e4], 0
sete al
mov byte [esi + 0x17], al
movzx eax, al
mov dword [esi + 0x788], eax
mov eax, dword [esi + 0x78c]
mov ecx, dword [esi + 0x788]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x7f8]
mov ecx, dword [esi + 0x7fc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
mov eax, dword [0x4506d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
call fcn.00442fb0
add esp, 8
mov edi, eax
cmp edi, 0
setne bl
test bl, 1
jne 0x4168cc
call fcn.0040e3e0
call fcn.0040e3e0
test bl, 1
jne 0x4168dd
xor edi, edi
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
sub esp, 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x423410
mov dword [esp + 4], 0
mov dword [esp], 0
call edi
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x4b0], ecx
mov edx, dword [esi + 0x4b4]
mov ecx, dword [esi + 0x4b0]
mov ecx, dword [edx + ecx*4]
mov edi, dword [esi + 4]
jmp ecx
call fcn.0040e3e0
mov dword [esi + 0x8b0], 1
mov eax, dword [esi + 0x8b4]
mov ecx, dword [esi + 0x8b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x228]
mov al, byte [eax]
mov byte [esi + 0x144], al
mov byte [edi], 0xab
mov byte [edi + 1], 0xf
mov eax, 2
mov byte [edi + eax], 0
add eax, 1
cmp eax, 5
jne 0x4169ad
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x48]
cmp eax, 5
jae 0x4169f3
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a2c0
add esp, 8
mov ecx, dword [esi + 0x48]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
jmp 0x4169c0
sub esp, 0xc
mov dword [esp + 4], edi
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404ae0
add esp, 0xc
mov dword [esi + 0x828], 1
mov ecx, dword [esi + 0x82c]
mov edx, dword [esi + 0x828]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x5a0]
mov ecx, dword [esi + 0x5a4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xc]
jmp eax
mov eax, dword [esi + 0x690]
mov ecx, dword [esi + 0x694]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040cb40
add esp, 4
mov ecx, ebx
add ecx, eax
sub esp, 8
mov dword [esp], ebx
mov dword [esi + 0xb4], ecx
mov dword [esp + 4], ecx
call fcn.00419da0
add esp, 8
xor ecx, ecx
mov dword [esi + 0x1e0], eax
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416aa3
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040ca10
add esp, 4
mov edx, eax
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esi + 0x284], eax
cmp dword [esi + 0xb4], 0
jne 0x416ae4
sub esp, 4
mov dword [esp], ebx
mov edi, edx
call fcn.0040cb40
mov edx, edi
add esp, 4
mov ecx, ebx
add ecx, eax
mov dword [esi + 0xb4], ecx
mov dword [esi + 0x240], 0
mov edi, edx
mov eax, dword [esi + 0x284]
add eax, 0xfffffffe
mov ecx, edi
sub ecx, eax
setb al
mov ecx, ebx
sub ecx, dword [esi + 0xb4]
setb cl
and al, cl
test al, 1
jne 0x416b13
jmp 0x416b5a
cmp byte [ebx], 0
je 0x416b5a
lea eax, [esi + 0x240]
sub esp, 0xc
mov dword [esp], ebx
mov ecx, dword [esi + 0xb4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x298], ebx
mov ebx, edx
call fcn.004111e0
mov edx, ebx
mov ebx, dword [esi + 0x298]
add esp, 0xc
mov ecx, dword [esi + 0x240]
mov word [edi], cx
add edi, 2
add ebx, eax
jmp 0x416af0
mov word [edi], 0
mov eax, dword [0x4506d8]
sub esp, 0x18
mov edi, dword [esi + 0x2d0]
mov dword [esp + 0x14], edi
mov ecx, dword [esi + 0x1e0]
mov dword [esp + 8], ecx
mov ebx, edx
mov dword [esp + 4], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
mov ecx, dword [edi]
add ecx, ecx
mov eax, 0xffffffff
jb 0x416ba7
mov eax, ecx
sub esp, 4
mov dword [esp], eax
call fcn.0040ca10
add esp, 4
mov edx, dword [0x4506d8]
mov ecx, dword [edi]
sub esp, 0x18
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ecx
mov dword [esi], eax
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1e0]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call edx
mov dword [esi + 0x778], 0
mov eax, dword [esi + 0x77c]
mov ecx, dword [esi + 0x778]
mov eax, dword [eax + ecx*4]
jmp eax
sbb eax, 0x8b998ec6
add eax, dword [ebx + 0x48904ec]
and al, 0xe8
das
push 0xc4830002
add al, 0xc7
add eax, dword [eax]
add byte [eax], al
add byte [ebx + 0x35086], cl
add byte [ebx + 0x3548e], cl
add byte [ebx - 0x1f007efc], cl
mov eax, dword [esi + 0x224]
mov al, byte [eax]
mov byte [esi + 0x148], al
mov byte [edi], 0x35
mov byte [edi + 1], 0x81
mov eax, 2
mov byte [edi + eax], 0
add eax, 1
cmp eax, 6
jne 0x416c45
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x54]
cmp eax, 6
jae 0x416c8b
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x54]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a2f0
add esp, 8
mov ecx, dword [esi + 0x54]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x54]
inc eax
mov dword [esi + 0x54], eax
jmp 0x416c58
sub esp, 8
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404450
add esp, 8
mov al, byte [ebx]
mov byte [esi + 0x150], al
mov edx, dword [esi + 0xd8]
mov byte [edx], 0xa2
mov byte [edx + 1], 0xb5
mov byte [edx + 2], 0x56
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 4
jne 0x416cbe
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 4
jae 0x416d0a
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x5c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a340
mov edx, dword [esi + 0xd8]
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x5c]
inc eax
mov dword [esi + 0x5c], eax
jmp 0x416cd1
sub esp, 8
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00404580
fstp st(0)
add esp, 8
mov eax, dword [esi + 0x21c]
mov al, byte [eax]
mov byte [esi + 0x158], al
mov edx, dword [esi + 0xd4]
mov byte [edx], 0x6b
mov byte [edx + 1], 0x8f
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x416d41
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x64]
cmp eax, 6
jae 0x416d8d
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x64]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a380
mov edx, dword [esi + 0xd4]
add esp, 8
mov ecx, dword [esi + 0x64]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x64], eax
jmp 0x416d54
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x394]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 0x10
jae 0x416dd8
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x74]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a490
add esp, 8
mov ecx, dword [esi + 0x74]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x74], eax
jmp 0x416da5
mov dword [esi + 0x710], 0
mov eax, dword [esi + 0x714]
mov ecx, dword [esi + 0x710]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ebx, dword [esi + 0xc]
test ebx, ebx
sete al
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x42c]
mov ecx, dword [esi + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
pop ebp
mov al, byte [0x58868b5d]
add eax, dword [eax]
add byte [ebx + 0x35c8e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040e3e0
mov dword [esi + 0x3f0], 0
mov eax, dword [esi + 0x3f4]
mov ecx, dword [esi + 0x3f0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x1ec]
jmp eax
mov al, byte [edx]
mov byte [esi + 0x170], al
mov byte [edi], 0xa6
mov byte [edi + 1], 0x91
mov byte [edi + 2], 0x6f
mov byte [edi + 3], 0x93
mov byte [edi + 4], 0x24
mov byte [edi + 5], 0xad
mov byte [edi + 6], 0x53
mov byte [edi + 7], 0xaf
mov byte [edi + 8], 0xa8
mov byte [edi + 9], 0xa9
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x416ec2
mov dword [esi + 0x728], 1
mov eax, dword [esi + 0x72c]
mov ecx, dword [esi + 0x728]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x330]
mov ecx, dword [esi + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x6d8], 1
mov eax, dword [esi + 0x6dc]
mov ecx, dword [esi + 0x6d8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edx
call fcn.0040ca20
add esp, 4
mov eax, dword [esi + 0x5f8]
mov ecx, dword [esi + 0x5fc]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x1ec], ecx
mov dword [esi + 0xc0], edi
mov cl, byte [esi + 0x14]
mov al, cl
and eax, 1
mov dword [esi + 0x8b8], eax
mov eax, dword [esi + 0x8bc]
mov ecx, dword [esi + 0x8b8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca20
add esp, 4
mov dword [esi + 0x438], 1
mov eax, dword [esi + 0x43c]
mov ecx, dword [esi + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x5b0], 1
mov eax, dword [esi + 0x5b4]
mov ecx, dword [esi + 0x5b0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi]
jmp eax
call fcn.0040e3e0
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040f7c0
add esp, 8
mov dword [esi + 0x528], 1
mov eax, dword [esi + 0x52c]
mov ecx, dword [esi + 0x528]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x8a8], 0
mov eax, dword [esi + 0x8ac]
mov ecx, dword [esi + 0x8a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
setl al
mov dword [esi + 0x4f8], eax
mov eax, dword [esi + 0x4fc]
mov ecx, dword [esi + 0x4f8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x5d0], 1
mov eax, dword [esi + 0x5d4]
mov ecx, dword [esi + 0x5d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x5c0]
mov ecx, dword [esi + 0x5c4]
mov eax, dword [ecx + eax*4]
mov dword [esi], 0
mov dword [esi + 0x1c], 0
mov ebx, dword [esi + 0xc]
jmp eax
fmul dword [0xec83b389]
add al, 0x89
sbb al, 0x24
call fcn.0041a1b0
add esp, 4
add eax, 0x1d
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417276
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040ca10
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x1f4]
mov al, byte [eax]
mov byte [esi + 0x190], al
mov edx, dword [esi + 0x20]
mov byte [edx], 0xa6
mov byte [edx + 1], 0x89
mov byte [edx + 2], 0xb6
mov byte [edx + 3], 0xb7
mov eax, 4
mov byte [edx + eax], 0
add eax, 1
cmp eax, 8
jne 0x4172ab
mov dword [esi + 0xa4], 0
mov ecx, dword [esi + 0xc4]
mov eax, dword [esi + 0xa4]
cmp eax, 8
jae 0x417315
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa4]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a610
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xa4]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xc4]
mov eax, dword [esi + 0xa4]
inc eax
mov dword [esi + 0xa4], eax
jmp 0x4172c7
mov al, byte [ecx]
mov byte [esi + 0x198], al
mov edx, dword [esi + 0xc8]
mov byte [edx], 0x30
mov byte [edx + 1], 0x81
mov byte [edx + 2], 0x2d
mov byte [edx + 3], 0x83
mov byte [edx + 4], 0x33
mov byte [edx + 5], 0x85
mov byte [edx + 6], 0x23
mov byte [edx + 7], 0x87
mov byte [edx + 8], 0x3a
mov byte [edx + 9], 0x89
mov byte [edx + 0xa], 0x39
mov byte [edx + 0xb], 0x8b
mov byte [edx + 0xc], 0x24
mov byte [edx + 0xd], 0x8d
mov byte [edx + 0xe], 0x2b
mov byte [edx + 0xf], 0x8f
mov byte [edx + 0x10], 0x3c
mov byte [edx + 0x11], 0x91
mov byte [edx + 0x12], 0x3e
mov byte [edx + 0x13], 0x93
mov byte [edx + 0x14], 0x74
mov byte [edx + 0x15], 0x95
mov byte [edx + 0x16], 0x7b
mov byte [edx + 0x17], 0x97
mov byte [edx + 0x18], 0x3d
mov byte [edx + 0x19], 0x99
mov byte [edx + 0x1a], 0x22
mov byte [edx + 0x1b], 0x9b
mov byte [edx + 0x1c], 0x39
mov byte [edx + 0x1d], 0x9d
mov byte [edx + 0x1e], 0x3d
mov byte [edx + 0x1f], 0x9f
mov byte [edx + 0x20], 0x80
mov byte [edx + 0x21], 0x61
mov byte [edx + 0x22], 0xc0
mov byte [edx + 0x23], 0x63
mov byte [edx + 0x24], 0xdd
mov byte [edx + 0x25], 0x65
mov byte [edx + 0x26], 0xd6
mov byte [edx + 0x27], 0x67
mov byte [edx + 0x28], 0xc9
mov byte [edx + 0x29], 0x69
mov byte [edx + 0x2a], 0xd9
mov byte [edx + 0x2b], 0x6b
mov byte [edx + 0x2c], 0xdf
mov byte [edx + 0x2d], 0x6d
mov byte [edx + 0x2e], 0x8e
mov byte [edx + 0x2f], 0x6f
mov byte [edx + 0x30], 0x9d
mov byte [edx + 0x31], 0x71
mov byte [edx + 0x32], 0xd4
mov byte [edx + 0x33], 0x73
mov byte [edx + 0x34], 0x94
mov byte [edx + 0x35], 0x75
mov byte [edx + 0x36], 0x94
mov byte [edx + 0x37], 0x77
mov byte [edx + 0x38], pe_nt_image_headers32
mov byte [edx + 0x39], 0x79
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3c
jne 0x41740f
mov dword [esi + 0x9c], 0
mov eax, dword [esi + 0x9c]
cmp eax, 0x3c
jae 0x417470
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x9c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a5e0
mov edx, dword [esi + 0xc8]
add esp, 8
mov ecx, dword [esi + 0x9c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x9c]
inc eax
mov dword [esi + 0x9c], eax
jmp 0x417425
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.0040f7c0
mov ebx, dword [esi]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040f7c0
mov ecx, dword [esi + 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
or dword [ecx + 0x5050916d], edx
push eax
sub esp, 8
push eax
sub esp, 8
push eax
sub esp, 8
push eax
push eax
push eax
sub esp, 8
push eax
sub esp, 0x400
push eax
push eax
sub esp, 8
push eax
push eax
sub esp, 8
push eax
sub esp, 0x40
sub esp, 0x60
sub esp, 0x10
push eax
push eax
sub esp, 0x10
push eax
sub esp, 0x10
push eax
sub esp, 0xc
push eax
push eax
sub esp, 8
push eax
sub esp, 8
push eax
sub esp, 0x18
push eax
sub esp, 8
push eax
sub esp, 0x3c
push eax
sub esp, 0x38
push eax
sub esp, 0x44
sub esp, 0x10
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
sub esp, 0x40
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004047c0
add esp, 4
mov eax, dword [esi + 0x3c8]
mov ecx, dword [esi + 0x3cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x6e0]
mov ecx, dword [esi + 0x6e4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xd0]
jmp eax
mov eax, dword [esi + 0x3b8]
mov ecx, dword [esi + 0x3bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x678]
mov ecx, dword [esi + 0x67c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x890], 0
mov eax, dword [esi + 0x894]
mov ecx, dword [esi + 0x890]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [ebx], 0
mov eax, dword [esi + 0x2c8]
mov al, byte [eax]
mov byte [esi + 0x168], al
mov edx, dword [esi + 0x208]
mov byte [edx], 0xf
mov byte [edx + 1], 0x2b
mov byte [edx + 2], 0x5e
mov byte [edx + 3], 0x29
mov byte [edx + 4], 0x63
mov byte [edx + 5], 0x2f
mov byte [edx + 6], 0x5d
mov byte [edx + 7], 0x2d
mov byte [edx + 8], 0x5c
mov byte [edx + 9], 0x53
mov byte [edx + 0xa], 0x79
mov byte [edx + 0xb], 0x51
mov byte [edx + 0xc], 0x2c
mov byte [edx + 0xd], 0x57
mov byte [edx + 0xe], 0x56
mov byte [edx + 0xf], 0x55
mov dword [esi + 0x70], 0
mov edi, dword [esi + 0x20c]
mov ebx, dword [esi + 0xf8]
mov eax, dword [esi + 0x70]
cmp eax, 0x10
jae 0x4176ba
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a450
mov edx, dword [esi + 0x208]
mov ebx, dword [esi + 0xf8]
add esp, 8
mov ecx, dword [esi + 0x70]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x70]
inc eax
mov dword [esi + 0x70], eax
jmp 0x41767b
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0040f7c0
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov edx, dword [esi + 0x750]
mov ecx, dword [esi + 0x754]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x618]
mov ecx, dword [esi + 0x61c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi]
jmp eax
call fcn.0040e3e0
mov eax, dword [esi + 0x1e4]
sub eax, 1
sete bl
mov eax, dword [esi + 0x1c]
sub eax, 2
sete bh
mov dword [esi + 0x580], 1
mov eax, dword [esi + 0x584]
mov ecx, dword [esi + 0x580]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x510]
mov ecx, dword [esi + 0x514]
mov eax, dword [ecx + eax*4]
mov dword [esi], 0
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0xc]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x5c8], 1
mov eax, dword [esi + 0x5cc]
mov ecx, dword [esi + 0x5c8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call fcn.0040cb40
add esp, 4
mov edx, eax
inc edx
mov eax, dword [esi + 0x608]
mov ecx, dword [esi + 0x60c]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
test edx, edx
sete al
mov dword [esi + 0x4e8], eax
mov eax, dword [esi + 0x4ec]
mov ecx, dword [esi + 0x4e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
mov eax, dword [esi + 0xe0]
shl eax, 1
mov ecx, edi
add ecx, eax
mov dword [esi + 0x250], ecx
sub esp, 4
mov ebx, dword [esi + 0xe8]
mov dword [esp], ebx
call fcn.0040cb40
add esp, 4
mov edx, ebx
mov ecx, ebx
add edx, eax
mov dword [esi + 0x23c], 0
mov ebx, edi
mov edi, ecx
mov eax, dword [esi + 0x250]
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edi
sub ecx, edx
setb cl
and al, cl
test al, 1
jne 0x417a52
jmp 0x417a8f
cmp byte [edi], 0
je 0x417a8f
lea eax, [esi + 0x23c]
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esi + 0x258], edx
call fcn.004111e0
mov edx, dword [esi + 0x258]
add esp, 0xc
mov ecx, dword [esi + 0x23c]
mov word [ebx], cx
add ebx, 2
add edi, eax
jmp 0x417a33
mov word [ebx], 0
mov eax, dword [esi + 0x5e8]
mov ecx, dword [esi + 0x5ec]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x7d8], 0
mov eax, dword [esi + 0x7dc]
mov ecx, dword [esi + 0x7d8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x2d8]
mov ebx, dword [esi + 0x220]
jmp eax
mov eax, dword [esi + 0x400]
mov ecx, dword [esi + 0x404]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call fcn.0043d440
add esp, 4
mov dword [ebx], 0
xor eax, eax
cmp dword [esi + 0x1e8], 0
setns cl
mov dword [esi + 0x650], 0
mov edx, dword [esi + 0x654]
mov edi, dword [esi + 0x650]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esi + 0x4b8]
mov ecx, dword [esi + 0x4bc]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x17]
mov al, cl
and eax, 1
mov dword [esi + 0x4e0], eax
mov eax, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
xor eax, eax
mov ecx, 0x11
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x44
mov eax, dword [0x4506d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442fb0
add esp, 8
test eax, eax
setne cl
jne 0x417bb5
jmp 0x417bb3
xor eax, eax
sub esp, 0x28
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esi]
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
xor ecx, ecx
test eax, eax
setne al
mov dword [esi + 0x4d0], 1
mov edx, dword [esi + 0x4d4]
mov edi, dword [esi + 0x4d0]
mov edx, dword [edx + edi*4]
jmp edx
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca20
add esp, 4
mov eax, dword [esi + 0x770]
mov ecx, dword [esi + 0x774]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x3c0]
mov ecx, dword [esi + 0x3c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x6b8], 1
mov eax, dword [esi + 0x6bc]
mov ecx, dword [esi + 0x6b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2cc]
mov al, byte [eax]
mov byte [esi + 0x164], al
mov edx, dword [esi + 0x210]
mov byte [edx], 0x1c
mov byte [edx + 1], 0x1f
mov byte [edx + 2], 0x10
mov byte [edx + 3], 0x90
mov eax, 4
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x417cec
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 6
jae 0x417d38
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a400
mov edx, dword [esi + 0x210]
add esp, 8
mov ecx, dword [esi + 0x6c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x6c]
inc eax
mov dword [esi + 0x6c], eax
jmp 0x417cff
mov edi, dword [edx]
call fcn.0040e3e0
call fcn.0040e3e0
mov eax, dword [edi + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.0040d0e0
add esp, 4
call fcn.0040d0f0
mov edi, eax
and edi, 0xf
or edi, 0x10
mov eax, dword [esi + 0x760]
mov ecx, dword [esi + 0x764]
mov eax, dword [ecx + eax*4]
xor edx, edx
mov ebx, dword [esi + 0x20c]
jmp eax
sal dl, cl
adc eax, esi
loope 0x417dad
into
sub esp, 4
mov dword [esp], ebx
call fcn.0040cb40
add esp, 4
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x34c]
mov eax, dword [ecx + eax*4]
jmp eax
dec esp
add eax, dword [eax]
add byte [ebx - 0x1f007efc], cl
call fcn.0040e3e0
mov dword [esi + 0x808], 0
mov eax, dword [esi + 0x80c]
mov ecx, dword [esi + 0x808]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x24c], ebx
mov ebx, edx
call fcn.0040d0f0
mov ecx, eax
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edx, dword [esi + 0x24c]
mov ecx, edx
add ecx, 2
mov word [edx], ax
inc ebx
mov eax, dword [esi + 0x738]
mov edx, dword [esi + 0x73c]
mov eax, dword [edx + eax*4]
mov edx, ebx
mov ebx, ecx
jmp eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0041a1d0
add esp, 8
mov edi, eax
inc edi
mov eax, edi
add eax, eax
setb cl
mov edx, dword [esi + 0x550]
mov ebx, dword [esi + 0x554]
mov edx, dword [ebx + edx*4]
jmp edx
mov dword [esi], ebx
call fcn.0040e3e0
mov dword [esi + 0x628], 1
mov eax, dword [esi + 0x62c]
mov ecx, dword [esi + 0x628]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xe8]
jmp eax
call 0xff417e89
loopne 0x417e16
xchg byte [eax + 6], dh
add byte [eax], al
mov ecx, dword [esi + 0x674]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0x88c]
mov eax, dword [ecx + eax*4]
xor edi, edi
mov ebx, dword [esi + 0x1ec]
jmp eax
mov eax, dword [esi + 0x578]
mov ecx, dword [esi + 0x57c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x498]
mov ecx, dword [esi + 0x49c]
mov eax, dword [ecx + eax*4]
jmp eax
jmp 0x417e84
mov eax, dword [esi + 0x790]
mov ecx, dword [esi + 0x794]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x200]
mov al, byte [eax]
mov byte [esi + 0x180], al
mov byte [edi], 0x1e
mov byte [edi + 1], 0x4b
mov byte [edi + 2], 0xda
mov byte [edi + 3], 0x49
mov byte [edi + 4], 0xc5
mov byte [edi + 5], 0x47
mov byte [edi + 6], 9
mov byte [edi + 7], 0x45
mov byte [edi + 8], 0x44
mov byte [edi + 9], 0x43
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0xc
jne 0x417fe5
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x84]
cmp eax, 0xc
jae 0x418046
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x84]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a510
mov edi, dword [esi + 0xf0]
add esp, 8
mov ecx, dword [esi + 0x84]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x84]
inc eax
mov dword [esi + 0x84], eax
jmp 0x417ffb
sub esp, 8
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call fcn.0041a160
add esp, 8
mov dword [esi + 0x6a0], 0
mov eax, dword [esi + 0x6a4]
mov ecx, dword [esi + 0x6a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
sub esp, 8
mov dword [esi + 0x230], esp
push eax
mov dword [esi + 0x2e4], esp
sub esp, 8
mov dword [esi + 0x22c], esp
push eax
mov dword [esi + 0x2e0], esp
sub esp, 8
mov dword [esi + 0x2dc], esp
push eax
mov dword [esi + 0x228], esp
sub esp, 8
mov dword [esi + 0x2d8], esp
push eax
mov dword [esi + 0x224], esp
push eax
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0x220], esp
sub esp, 8
mov dword [esi + 0xd4], esp
push eax
mov dword [esi + 0x21c], esp
sub esp, 0x400
mov dword [esi + 0x218], esp
push eax
mov dword [esi + 0x10], esp
push eax
mov dword [esi + 0xac], esp
sub esp, 8
mov dword [esi + 0x214], esp
push eax
mov dword [esi + 0x2d4], esp
push eax
mov dword [esi + 0x2d0], esp
sub esp, 8
mov dword [esi + 0x210], esp
push eax
mov dword [esi + 0x2cc], esp
sub esp, 0x40
mov dword [esi + 0x20c], esp
sub esp, 0x60
mov dword [esi + 0xf8], esp
sub esp, 0x10
mov dword [esi + 0x208], esp
push eax
mov dword [esi + 0x2c8], esp
push eax
mov dword [esi + 0x204], esp
sub esp, 0x10
mov dword [esi + 0x2c4], esp
push eax
mov dword [esi + 0x2c0], esp
sub esp, 0x10
mov dword [esi + 0xf4], esp
push eax
mov dword [esi + 0x2bc], esp
sub esp, 0xc
mov dword [esi + 0xf0], esp
push eax
mov dword [esi + 0x200], esp
push eax
mov dword [esi + 0xd0], esp
sub esp, 8
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x2b8], esp
sub esp, 8
mov dword [esi + 0x1fc], esp
push eax
mov dword [esi + 0x2b4], esp
sub esp, 0x18
mov dword [esi + 0x1f8], esp
push eax
mov dword [esi + 0x2b0], esp
sub esp, 8
mov dword [esi + 0x20], esp
push eax
mov dword [esi + 0x1f4], esp
sub esp, 0x3c
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0xc4], esp
sub esp, 0x38
mov dword [esi + 0x2ac], esp
push eax
mov dword [esi + 0x2a8], esp
sub esp, 0x44
mov dword [esi + 0x2a4], esp
sub esp, 0x10
mov dword [esi + 0xec], esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
sub esp, 0x40
mov dword [esi + 0x2a0], esp
sub esp, 0x10
mov dword [esi + 0x1f0], esp
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004047c0
add esp, 4
mov ecx, eax
xor eax, eax
test ecx, ecx
sete byte [esi + 0x14]
mov dword [esi + 0x8c0], 0
mov edx, dword [esi + 0x8c4]
mov ebx, dword [esi + 0x8c0]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
sub esp, 4
mov dword [esp], ebx
call fcn.0040cb40
add esp, 4
inc eax
mov dword [esi + 0xe0], eax
mov dword [esi + 0x620], 1
mov eax, dword [esi + 0x624]
mov ecx, dword [esi + 0x620]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x490], 0
mov eax, dword [esi + 0x494]
mov ecx, dword [esi + 0x490]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1f0]
mov eax, dword [eax]
mov dword [esi + 0x28c], eax
mov al, byte [esi + 0x108]
mov byte [esi + 0x1d0], al
mov byte [esi + 0x10c], 0x9d
mov byte [esi + 0x10d], 0x9e
mov byte [esi + 0x10e], 0x9f
mov byte [esi + 0x10f], 0x90
mov eax, 4
mov byte [esi + eax + 0x10c], 0
add eax, 1
cmp eax, 6
jne 0x4182d9
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 6
jae 0x41832b
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 0x10c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
add esp, 8
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0x10c], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
jmp 0x4182f0
mov ecx, dword [esi + 0x10c]
xor edi, edi
cmp edi, dword [0x4506dc]
jb 0x41833d
jmp 0x41839d
mov eax, dword [0x4506e0]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x418353
jmp 0x418391
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x418391
mov dword [esi + 0x260], ecx
mov ecx, dword [0x4506e4]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x28c]
mov dword [esp + 0xc], eax
call fcn.00440260
mov ecx, dword [esi + 0x260]
add esp, 0x10
test bl, 1
je 0x418398
jmp 0x41839d
add edi, 1
jmp 0x418333
mov eax, dword [esi + 0x470]
mov ecx, dword [esi + 0x474]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
mov eax, dword [esi + 0x6c8]
mov ecx, dword [esi + 0x6cc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f4]
mov ecx, dword [esi + 0x7f0]
mov eax, dword [eax + ecx*4]
jmp eax
add byte [ebx + 0x7f08e], cl
add byte [ebx - 0x1f0077fc], cl
jg 0x4183f4
mov edx, edx
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
in eax, dx
ret 0xe24f
call fcn.0040e3e0
mov eax, dword [esi + 0x1c]
sub eax, 2
sete bl
mov dword [esi + 0x6d0], 1
mov eax, dword [esi + 0x6d4]
mov ecx, dword [esi + 0x6d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x430]
mov ecx, dword [esi + 0x434]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.00404c10
add esp, 8
mov dword [esi + 8], eax
mov eax, dword [esi + 0x2e4]
mov al, byte [eax]
mov byte [esi + 0x138], al
mov edx, dword [esi + 0x230]
mov byte [edx], 0xeb
mov byte [edx + 1], 0x67
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x4186a6
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x40]
cmp eax, 6
jae 0x4186f2
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a250
mov edx, dword [esi + 0x230]
add esp, 8
mov ecx, dword [esi + 0x40]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x40]
inc eax
mov dword [esi + 0x40], eax
jmp 0x4186b9
mov dword [esi + 4], edi
sub esp, 0xc
mov dword [esp + 4], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00404ae0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x860], ecx
mov eax, dword [esi + 0x864]
mov ecx, dword [esi + 0x860]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x460], ecx
mov ecx, dword [esi + 0x464]
mov edx, dword [esi + 0x460]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [esi]
jmp ecx
mov eax, dword [esi + 0x2d4]
mov al, byte [eax]
mov byte [esi + 0x160], al
mov edx, dword [esi + 0x214]
mov byte [edx], 0xe8
mov byte [edx + 1], 0x79
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 8
jne 0x418775
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 8
jae 0x4187c1
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a3c0
mov edx, dword [esi + 0x214]
add esp, 8
mov ecx, dword [esi + 0x68]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x68]
inc eax
mov dword [esi + 0x68], eax
jmp 0x418788
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00404450
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 0x780], eax
mov eax, dword [esi + 0x784]
mov ecx, dword [esi + 0x780]
mov eax, dword [eax + ecx*4]
jmp eax
sbb eax, 0x37eba239
out 0xb, eax
mov dword [ebx + 0x32886], ecx
add byte [ebx + 0x32c8e], cl
add byte [ebx - 0x1f007efc], cl
not al
movzx eax, al
and eax, 1
mov dword [esi + 0x810], eax
mov eax, dword [esi + 0x814]
mov ecx, dword [esi + 0x810]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x224]
mov al, byte [eax]
mov byte [esi + 0x14c], al
mov byte [edi], 0x35
mov byte [edi + 1], 0x81
mov eax, 2
mov byte [edi + eax], 0
add eax, 1
cmp eax, 6
jne 0x418848
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 6
jae 0x41888e
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a2f0
add esp, 8
mov ecx, dword [esi + 0x50]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x50]
inc eax
mov dword [esi + 0x50], eax
jmp 0x41885b
sub esp, 8
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404450
add esp, 8
mov dword [esi + 0xb8], eax
mov al, byte [ebx]
mov byte [esi + 0x154], al
mov ebx, dword [esi + 0xd8]
mov byte [ebx], 0xa2
mov byte [ebx + 1], 0xb5
mov byte [ebx + 2], 0x56
mov eax, 3
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 4
jne 0x4188c7
mov dword [esi + 0x58], 0
mov eax, dword [esi + 0x58]
cmp eax, 4
jae 0x418913
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x58]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a340
mov ebx, dword [esi + 0xd8]
add esp, 8
mov ecx, dword [esi + 0x58]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x58]
inc eax
mov dword [esi + 0x58], eax
jmp 0x4188da
call fcn.0040e3e0
call fcn.0040e3e0
sub esp, 8
mov dword [esp + 4], ebx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00404580
add esp, 8
fnstcw word [esi + 0xb0]
movzx eax, word [esi + 0xb0]
or eax, 0xc00
mov word [esi + 0x1d8], ax
fldcw word [esi + 0x1d8]
fistp dword [esi + 0x2ec]
fldcw word [esi + 0xb0]
mov eax, dword [esi + 0x2ec]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x21c]
mov al, byte [eax]
mov byte [esi + 0x15c], al
mov edx, dword [esi + 0xd4]
mov byte [edx], 0x6b
mov byte [edx + 1], 0x8f
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x418986
mov dword [esi + 0x60], 0
mov ebx, dword [esi + 0x220]
mov eax, dword [esi + 0x60]
cmp eax, 6
jae 0x4189d8
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x60]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a380
mov edx, dword [esi + 0xd4]
add esp, 8
mov ecx, dword [esi + 0x60]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x60]
inc eax
mov dword [esi + 0x60], eax
jmp 0x41899f
mov dword [esi + 0x7d0], 0
mov eax, dword [esi + 0x7d4]
mov ecx, dword [esi + 0x7d0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esi + 0x448], eax
mov eax, dword [esi + 0x44c]
mov ecx, dword [esi + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x898], 0
mov eax, dword [esi + 0x89c]
mov ecx, dword [esi + 0x898]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebx]
mov byte [esi + 0x178], al
mov byte [edi], 0x5e
mov byte [edi + 1], 0x61
mov byte [edi + 2], 6
mov byte [edi + 3], 0x63
mov byte [edi + 4], 0x18
mov byte [edi + 5], 0x65
mov byte [edi + 6], 0x1a
mov byte [edi + 7], 0x67
mov byte [edi + 8], pe_nt_image_headers32
mov byte [edi + 9], 0x79
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0xe
jne 0x418a65
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0xe
jae 0x418ab1
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a4e0
mov edi, dword [esi + 0xf4]
add esp, 8
mov ecx, dword [esi + 0x7c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x7c]
inc eax
mov dword [esi + 0x7c], eax
jmp 0x418a78
sub esp, 8
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call fcn.0041a160
add esp, 8
mov dword [esi + 0x6e8], 1
mov eax, dword [esi + 0x6ec]
mov ecx, dword [esi + 0x6e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x520], 0
mov eax, dword [esi + 0x524]
mov ecx, dword [esi + 0x520]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov al, bl
and eax, 1
mov dword [esi + 0x6b0], eax
mov eax, dword [esi + 0x6b4]
mov ecx, dword [esi + 0x6b0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xd0]
jmp eax
or eax, 0x8a9733f4
add cl, byte [eax + 0x16c86]
add dh, al
pop es
cmpsb byte [esi], byte es:[edi]
mov byte [edi + 1], 0x91
mov byte [edi + 2], 0x6f
mov byte [edi + 3], 0x93
mov byte [edi + 4], 0x24
mov byte [edi + 5], 0xad
mov byte [edi + 6], 0x53
mov byte [edi + 7], 0xaf
mov byte [edi + 8], 0xa8
mov byte [edi + 9], 0xa9
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x418b57
mov eax, dword [esi + 0x388]
mov ecx, dword [esi + 0x38c]
mov eax, dword [ecx + eax*4]
jmp eax
fild dword [ebp - 3]
aas
or eax, 0x8b723bab
xchg byte [eax], cl
add eax, dword [eax]
add byte [ebx + 0x30c8e], cl
add byte [ebx - 0x1f007efc], cl
sub eax, 0xc6aec157
or byte [eax], bh
aas
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0040f7c0
add esp, 8
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x830], 1
mov eax, dword [esi + 0x834]
mov ecx, dword [esi + 0x830]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
sub edx, 2
sete al
mov dword [esi + 0x4f0], eax
mov eax, dword [esi + 0x4f4]
mov ecx, dword [esi + 0x4f0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x680], 1
mov eax, dword [esi + 0x684]
mov ecx, dword [esi + 0x680]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, 0x11
mov ebx, dword [esi + 0x2a0]
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x44
mov eax, dword [0x4506d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442fb0
add esp, 8
test eax, eax
setne cl
jne 0x418c54
jmp 0x418c52
xor eax, eax
sub esp, 0x28
mov ecx, dword [esi + 0x1f0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x478], ecx
mov eax, dword [esi + 0x47c]
mov ecx, dword [esi + 0x478]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x7e8], 0
mov eax, dword [esi + 0x7ec]
mov ecx, dword [esi + 0x7e8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca20
add esp, 4
mov eax, dword [esi + 0x420]
mov ecx, dword [esi + 0x424]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x288]
mov eax, ecx
and eax, 9
or ecx, 9
add eax, ecx
mov ecx, dword [esi + 0xe0]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x29c], edx
add 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 0x418d4d
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040ca10
add esp, 4
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x2b0]
mov al, byte [eax]
mov byte [esi + 0x18c], al
mov edx, dword [esi + 0x1f8]
mov byte [edx], 0xc2
mov byte [edx + 1], 0x4b
mov byte [edx + 2], 0xc1
mov byte [edx + 3], 0x49
mov byte [edx + 4], 0xda
mov byte [edx + 5], 0x47
mov byte [edx + 6], 0xda
mov byte [edx + 7], 0x45
mov byte [edx + 8], 0xd0
mov byte [edx + 9], 0x43
mov byte [edx + 0xa], 0xd6
mov byte [edx + 0xb], 0x41
mov byte [edx + 0xc], 0xd
mov byte [edx + 0xd], 0xbf
mov byte [edx + 0xe], 0xf0
mov byte [edx + 0xf], 0xbd
mov byte [edx + 0x10], 0xbc
mov byte [edx + 0x11], 0xbb
mov eax, 0x12
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x16
jne 0x418dbe
mov dword [esi + 0x94], 0
mov eax, dword [esi + 0x94]
cmp eax, 0x16
jae 0x418e1f
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x94]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a5b0
mov edx, dword [esi + 0x1f8]
add esp, 8
mov ecx, dword [esi + 0x94]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x94]
inc eax
mov dword [esi + 0x94], eax
jmp 0x418dd4
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0040f7c0
add esp, 8
mov edx, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
mov dword [esi + 0x600], 0
mov eax, dword [esi + 0x604]
mov ecx, dword [esi + 0x600]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x7c8]
mov ecx, dword [esi + 0x7cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x4c8], ecx
mov eax, dword [esi + 0x4cc]
mov ecx, dword [esi + 0x4c8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040e3e0
mov al, bl
and al, bh
mov dword [esi + 0x568], 0
mov ecx, dword [esi + 0x56c]
mov edx, dword [esi + 0x568]
mov ecx, dword [ecx + edx*4]
jmp ecx
sar byte [ecx + ecx*4 - 0x32], 1
mov eax, dword [0x8bd58297]
xchg byte [eax + 3], dh
add byte [eax], al
mov ecx, dword [esi + 0x374]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xec]
mov eax, dword [eax]
mov dword [esi + 0x290], eax
mov al, byte [esi + 0x120]
mov byte [esi + 0x1c8], al
mov byte [esi + 0x124], 0x9d
mov byte [esi + 0x125], 0x9e
mov byte [esi + 0x126], 0x9f
mov byte [esi + 0x127], 0x90
mov eax, 4
mov byte [esi + eax + 0x124], 0
add eax, 1
cmp eax, 6
jne 0x418f7e
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 6
jae 0x418fd0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x30]
movzx ecx, byte [esi + ecx + 0x124]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [esi + ecx + 0x124], al
mov eax, dword [esi + 0x30]
inc eax
mov dword [esi + 0x30], eax
jmp 0x418f95
mov ecx, dword [esi + 0x124]
xor edi, edi
cmp edi, dword [0x4506dc]
jb 0x418fe2
jmp 0x419042
mov eax, dword [0x4506e0]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x418ff8
jmp 0x419036
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x419036
mov dword [esi + 0x26c], ecx
mov ecx, dword [0x4506e4]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x290]
mov dword [esp + 0xc], eax
call fcn.00440260
mov ecx, dword [esi + 0x26c]
add esp, 0x10
test bl, 1
je 0x41903d
jmp 0x419042
add edi, 1
jmp 0x418fd8
mov eax, dword [esi + 0x4c0]
mov ecx, dword [esi + 0x4c4]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
mov ecx, dword [esi + 0x820]
mov edx, dword [esi + 0x824]
mov ecx, dword [edx + ecx*4]
jmp ecx
fisubr word [edx + esi*8 + 0x78]
xchg dword [edx - 0x7974bd3c], esp
clc
add al, byte [eax]
add byte [ebx + 0x2fc8e], cl
add byte [ebx - 0x1f007efc], cl
mov al, byte [ecx]
mov byte [esi + 0x184], al
mov ecx, dword [esi + 0xcc]
mov byte [ecx], 0xae
mov byte [ecx + 1], 0xa7
mov byte [ecx + 2], 0x32
mov eax, 3
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 6
jne 0x41909e
mov dword [esi + 0x8c], 0
mov ebx, dword [esi]
mov eax, dword [esi + 0x8c]
cmp eax, 6
jae 0x41910d
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0xcc]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a540
add esp, 8
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0xcc]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0x8c]
inc eax
mov dword [esi + 0x8c], eax
jmp 0x4190b6
sub esp, 8
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00404450
add esp, 8
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x2b4]
mov al, byte [eax]
mov byte [esi + 0x188], al
mov edx, dword [esi + 0x1fc]
mov byte [edx], 0x63
mov byte [edx + 1], 0x6d
mov byte [edx + 2], 0xda
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 5
jne 0x41914c
mov dword [esi + 0x90], 0
mov eax, dword [esi + 0x90]
cmp eax, 5
jae 0x4191ad
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x90]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a580
mov edx, dword [esi + 0x1fc]
add esp, 8
mov ecx, dword [esi + 0x90]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x90]
inc eax
mov dword [esi + 0x90], eax
jmp 0x419162
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00404450
add esp, 8
mov dword [esi + 0x18], eax
sub esp, 4
mov dword [esp], ebx
call fcn.0041a1b0
add esp, 4
mov dword [esi + 0x288], eax
cmp dword [esi + 0xe8], 0
setne al
mov byte [esi + 0x15], al
movzx eax, al
mov dword [esi + 0x630], eax
mov eax, dword [esi + 0x634]
mov ecx, dword [esi + 0x630]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xe0], 0
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0041a1b0
add esp, 4
xor eax, 0xffffffff
sub eax, 0xffffffff
mov ecx, 0x1d
sub ecx, eax
xor edx, edx
sub edx, ecx
add edx, 0xffffffff
xor eax, eax
sub eax, edx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x419246
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040ca10
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x1f4]
mov al, byte [eax]
mov byte [esi + 0x194], al
mov edx, dword [esi + 0x20]
mov byte [edx], 0xa6
mov byte [edx + 1], 0x89
mov byte [edx + 2], 0xb6
mov byte [edx + 3], 0xb7
mov eax, 4
mov byte [edx + eax], 0
add eax, 1
cmp eax, 8
jne 0x41927b
mov dword [esi + 0xa0], 0
mov ecx, dword [esi + 0xc4]
mov eax, dword [esi + 0xa0]
cmp eax, 8
jae 0x4192e5
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa0]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a610
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xa0]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xc4]
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
jmp 0x419297
mov al, byte [ecx]
mov byte [esi + 0x19c], al
mov edx, dword [esi + 0xc8]
mov byte [edx], 0x30
mov byte [edx + 1], 0x81
mov byte [edx + 2], 0x2d
mov byte [edx + 3], 0x83
mov byte [edx + 4], 0x33
mov byte [edx + 5], 0x85
mov byte [edx + 6], 0x23
mov byte [edx + 7], 0x87
mov byte [edx + 8], 0x3a
mov byte [edx + 9], 0x89
mov byte [edx + 0xa], 0x39
mov byte [edx + 0xb], 0x8b
mov byte [edx + 0xc], 0x24
mov byte [edx + 0xd], 0x8d
mov byte [edx + 0xe], 0x2b
mov byte [edx + 0xf], 0x8f
mov byte [edx + 0x10], 0x3c
mov byte [edx + 0x11], 0x91
mov byte [edx + 0x12], 0x3e
mov byte [edx + 0x13], 0x93
mov byte [edx + 0x14], 0x74
mov byte [edx + 0x15], 0x95
mov byte [edx + 0x16], 0x7b
mov byte [edx + 0x17], 0x97
mov byte [edx + 0x18], 0x3d
mov byte [edx + 0x19], 0x99
mov byte [edx + 0x1a], 0x22
mov byte [edx + 0x1b], 0x9b
mov byte [edx + 0x1c], 0x39
mov byte [edx + 0x1d], 0x9d
mov byte [edx + 0x1e], 0x3d
mov byte [edx + 0x1f], 0x9f
mov byte [edx + 0x20], 0x80
mov byte [edx + 0x21], 0x61
mov byte [edx + 0x22], 0xc0
mov byte [edx + 0x23], 0x63
mov byte [edx + 0x24], 0xdd
mov byte [edx + 0x25], 0x65
mov byte [edx + 0x26], 0xd6
mov byte [edx + 0x27], 0x67
mov byte [edx + 0x28], 0xc9
mov byte [edx + 0x29], 0x69
mov byte [edx + 0x2a], 0xd9
mov byte [edx + 0x2b], 0x6b
mov byte [edx + 0x2c], 0xdf
mov byte [edx + 0x2d], 0x6d
mov byte [edx + 0x2e], 0x8e
mov byte [edx + 0x2f], 0x6f
mov byte [edx + 0x30], 0x9d
mov byte [edx + 0x31], 0x71
mov byte [edx + 0x32], 0xd4
mov byte [edx + 0x33], 0x73
mov byte [edx + 0x34], 0x94
mov byte [edx + 0x35], 0x75
mov byte [edx + 0x36], 0x94
mov byte [edx + 0x37], 0x77
mov byte [edx + 0x38], pe_nt_image_headers32
mov byte [edx + 0x39], 0x79
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3c
jne 0x4193df
mov dword [esi + 0x98], 0
mov eax, dword [esi + 0x98]
cmp eax, 0x3c
jae 0x419440
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x98]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a5e0
mov edx, dword [esi + 0xc8]
add esp, 8
mov ecx, dword [esi + 0x98]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x98]
inc eax
mov dword [esi + 0x98], eax
jmp 0x4193f5
sub esp, 8
mov dword [esp + 4], edx
mov dword [esi + 0xc], ebx
mov dword [esp], ebx
call fcn.0040f7c0
mov ebx, dword [esi]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040f7c0
mov ecx, dword [esi + 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov dword [esi + 0x5a8], 0
mov eax, dword [esi + 0x5ac]
mov ecx, dword [esi + 0x5a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, ebx
mov ebx, eax
add ebx, 2
mov word [eax], 0x2c
shl edx, 1
mov edi, ebx
add edi, edx
sub esp, 4
mov dword [esp], ecx
call fcn.0040cb40
mov ecx, ebx
mov edx, dword [esi + 0x18]
add esp, 4
mov ebx, edx
add ebx, eax
mov dword [esi + 0x238], 0
mov dword [esi + 0x254], edi
mov eax, edi
add eax, 0xfffffffe
mov dword [esi + 0x1dc], ecx
sub ecx, eax
setb al
mov ecx, edx
mov edx, ecx
mov edi, ebx
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x4194e9
jmp 0x419530
cmp byte [edx], 0
je 0x419530
lea eax, [esi + 0x238]
sub esp, 0xc
mov dword [esp], edx
mov ebx, edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esi + 0x18], edx
call fcn.004111e0
mov edx, dword [esi + 0x18]
add esp, 0xc
mov ecx, dword [esi + 0x238]
mov edi, dword [esi + 0x1dc]
mov word [edi], cx
mov ecx, edi
add ecx, 2
add edx, eax
mov edi, dword [esi + 0x254]
jmp 0x4194c6
mov eax, dword [esi + 0x1dc]
mov word [eax], 0
mov eax, dword [esi + 0x5d8]
mov ecx, dword [esi + 0x5dc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x588], 0
mov eax, dword [esi + 0x58c]
mov ecx, dword [esi + 0x588]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x870], 1
mov eax, dword [esi + 0x874]
mov ecx, dword [esi + 0x870]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x4d8], 0
mov eax, dword [esi + 0x4dc]
mov ecx, dword [esi + 0x4d8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x2a4]
jmp eax
mov eax, dword [esi + 0x868]
mov ecx, dword [esi + 0x86c]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
call fcn.0040e3e0
mov dword [esi + 0x658], 0
mov eax, dword [esi + 0x65c]
mov ecx, dword [esi + 0x658]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x10]
jmp eax
mov eax, dword [esi + 0x708]
mov ecx, dword [esi + 0x70c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], eax
call fcn.0043d440
add esp, 4
mov eax, dword [esi + 0x458]
mov ecx, dword [esi + 0x45c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x768]
mov ecx, dword [esi + 0x76c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xd0]
jmp eax
mov eax, dword [esi + 0x508]
mov ecx, dword [esi + 0x50c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x878], 1
mov eax, dword [esi + 0x87c]
mov ecx, dword [esi + 0x878]
mov eax, dword [eax + ecx*4]
jmp eax
or byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x87c86], cl
add byte [ebx + 0x8788e], cl
add byte [ebx - 0x1f0077fc], cl
jnp 0x419726
jmp 0x4196be
add byte [eax], al
mov eax, dword [esi + 0x80]
cmp eax, 0xe
jae 0x419773
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a4e0
mov edi, dword [esi + 0xf4]
add esp, 8
mov ecx, dword [esi + 0x80]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
jmp 0x419728
sub esp, 8
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call fcn.0041a160
add esp, 8
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x3a0]
mov ecx, dword [esi + 0x3a4]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ebx, dword [esi + 0x1c]
mov ecx, ebx
sub ecx, 1
sete al
mov dword [esi + 0x638], eax
mov eax, dword [esi + 0x63c]
mov ecx, dword [esi + 0x638]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2b8]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x800], 0
mov eax, dword [esi + 0x804]
mov ecx, dword [esi + 0x800]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x730], 0
mov eax, dword [esi + 0x734]
mov ecx, dword [esi + 0x730]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + 0x2c0]
mov ebx, dword [esi + 0xd0]
jmp eax
mov eax, dword [esi + 0x640]
mov ecx, dword [esi + 0x644]
mov ecx, dword [ecx + eax*4]
mov eax, 4
xor ebx, ebx
mov edi, dword [esi + 4]
jmp ecx
xor eax, eax
mov ecx, 0x11
mov edi, ebx
rep stosd dword es:[edi], eax
mov dword [ebx], 0x44
mov eax, dword [0x4506d0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00442fb0
add esp, 8
test eax, eax
setne cl
jne 0x4198b2
jmp 0x4198b0
xor eax, eax
sub esp, 0x28
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esi]
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x6a8], 0
mov eax, dword [esi + 0x6ac]
mov ecx, dword [esi + 0x6a8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xf0]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x410], 1
mov eax, dword [esi + 0x414]
mov ecx, dword [esi + 0x410]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x16]
mov al, cl
and eax, 1
mov dword [esi + 0x5e0], eax
mov eax, dword [esi + 0x5e4]
mov ecx, dword [esi + 0x5e0]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x29c]
jmp eax
mov eax, dword [esi + 0x3e0]
mov ecx, dword [esi + 0x3e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xac]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov edx, dword [ebx]
xor edi, edi
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00444230
add esp, 0x10
mov dword [esi + 0x1e8], eax
mov eax, dword [ebx]
mov dword [esi + 0x294], eax
mov al, byte [esi + 0x12c]
mov byte [esi + 0x1c4], al
mov byte [esi + 0x130], 0x9d
mov byte [esi + 0x131], 0x9e
mov byte [esi + 0x132], 0x9f
mov byte [esi + 0x133], 0x90
mov eax, 4
mov byte [esi + eax + 0x130], 0
add eax, 1
cmp eax, 6
jne 0x4199fd
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 6
jae 0x419a4f
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x130]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
add esp, 8
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x130], al
mov eax, dword [esi + 0x34]
inc eax
mov dword [esi + 0x34], eax
jmp 0x419a14
mov ecx, dword [esi + 0x130]
xor edi, edi
cmp edi, dword [0x4506dc]
jb 0x419a61
jmp 0x419ac1
mov eax, dword [0x4506e0]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x419a77
jmp 0x419ab5
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x419ab5
mov dword [esi + 0x270], ecx
mov ecx, dword [0x4506e4]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x294]
mov dword [esp + 0xc], eax
call fcn.00440260
mov ecx, dword [esi + 0x270]
add esp, 0x10
test bl, 1
je 0x419abc
jmp 0x419ac1
add edi, 1
jmp 0x419a57
mov eax, dword [esi + 0x660]
mov ecx, dword [esi + 0x664]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0xe4]
mov dword [esp], eax
call fcn.0040ca20
add esp, 4
mov eax, dword [esi + 0x518]
mov ecx, dword [esi + 0x51c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x8a0]
mov ecx, dword [esi + 0x8a4]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
xor eax, eax
mov ecx, ebx
sub ecx, 2
sete al
mov dword [esi + 0x5b8], eax
mov eax, dword [esi + 0x5bc]
mov ecx, dword [esi + 0x5b8]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
cmp dword [esi + 0x18], 0
setne al
mov byte [esi + 0x16], al
movzx eax, al
mov dword [esi + 0x610], eax
mov eax, dword [esi + 0x614]
mov ecx, dword [esi + 0x610]
mov eax, dword [eax + ecx*4]
xor edx, edx
jmp eax
mov eax, dword [esi + 0x3f8]
mov ecx, dword [esi + 0x3fc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x480]
mov ecx, dword [esi + 0x484]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2e0]
mov al, byte [eax]
mov byte [esi + 0x13c], al
mov edx, dword [esi + 0x22c]
mov byte [edx], 0xc6
mov byte [edx + 1], 0xb5
mov byte [edx + 2], 0x22
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x419c0a
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x44]
cmp eax, 6
jae 0x419c56
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a290
mov edx, dword [esi + 0x22c]
add esp, 8
mov ecx, dword [esi + 0x44]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x44]
inc eax
mov dword [esi + 0x44], eax
jmp 0x419c1d
mov eax, dword [esi + 0x858]
mov ecx, dword [esi + 0x85c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x560]
mov edx, dword [esi + 0x564]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [edx + 0x1f47a7e8], esp
retf 0x8b58
mov eax, dword [esi + 0x598]
mov ecx, dword [esi + 0x59c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esi + 0x408]
mov ecx, dword [esi + 0x40c]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 1
sete al
mov dword [esi + 0x6f8], eax
mov eax, dword [esi + 0x6fc]
mov ecx, dword [esi + 0x6f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x468]
mov ecx, dword [esi + 0x46c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x488], 0
mov eax, dword [esi + 0x48c]
mov ecx, dword [esi + 0x488]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x698]
mov ecx, dword [esi + 0x69c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca20
add esp, 4
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e3e0
mov dword [esi + 0x3e8], 1
mov eax, dword [esi + 0x3ec]
mov ecx, dword [esi + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x7e0]
mov ecx, dword [esi + 0x7e4]
mov eax, dword [ecx + eax*4]
jmp eax
adc dword [ecx], eax
lcall 0x4111, 0xad00410d
add byte [1191198990], ch
cmovno eax, dword [eax]
push esp
cmovno eax, dword [eax]
jo 0x44a0a9
inc ecx
add byte [ebp + 0xf], ah
inc ecx
add byte [eax + 0xf], dh
inc ecx
add byte [eax + 0xf], dh
inc ecx
add byte [eax + 0xf], dh
inc ecx
add byte [esi + 0xf], dh
cmovno eax, dword [eax]
jbe 0x44a0bd
inc ecx
add byte [0x8d004111], cl
cmovno eax, dword [eax]
cmp eax, 0x46004111
adc dword [ecx], eax
xchg byte [ecx], dl
inc ecx
add byte [ebx + 0x11], ch
inc ecx
add byte [esi - 0x7bffbeef], al
adc dword [ecx], eax
cdq
adc dword [ecx], eax
mov al, byte [0xa0004111]
adc dword [ecx], eax
lodsd eax, dword [esi]
adc dword [ecx], eax
mov edx, 0xb3004111
adc dword [ecx], eax
invalid