Function at 0x41497f
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov eax, dword [0x44e080]
mov dword [esp + 0x3c], 0x4fdd49b5
mov dword [esp + 0x40], 0x43db4dc2
mov dword [esp + 0x44], 0x47da41dc
mov dword [esp + 0x48], 0x7ba945a5
mov dword [esp + 0x4c], 0x7fac79ad
mov dword [esp + 0x50], 0x73527dac
mov dword [esp + 0x54], 0x779d71a8
mov dword [esp + 0x58], 0x6bf875ed
mov dword [esp + 0x5c], 0x6ffd698c
mov dword [esp + 0x60], 0x63f56de7
mov dword [esp + 0x64], 0x67946140
mov dword [esp + 0x68], 0x1b3a6590
mov dword [esp + 0x6c], 0x1fce19c9
mov dword [esp + 0x70], 0x13c21dce
mov dword [esp + 0x74], 0x173611df
mov dword [esp + 0x78], 0xb9315ff
mov dword [esp + 0x7c], 0xfc4099a
mov dword [esp + 0x80], 0x3cd0dd8
mov dword [esp + 0x84], 0x78e0120
mov dword [esp + 0x88], 0x3bee05ce
mov dword [esp + 0x8c], 0x3f1e39e1
mov dword [esp + 0x90], 0x33a23dfd
mov dword [esp + 0x94], 0x37aa31a0
mov dword [esp + 0x98], 0x2bc135d1
mov dword [esp + 0x9c], 0x2fc829cd
mov dword [esp + 0xa0], 0x23bb2dd3
mov dword [esp + 0xa4], 0x27f521b4
mov dword [esp + 0xa8], 0xdb0d25f1
mov dword [esp + 0xac], 0xdf0cd913
mov dword [esp + 0xb0], 0xd318dd0b
mov dword [esp + 0xb4], 0xd70ed1f0
mov dword [esp + 0xb8], 0xcb32d52b
mov dword [esp + 0xbc], 0xcf33c93c
mov dword [esp + 0xc0], 0xc31ecd30
mov dword [esp + 0xc4], 0xc75ac1e0
mov dword [esp + 0xc8], 0xfb65c55d
mov dword [esp + 0xcc], 0xffdef91d
mov dword [esp + 0xd0], 0xf317fd07
mov dword [esp + 0xd4], 0xf769f117
mov dword [esp + 0xd8], 0xeb33f567
mov dword [esp + 0xdc], 0xef29e9c8
mov dword [esp + 0xe0], 0xe374ed74
mov dword [esp + 0xe4], 0xe77be173
mov dword [esp + 0xe8], 0x9b49e501
mov dword [esp + 0xec], 0x9f4f9949
mov dword [esp + 0xf0], 0x93409d55
mov dword [esp + 0xf4], 0x97449140
mov dword [esp + 0xf8], 0x8b589544
mov dword [esp + 0xfc], 0x8fae8958
mov dword [esp + 0x100], 0x83638d7b
mov dword [esp + 0x104], 0x8767811a
mov dword [esp + 0x108], 0xbb238512
mov dword [esp + 0x10c], 0xbf6bb96b
mov dword [esp + 0x110], 0xb379bd6b
mov dword [esp + 0x114], 0xb761b162
mov dword [esp + 0x118], 0xabaab57e
mov byte [esp + 0x11e], 0
mov word [esp + 0x11c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe2
ja 0x41054e
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
mov esi, ecx
xor esi, 0x7055c092
and ecx, 0xf055c092
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x26
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe3
jb 0x410510
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ecx
call eax
mov ebp, eax
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x448f80]
xor ebx, ebx
jmp 0x4105bd
mov ebx, dword [0x44e084]
jmp dword [0x448f88]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x448fc0]
xor ebx, ebx
mov ebp, dword [esp + 8]
jmp 0x4105b4
xor eax, eax
mov esi, dword [esp + 0x268]
test esi, esi
setg al
mov ebp, dword [esp + 8]
jmp dword [eax*4 + 0x448fc8]
jmp dword [0x448fd0]
push edi
call dword [0x44e0ac]
jmp 0x4105dc
mov eax, ebx
add esp, 0x23c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x448fa8]
xor ebx, ebx
push ebp
call dword [0x44e0ac]
jmp 0x4105bd
mov dword [esp + 8], ebp
jmp dword [0x448fb4]
mov ebp, dword [0x44e088]
mov dword [esp + 0xc], 0xf8e0908
mov word [esp + 0x10], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41066b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0xc1087102
and ecx, 0xc1087102
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x3c]
mov edx, ecx
xor edx, 0xa
and ecx, 0x75
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x410620
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], 0x297b2b74
mov dword [esp + 0x40], 0x2d7a2f7d
mov dword [esp + 0x44], 0x332c
mov byte [esp + 0x48], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xc
ja 0x4106e5
nop
nop
nop
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0x3c]
mov ebx, edx
xor ebx, 0xb3339c87
add edx, edx
and edx, 0x6667390e
mov eax, edx
and eax, ebx
xor edx, ebx
lea eax, [edx + eax*2]
xor eax, esi
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x5d
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x3c], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xd
jb 0x4106a0
lea eax, [esp + 0x3c]
push ecx
push 0
push 0
push 0
push dword [esp + 0x260]
push eax
push edi
call ebp
jmp case.0x410566.13
push ecx
push 0
push 0
push 0
push dword [esp + 0x260]
lea ecx, [esp + 0x50]
push ecx
push edi
call eax
jmp dword [0x448fbc]
mov eax, dword [0x44e088]
mov dword [esp + 0xc], 0xf8e0908
mov word [esp + 0x10], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41078b
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0xc1087102
and ecx, 0xc1087102
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x3c]
mov edx, ecx
xor edx, 0xa
and ecx, 0x75
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x410740
lea edx, [esp + 0x46]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], 0x297b2b74
mov dword [esp + 0x40], 0x2d7a2f7d
mov word [esp + 0x44], 0x332c
mov byte [edx + 2], 0
mov word [edx], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xc
ja 0x410700
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0x3c]
mov ebx, edx
xor ebx, 0xb3339c87
add edx, edx
and edx, 0x6667390e
mov ebp, edx
and ebp, ebx
xor edx, ebx
lea edx, [edx + ebp*2]
xor edx, esi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x5d
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x3c], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xd
jb 0x4107d0
jmp 0x410700
push 0
push ebx
call dword [0x44e09c]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x449008]
mov al, 1
jmp dword [0x44901c]
mov esi, eax
jmp 0x410a4a
mov dword [esp + 0xc], 0xe31de123
mov dword [esp + 0x10], 0xe71de51b
mov dword [esp + 0x14], 0xfb1ff901
mov dword [esp + 0x18], 0xffdefd36
mov dword [esp + 0x1c], 0xf31df11f
mov dword [esp + 0x20], 0xf710f517
mov dword [esp + 0x24], 0x8b778967
mov dword [esp + 0x28], 0x8f618d7b
mov dword [esp + 0x2c], 0x830b8162
mov dword [esp + 0x30], 0x874b8574
mov word [esp + 0x34], 0x9998
mov dword [esp + 0x36], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x410921
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
lea edx, [ecx + ecx]
and edx, 0x55c2b650
mov esi, ecx
sub esi, edx
mov edx, ecx
xor edx, 0x551ea4d7
or ecx, 0x2ae15b28
and ecx, edx
lea edx, [esi + ecx*2]
lea ecx, [esi + ecx*2]
add ecx, 0xaae15b28
add edx, eax
add edx, 0xaae15b28
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x38
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x4108c0
movzx eax, word [esp + 0xc]
test ax, ax
lea edx, [esp + 0x3c]
je 0x410951
lea ecx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410940
mov word [edx], 0
movzx eax, word [0x44e1ba]
test ax, ax
je 0x410985
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx + ecx], ax
movzx eax, word [ecx + 0x44e1bc]
add ecx, 2
test ax, ax
jne 0x410970
add edx, ecx
mov word [edx], 0
mov eax, dword [0x44e094]
mov dword [esp + 0xc], 0xe3c2c1c0
mov byte [esp + 0x10], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 4
ja 0x4109f8
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0x9434fbd0
mov ebp, ecx
xor ebp, 0x6bcb042f
or ecx, 0x1434fbd0
and ecx, ebp
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0xf0
mov edx, dword [esp + 4]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 5
jb 0x4109b0
lea ecx, [esp + 0x3c]
push dword [esp + 0xc]
push 0xffffffffffffffff
push ecx
push ebx
call eax
mov ebp, dword [esp + 8]
xor eax, eax
mov edx, dword [esp + 0x254]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov esi, dword [esp + 0x268]
push esi
push dword [esp + 0x264]
push dword [esp + 0x264]
push eax
push edx
push ebx
call dword [0x44e098]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448ff8]
xor esi, esi
push ebx
call dword [0x44e0ac]
mov ebx, esi
jmp 0x4105b4
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
push eax
push esi
push dword [esp + 0x268]
push ebx
call dword [0x44e0a8]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x449000]
mov dword [esp + 0x3c], 0xfffef8a7
mov dword [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja case.0x410566.2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x3c]
mov edx, eax
xor edx, 0xc75ff52a
and eax, 0xc75ff52a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x2e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x3c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x410ab0
mov dword [esp + 0x3c], 0xfffef8a7
mov dword [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x410b49
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x3c]
mov edx, eax
xor edx, 0xc75ff52a
and eax, 0xc75ff52a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x2e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x3c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x410b10
jmp dword [0x448f90]
movzx esi, word [esp + 0x3c]
jmp dword [0x448f98]
push 0
push esi
push 0x44e0b4
push ebp
call ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push esi
push 0x44e0b4
push ebp
call ebx
jmp dword [0x448fa4]
movzx eax, byte [0x44e1b8]
jmp dword [eax*4 + 0x448ff0]
push esi
push esi
push esi
push esi
push ebx
call dword [0x44e090]
push esi
push esi
push esi
push esi
push ebx
call dword [0x44e090]
jmp dword [0x448fd8]
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 + 0x4496c0]
push 0x44e054
call fcn.00438e20
add esp, 4
mov ecx, dword [0x448764]
mov dword [esp + 0x128], 0xd7137f22
mov word [esp + 0x12c], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 5
ja 0x410e11
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
movzx esi, byte [esp + edx + 0x128]
mov edx, eax
or edx, 0x1d01c151
mov edi, eax
not edi
or edi, 0xe2fe3eae
and edi, edx
not edi
and eax, 0xe2fe3eae
lea edx, [edi + eax*2]
lea eax, [edx + esi]
and edx, esi
mov esi, eax
xor esi, edx
mov edi, edx
not edi
and eax, edi
add eax, eax
sub eax, esi
xor edx, eax
and eax, edi
add eax, eax
sub eax, edx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0x9a
mov edx, dword [esp + 0x20]
mov byte [esp + edx + 0x128], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 6
jb 0x410da0
mov edx, dword [str.MeHdy4__pl9vrs4]
mov dword [esp + 0x228], 0x4a063633
mov dword [esp + 0x22c], 0x323b3c06
mov dword [esp + 0x230], 0x3223380e
mov dword [esp + 0x234], 0x2213123b
mov dword [esp + 0x238], 0x13602025
mov dword [esp + 0x23c], 0x59551923
mov dword [esp + 0x240], 0x25686366
mov dword [esp + 0x244], 0x6dadd327
mov dword [esp + 0x248], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, 0x23
ja 0x410f04
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
movzx esi, byte [esp + esi + 0x228]
mov edi, eax
xor edi, 0x6e572163
and eax, 0xee572163
lea eax, [edi + eax*2]
lea edi, [eax + esi]
and eax, esi
mov esi, edi
not esi
and esi, eax
add esi, eax
not eax
and eax, edi
sub eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x11
mov esi, dword [esp + 0xc0]
mov byte [esp + esi + 0x228], al
inc dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
cmp eax, 0x24
jb 0x410ea0
movzx ebx, byte [esp + 0x228]
lea eax, [esp + 0xc34]
test bl, bl
je 0x410f2b
lea esi, [esp + 0x229]
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x410f20
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x410f4b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x410f40
mov byte [eax], 0
movzx edx, byte [esp + 0x128]
test dl, dl
je 0x410f7b
lea esi, [esp + 0x129]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x410f70
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x410f9b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x410f90
mov byte [eax], 0
mov dword [esp + 0x228], 0x23bd21e3
mov dword [esp + 0x22c], 0x27b225ba
mov dword [esp + 0x230], 0xdb44d93d
mov dword [esp + 0x234], 0xdf03dd48
mov dword [esp + 0x238], 0xd35bd124
mov dword [esp + 0x23c], 0xd733d544
mov dword [esp + 0x240], 0xcbeac902
mov dword [esp + 0x244], 0xcf5ecd2d
mov dword [esp + 0x248], 0xc35ec150
mov dword [esp + 0x24c], 0xc725c55d
mov dword [esp + 0x250], 0xfb6ef919
mov dword [esp + 0x254], 0xff61fd65
mov dword [esp + 0x258], 0xf32df16e
mov dword [esp + 0x25c], 0xf72bf57c
mov dword [esp + 0x260], 0xeb7de97f
mov dword [esp + 0x264], 0xef33ed7b
mov dword [esp + 0x268], 0xe37de106
mov dword [esp + 0x26c], 0xe77be576
mov dword [esp + 0x270], 0x9b0f9945
mov dword [esp + 0x274], 0x9f029d0e
mov dword [esp + 0x278], 0x930c9175
mov dword [esp + 0x27c], 0x97099577
mov dword [esp + 0x280], 0x8b6f896c
mov dword [esp + 0x284], 0x8fb38d68
mov dword [esp + 0x288], 0x838281ba
mov word [esp + 0x28c], 0
lea ecx, [esp + 0xc34]
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x20]
cmp edx, 0x65
ja 0x41113d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
movzx esi, byte [esp + esi + 0x228]
mov edi, edx
xor edi, 0x4c6ee2f8
and edx, 0xcc6ee2f8
lea edx, [edi + edx*2]
lea edi, [edx + esi]
and edx, esi
mov esi, edi
not esi
and esi, edx
add esi, edx
not edx
and edx, edi
sub edx, esi
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x128]
add dl, 0x28
mov esi, dword [esp + 0x20]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0x20]
mov edx, dword [esp + 0x20]
cmp edx, 0x66
jb 0x4110e0
sub eax, ecx
mov dword [esp + 0x128], 0x9f7f99ab
mov dword [esp + 0x12c], 0xa34b9d6c
mov dword [esp + 0x130], 0xa1a0
mov dword [esp + 0xc0], 0
mov edx, dword [esp + 0xc0]
cmp edx, 0xb
ja 0x4111ee
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
movzx esi, byte [esp + esi + 0x128]
mov edi, edx
xor edi, 0xd73045da
add edx, edx
and edx, 0xae608bb4
mov ebx, edx
and ebx, edi
xor edx, edi
lea edx, [edx + ebx*2]
lea edi, [edx + esi]
and edx, esi
mov esi, edi
xor esi, edx
add esi, edx
not edx
and edx, edi
add edx, edx
sub edx, esi
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
add dl, 0xbe
mov esi, dword [esp + 0xc0]
mov byte [esp + esi + 0x128], dl
inc dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
cmp edx, 0xc
jb 0x411180
lea edx, [esp + 0xbc]
lea esi, [esp + 0xb0]
lea edi, [esp + 0x228]
lea ebx, [esp + 0x128]
push edx
push esi
push eax
push ecx
push edi
push ebx
push 0x44e0b4
call fcn.0040faa0
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x4496c8]
xor esi, esi
xor eax, eax
test esi, 0
sete al
jmp dword [eax*4 + 0x4496d0]
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb0]
mov edx, ecx
and edx, 0xfffffffc
mov esi, ecx
and esi, 3
mov eax, ecx
or eax, 3
imul eax, esi
xor esi, 3
imul esi, edx
add eax, esi
shr eax, 2
mov edx, ecx
xor edx, 1
mov esi, ecx
and esi, 0xfffffffe
add esi, esi
sub esi, edx
movzx edx, byte [ebx + esi]
cmp edx, 0x3d
je 0x41128e
cmp edx, 0x2e
jne 0x411295
mov edx, eax
not edx
lea eax, [edx + eax*2]
movzx ecx, byte [ebx + ecx - 2]
cmp ecx, 0x3d
je 0x4112a4
cmp ecx, 0x2e
jne 0x4112a5
dec eax
push eax
call fcn.0040c690
add esp, 4
mov esi, eax
push eax
push ebx
call fcn.00439930
add esp, 8
push dword [esp + 0xb0]
call fcn.0043c7f0
add esp, 4
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x4496d0]
push esi
call fcn.00403b10
add esp, 4
mov ebx, eax
jmp dword [0x4496d8]
push esi
call fcn.0040c6a0
add esp, 4
push ebx
call fcn.00404470
add esp, 4
mov esi, eax
mov word [esp + 0x228], 0x505a
mov byte [esp + 0x22a], 0xc6
mov word [esp + 0x22b], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 4
ja 0x41137a
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0xedb744d1
and eax, 0xedb744d1
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x128]
add al, 0xeb
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 5
jb 0x411330
push edi
push esi
call fcn.004044f0
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x4496e0]
call fcn.00438540
movzx eax, al
jmp dword [eax*4 + 0x4496e8]
mov dword [esp + 0xb8], ebx
mov word [esp + 0x228], 0xabaf
mov byte [esp + 0x22a], 0x4e
mov word [esp + 0x22b], 0
mov byte [esp + 0x22d], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 5
ja 0x411443
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0xa3188c0d
add eax, eax
and eax, 0x4631181a
mov ebx, eax
and ebx, edx
xor eax, edx
lea eax, [eax + ebx*2]
lea edx, [eax + ecx]
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 [esp + 0x128], eax
mov eax, dword [esp + 0x128]
add al, 0xbf
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 6
jb 0x4113e0
push edi
push esi
call fcn.004044f0
add esp, 8
mov dword [esp + 0xa8], eax
mov dword [esp + 0x20], 0xc2a453
mov dword [esp + 0x128], 0
mov eax, dword [esp + 0x128]
cmp eax, 3
ja 0x4114dd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x128]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x3f693fd0
and eax, 0x3f693fd0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
mov ecx, eax
xor ecx, 0x10
and eax, 0x6f
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x128]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0x128]
mov eax, dword [esp + 0x128]
cmp eax, 4
jb 0x411480
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0xb8], esi
push esi
call fcn.004044f0
add esp, 8
mov dword [esp + 0x228], 0x611f0518
mov dword [esp + 0x22c], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 7
ja 0x41158f
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x228]
mov esi, ebx
or esi, 0x1c7dbd16
mov edx, ebx
not edx
or edx, 0xe38242e9
and edx, esi
and ebx, 0xe38242e9
not edx
lea esi, [edx + ebx*2]
mov edx, esi
and edx, ecx
xor esi, ecx
lea ecx, [esi + edx*2]
mov esi, ecx
xor esi, edx
add esi, edx
not edx
and edx, ecx
add edx, edx
sub edx, esi
mov dword [esp + 0x128], edx
mov ecx, dword [esp + 0x128]
add cl, 0x73
mov edx, dword [esp + 0x20]
mov byte [esp + edx + 0x228], cl
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, 8
jb 0x411520
xor ebx, ebx
test eax, eax
setg bl
push edi
mov esi, dword [esp + 0xb8]
push esi
call fcn.004044f0
add esp, 8
mov dword [esp + 0xa4], eax
push esi
call fcn.004127a0
add esp, 4
push dword [esp + 0xb8]
call fcn.004046e0
add esp, 4
lea esi, [esp + 0xc0]
mov ecx, esi
push 1
call fcn.0040d010
push esi
call fcn.00423e70
add esp, 4
mov ecx, esi
call fcn.0040d930
lea esi, [esp + 0xbc8]
mov ecx, esi
push 3
call fcn.0040d010
push esi
call fcn.004245f0
add esp, 4
mov ecx, esi
call fcn.0040d930
lea esi, [esp + 0xb60]
mov ecx, esi
push 1
call fcn.0040d010
push esi
call fcn.00424980
add esp, 4
mov ecx, esi
call fcn.0040d930
lea esi, [esp + 0xaf8]
mov ecx, esi
push 1
call fcn.0040d010
push esi
call fcn.00426740
add esp, 4
push esi
call fcn.00426fa0
add esp, 4
push esi
call fcn.00427410
add esp, 4
push esi
call fcn.0042a4b0
add esp, 4
mov ecx, esi
call fcn.0040d930
lea esi, [esp + 0xa90]
mov ecx, esi
push 1
call fcn.0040d010
push esi
call fcn.00429340
add esp, 4
mov ecx, esi
call fcn.0040d930
lea esi, [esp + 0xa28]
mov ecx, esi
push 1
call fcn.0040d010
push esi
call fcn.0042bfb0
add esp, 4
push esi
call fcn.00433810
add esp, 4
jmp dword [ebx*4 + 0x4496f0]
jmp dword [0x4496f8]
push esi
call fcn.00433990
add esp, 4
jmp dword [0x4496f8]
push ebx
call fcn.004046e0
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
jmp dword [0x449774]
lea ecx, [esp + 0xa28]
call fcn.0040d930
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0x20], 0xfaefffba
mov word [esp + 0x24], 0xa4fc
mov byte [esp + 0x26], 0x62
mov dword [esp + 0x27], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0xa
ja 0x411771
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x7dd5099
and eax, 0x7dd5099
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
mov ecx, eax
xor ecx, 0xfd
and eax, 2
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0xb
jb 0x411720
mov ecx, dword [0x448764]
mov dword [esp + 0xc], 0x5131e52a
mov byte [esp + 0x10], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x4117f8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0xc]
mov esi, eax
xor esi, 0x6cdd156d
mov ebx, eax
xor ebx, 0x1322ea92
or eax, 0x6cdd156d
and eax, ebx
lea eax, [esi + eax*2]
xor eax, edx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
mov edx, eax
xor edx, 0x21
and eax, 0x5e
add eax, eax
sub eax, edx
mov edx, dword [esp + 4]
mov byte [esp + edx + 0xc], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x4117a0
mov edx, dword [str.MeHdy4__pl9vrs4]
mov dword [esp + 0x228], 0xfecadadf
mov dword [esp + 0x22c], 0xd4c6d4c9
mov dword [esp + 0x230], 0x3cc3d0cb
mov dword [esp + 0x234], 0xeb2d322b
mov dword [esp + 0x238], 0xe3c283a
mov dword [esp + 0x23c], 0xe3f2fdf4
mov dword [esp + 0x240], 0x16223c38
mov byte [esp + 0x244], 0xd8
mov dword [esp + 0x245], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x20
ja 0x4118c5
nop
mov eax, dword [esp + 8]
mov esi, dword [esp + 8]
movzx esi, byte [esp + esi + 0x228]
mov ebx, eax
xor ebx, 0x534601f5
and eax, 0xd34601f5
lea eax, [ebx + eax*2]
lea ebx, [eax + esi]
and eax, esi
mov esi, ebx
xor esi, eax
add esi, eax
not eax
and eax, ebx
add eax, eax
sub eax, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x37
mov esi, dword [esp + 8]
mov byte [esp + esi + 0x228], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x21
jb 0x411870
movzx ebx, byte [esp + 0x228]
lea eax, [esp + 0x128]
test bl, bl
je 0x4118fb
lea eax, [esp + 0x128]
lea esi, [esp + 0x229]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x4118f0
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x41191b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x411910
mov byte [eax], 0
movzx edx, byte [esp + 0xc]
test dl, dl
je 0x41193b
lea esi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x411930
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x41195b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x411950
mov byte [eax], 0
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x41197b
lea edx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x411970
mov byte [eax], 0
movzx ecx, byte [0x44e054]
test cl, cl
je 0x4119a1
xor edx, edx
nop
nop
nop
nop
nop
mov byte [eax + edx], cl
movzx ecx, byte [edx + 0x44e055]
inc edx
test cl, cl
jne 0x411990
add eax, edx
mov byte [eax], 0
mov dword [esp + 0x228], 0xcf5dc90f
mov dword [esp + 0x22c], 0xc356cd5e
mov dword [esp + 0x230], 0xc754c165
mov dword [esp + 0x234], 0xbb67c550
mov dword [esp + 0x238], 0xbf37b90c
mov dword [esp + 0x23c], 0xb317bd2c
mov dword [esp + 0x240], 0xb756b17e
mov dword [esp + 0x244], 0xab3ab515
mov dword [esp + 0x248], 0xaf32a938
mov dword [esp + 0x24c], 0xa305ad35
mov dword [esp + 0x250], 0xa732a101
mov dword [esp + 0x254], 0x9b09a53d
mov dword [esp + 0x258], 0x9f4d990a
mov dword [esp + 0x25c], 0x934f9d14
mov dword [esp + 0x260], 0x971d911b
mov dword [esp + 0x264], 0x8b57951f
mov dword [esp + 0x268], 0x8f1d8912
mov dword [esp + 0x26c], 0x831f8d1a
mov dword [esp + 0x270], 0x8713815d
mov dword [esp + 0x274], 0x7be68512
mov dword [esp + 0x278], 0x7fec79dd
mov dword [esp + 0x27c], 0x73e17ddb
mov dword [esp + 0x280], 0x77d371d4
mov dword [esp + 0x284], 0x6b9775d0
mov dword [esp + 0x288], 0x6f6e6996
mov dword [esp + 0x28c], 0
lea ecx, [esp + 0x128]
sub eax, ecx
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 0x67
ja 0x411b28
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
movzx esi, byte [esp + esi + 0x228]
lea ebx, [edx + esi]
add ebx, 0x3436e432
add edx, 0x3436e432
and edx, esi
add edx, edx
sub ebx, edx
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
add dl, 6
mov esi, dword [esp + 0xc]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp edx, 0x68
jb 0x411ae0
mov dword [esp + 0x20], 0x294d2b75
mov dword [esp + 0x24], 0x2d412fb8
mov dword [esp + 0x28], 0x532c
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xb
ja 0x411ba8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0x20]
mov ebx, edx
xor ebx, 0xa9b17237
and edx, 0x29b17237
lea edx, [ebx + edx*2]
mov ebx, edx
and ebx, esi
add edx, esi
add ebx, ebx
sub edx, ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
add dl, 0xed
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x20], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xc
jb 0x411b60
lea edx, [esp + 0xac]
lea esi, [esp + 0xa0]
push edx
push esi
push eax
push ecx
push edi
lea eax, [esp + 0x34]
push eax
push 0x44e0b4
call fcn.0040faa0
add esp, 0x1c
lea ecx, [esp + 0xa28]
call fcn.0040d930
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0x20], 0xfaefffba
mov word [esp + 0x24], 0xa4fc
mov byte [esp + 0x26], 0x62
mov dword [esp + 0x27], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0xa
ja 0x411c61
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x7dd5099
and eax, 0x7dd5099
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
mov ecx, eax
xor ecx, 0xfd
and eax, 2
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0xb
jb 0x411c10
mov ecx, dword [0x448764]
mov dword [esp + 0xc], 0x5131e52a
mov byte [esp + 0x10], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x411ce8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0xc]
mov esi, eax
xor esi, 0x6cdd156d
mov ebx, eax
xor ebx, 0x1322ea92
or eax, 0x6cdd156d
and eax, ebx
lea eax, [esi + eax*2]
xor eax, edx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
mov edx, eax
xor edx, 0x21
and eax, 0x5e
add eax, eax
sub eax, edx
mov edx, dword [esp + 4]
mov byte [esp + edx + 0xc], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x411c90
mov edx, dword [str.MeHdy4__pl9vrs4]
mov dword [esp + 0x228], 0xfecadadf
mov dword [esp + 0x22c], 0xd4c6d4c9
mov dword [esp + 0x230], 0x3cc3d0cb
mov dword [esp + 0x234], 0xeb2d322b
mov dword [esp + 0x238], 0xe3c283a
mov dword [esp + 0x23c], 0xe3f2fdf4
mov dword [esp + 0x240], 0x16223c38
mov byte [esp + 0x244], 0xd8
mov dword [esp + 0x245], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x20
ja 0x411db5
nop
mov eax, dword [esp + 8]
mov esi, dword [esp + 8]
movzx esi, byte [esp + esi + 0x228]
mov ebx, eax
xor ebx, 0x534601f5
and eax, 0xd34601f5
lea eax, [ebx + eax*2]
lea ebx, [eax + esi]
and eax, esi
mov esi, ebx
xor esi, eax
add esi, eax
not eax
and eax, ebx
add eax, eax
sub eax, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x37
mov esi, dword [esp + 8]
mov byte [esp + esi + 0x228], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x21
jb 0x411d60
movzx ebx, byte [esp + 0x228]
lea eax, [esp + 0x128]
test bl, bl
je 0x411deb
lea eax, [esp + 0x128]
lea esi, [esp + 0x229]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x411de0
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x411e0b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x411e00
mov byte [eax], 0
movzx edx, byte [esp + 0xc]
test dl, dl
je 0x411e2b
lea esi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x411e20
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x411e4b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x411e40
mov byte [eax], 0
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x411e6b
lea edx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x411e60
mov byte [eax], 0
movzx ecx, byte [0x44e054]
test cl, cl
je 0x411e91
xor edx, edx
nop
nop
nop
nop
nop
mov byte [eax + edx], cl
movzx ecx, byte [edx + 0x44e055]
inc edx
test cl, cl
jne 0x411e80
add eax, edx
mov byte [eax], 0
mov dword [esp + 0x228], 0xcf5dc90f
mov dword [esp + 0x22c], 0xc356cd5e
mov dword [esp + 0x230], 0xc754c165
mov dword [esp + 0x234], 0xbb67c550
mov dword [esp + 0x238], 0xbf37b90c
mov dword [esp + 0x23c], 0xb317bd2c
mov dword [esp + 0x240], 0xb756b17e
mov dword [esp + 0x244], 0xab3ab515
mov dword [esp + 0x248], 0xaf32a938
mov dword [esp + 0x24c], 0xa305ad35
mov dword [esp + 0x250], 0xa732a101
mov dword [esp + 0x254], 0x9b09a53d
mov dword [esp + 0x258], 0x9f4d990a
mov dword [esp + 0x25c], 0x934f9d14
mov dword [esp + 0x260], 0x971d911b
mov dword [esp + 0x264], 0x8b57951f
mov dword [esp + 0x268], 0x8f1d8912
mov dword [esp + 0x26c], 0x831f8d1a
mov dword [esp + 0x270], 0x8713815d
mov dword [esp + 0x274], 0x7be68512
mov dword [esp + 0x278], 0x7fec79dd
mov dword [esp + 0x27c], 0x73e17ddb
mov dword [esp + 0x280], 0x77d371d4
mov dword [esp + 0x284], 0x6b9775d0
mov dword [esp + 0x288], 0x6f6e6996
mov dword [esp + 0x28c], 0
lea ecx, [esp + 0x128]
sub eax, ecx
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 0x67
ja 0x412018
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
movzx esi, byte [esp + esi + 0x228]
lea ebx, [edx + esi]
add ebx, 0x3436e432
add edx, 0x3436e432
and edx, esi
add edx, edx
sub ebx, edx
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
add dl, 6
mov esi, dword [esp + 0xc]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp edx, 0x68
jb 0x411fd0
mov dword [esp + 0x20], 0x294d2b75
mov dword [esp + 0x24], 0x2d412fb8
mov dword [esp + 0x28], 0x532c
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xb
ja 0x412098
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0x20]
mov ebx, edx
xor ebx, 0xa9b17237
and edx, 0x29b17237
lea edx, [ebx + edx*2]
mov ebx, edx
and ebx, esi
add edx, esi
add ebx, ebx
sub edx, ebx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
add dl, 0xed
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x20], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xc
jb 0x412050
lea edx, [esp + 0xac]
lea esi, [esp + 0xa0]
push edx
push esi
push eax
push ecx
push edi
lea eax, [esp + 0x34]
push eax
push 0x44e0b4
call fcn.0040faa0
add esp, 0x1c
jmp dword [0x449704]
movzx eax, al
jmp dword [eax*4 + 0x449708]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xa0]
mov edx, ecx
and edx, 0xfffffffc
mov ebx, ecx
and ebx, 3
mov eax, ecx
or eax, 3
imul eax, ebx
xor ebx, 3
imul ebx, edx
add eax, ebx
shr eax, 2
mov edx, ecx
xor edx, 1
mov ebx, ecx
and ebx, 0xfffffffe
add ebx, ebx
sub ebx, edx
movzx edx, byte [esi + ebx]
cmp edx, 0x3d
je 0x412114
cmp edx, 0x2e
jne 0x41211b
mov edx, eax
not edx
lea eax, [edx + eax*2]
movzx ecx, byte [esi + ecx - 2]
cmp ecx, 0x3d
je 0x41212a
cmp ecx, 0x2e
jne 0x41212b
dec eax
push eax
call fcn.0040c690
add esp, 4
mov ebx, eax
push eax
push esi
call fcn.00439930
add esp, 8
push dword [esp + 0xa0]
call fcn.0043c7f0
add esp, 4
push ebx
call fcn.00403b10
add esp, 4
mov esi, eax
jmp dword [0x449710]
push ebx
call fcn.0040c6a0
add esp, 4
push esi
call fcn.00415620
add esp, 4
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x449718]
xor eax, eax
cmp dword [esp + 0xa4], 0
setg al
jmp dword [eax*4 + 0x449720]
xor eax, eax
cmp dword [esp + 0xa8], 0
setg al
jmp dword [eax*4 + 0x449738]
push esi
call fcn.004046e0
add esp, 4
xor eax, eax
cmp dword [esp + 0xa4], 0
setg al
jmp dword [eax*4 + 0x449720]
lea ecx, [esp + 0x228]
push 1
call fcn.0040d010
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + 0x44e3bd], 0
lea eax, [eax + 1]
jne 0x4121e0
mov dword [esp + 0x20], 0xfe10ec0c
mov dword [esp + 0x24], 0xe7e23bf3
mov dword [esp + 0x28], 0x69e4
mov byte [esp + 0x2c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xc
ja 0x412262
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + edx]
add esi, 0x194bcec
add ecx, 0x194bcec
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0x64
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xd
jb 0x412220
lea esi, [esp + 0x228]
mov ecx, esi
push eax
push 0x44e3bc
lea eax, [esp + 0x28]
push eax
call fcn.0040d220
mov ecx, esi
call fcn.0040d930
mov ecx, esi
call fcn.0040d050
xor eax, eax
cmp dword [esp + 0xa8], 0
setg al
jmp dword [eax*4 + 0x449738]
push 0
call fcn.004424f0
add esp, 4
mov ecx, dword [case.0x412296.5]
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449750]
jmp dword [0x449774]
lea ecx, [esp + 0xa28]
call fcn.0040d050
lea ecx, [esp + 0xa90]
call fcn.0040d050
lea ecx, [esp + 0xaf8]
call fcn.0040d050
lea ecx, [esp + 0xb60]
call fcn.0040d050
lea ecx, [esp + 0xbc8]
call fcn.0040d050
lea ecx, [esp + 0xc0]
call fcn.0040d050
nop
nop
lea ecx, [esp + 0xa28]
call fcn.0040d050
lea ecx, [esp + 0xa90]
call fcn.0040d050
lea ecx, [esp + 0xaf8]
call fcn.0040d050
lea ecx, [esp + 0xb60]
call fcn.0040d050
lea ecx, [esp + 0xbc8]
call fcn.0040d050
lea ecx, [esp + 0xc0]
call fcn.0040d050
jmp dword [0x44977c]
mov al, 1
jmp 0x4116d0
mov dword [esp + 0x20], 0x11811ff9
mov dword [esp + 0x24], 0x15cc13f4
mov dword [esp + 0x28], 0x99e17f3
mov dword [esp + 0x2c], 0xd2a0bef
mov dword [esp + 0x30], 0x19b0f2e
mov dword [esp + 0x34], 0x5e10394
mov dword [esp + 0x38], 0x39920796
mov dword [esp + 0x3c], 0x3deb3b18
mov dword [esp + 0x40], 0x31a53fa3
mov dword [esp + 0x44], 0x351233ae
mov dword [esp + 0x48], 0x29a937d1
mov dword [esp + 0x4c], 0x2df42bcc
mov dword [esp + 0x50], 0x21a62fcb
mov dword [esp + 0x54], 0x250223c7
mov dword [esp + 0x58], 0xd9f72706
mov dword [esp + 0x5c], 0xddfadb3d
mov dword [esp + 0x60], 0xd145df48
mov dword [esp + 0x64], 0xd535d34f
mov dword [esp + 0x68], 0xc941d745
mov dword [esp + 0x6c], 0xcdeacb5c
mov dword [esp + 0x70], 0xc15acf1d
mov dword [esp + 0x74], 0xc517c3e0
mov dword [esp + 0x78], 0xf917c7e4
mov dword [esp + 0x7c], 0xfd6bfb66
mov dword [esp + 0x80], 0xf16cff1e
mov dword [esp + 0x84], 0xf511f317
mov dword [esp + 0x88], 0xe9d6f769
mov dword [esp + 0x8c], 0xedcaebce
mov dword [esp + 0x90], 0xe109ef08
mov dword [esp + 0x94], 0xe5c2e37c
mov dword [esp + 0x98], 0x99e6e7c6
mov byte [esp + 0x9c], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x7c
ja 0x4124e2
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x20]
mov esi, ecx
xor esi, 0x227134c5
and ecx, 0x227134c5
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x228]
mov edx, ecx
not edx
and edx, 0xd9
and ecx, 0x26
sub ecx, edx
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x7d
jb 0x412490
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x412511
lea edi, [esp + 0x228]
lea edx, [esp + 0x22]
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 0x412500
mov word [edi], 0
movzx ecx, word [eax]
test cx, cx
je 0x412541
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 0x412530
mov dword [edi], 0x220022
mov dword [edi + 4], 0x22
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 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], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x44
mov dword [esp + 0x4c], 1
push 0xc9be8534
push dword [0x44f3bc]
call fcn.004425e0
add esp, 8
lea ecx, [esp + 0xc]
lea edx, [esp + 0x228]
push ecx
lea ecx, [esp + 0x24]
push ecx
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 + 0x449758]
jmp dword [0x449764]
cmp dword [edi + esi*8], 0x625b6034
je 0x412640
inc esi
cmp ecx, esi
jne 0x412630
jmp case.0x412296.11
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x412296.11
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], 0x14151617
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x4126c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x1c]
mov esi, ecx
xor esi, 0xaf443a3c
and ecx, 0x2f443a3c
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xd4
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x412680
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x4126fc
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4126f0
inc esi
cmp ecx, esi
jne 0x4126e0
jmp 0x4126fc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41277f
jmp dword [0x44976c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], 0x14151617
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x412760
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x1c]
mov esi, ecx
xor esi, 0xaf443a3c
and ecx, 0x2f443a3c
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xd4
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x412720
mov ecx, dword [0x44f3c8]
test ecx, ecx
je case.0x412296.11
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x44f3cc]
jmp 0x412630
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
jmp dword [0x44976c]
push eax
mov edi, esp
sub esp, 8
mov ebx, esp
sub esp, 8
mov ecx, esp
jmp eax
mov dword [esi + 0x84], ecx
sub esp, 8
mov eax, esp
mov dword [esi + 0x68], eax
mov dword [esi + 0x124], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xa8], eax
mov dword [esi + 0x120], eax
sub esp, 8
mov dword [esi + 0x118], esp
sub esp, 8
mov dword [esi + 0x114], esp
sub esp, 8
mov dword [esi + 0xac], esp
sub esp, 8
mov eax, esp
mov dword [esi + 0xa0], eax
mov dword [esi + 0x110], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x9c], eax
mov dword [esi + 0x10c], eax
push eax
mov dword [esi + 0x108], esp
mov dword [esi + 0xb4], ecx
sub esp, 8
mov dword [esi + 0x64], esp
sub esp, 8
mov dword [esi + 0x98], esp
sub esp, 8
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x94], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x60], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0xb0], esp
sub esp, 8
mov dword [esi + 0xa4], esp
sub esp, 8
mov dword [esi + 0x6c], esp
jmp dword [0x449794]
mov dword [edi], 0x19bf
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4128d5
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, 0xecf72e3a
and eax, 0xecf72e3a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xde
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x4128a0
push edi
push dword [ebp + 8]
call fcn.00404490
add esp, 8
jmp case.0x4112d0.49
push edi
push dword [ebp + 8]
call fcn.00404490
add esp, 8
jmp dword [0x44979c]
push eax
push eax
mov dword [esi + 0x144], esp
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0xb8], esp
sub esp, 8
mov dword [esi + 0xc4], esp
sub esp, 8
mov dword [esi + 0xc0], esp
push eax
mov dword [esi + 0x140], esp
sub esp, 8
mov dword [esi + 0xbc], esp
push eax
mov dword [esi + 0x13c], esp
sub esp, 8
mov dword [esi + 0x138], esp
sub esp, 0x10
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x54], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0xcc], esp
sub esp, 8
mov dword [esi + 0x80], esp
sub esp, 8
mov dword [esi + 0x150], esp
sub esp, 8
mov dword [esi + 0xdc], esp
sub esp, 8
mov dword [esi + 0xd8], esp
sub esp, 8
mov dword [esi + 0xd4], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x74], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0x148], esp
sub esp, 8
mov dword [esi + 0x5c], esp
sub esp, 0x50
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x154], esp
sub esp, 8
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x14c], esp
sub esp, 8
mov dword [esi + 0x160], esp
sub esp, 8
mov dword [esi + 0x15c], esp
sub esp, 8
mov dword [esi + 0x158], esp
sub esp, 0x68
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xc8], eax
mov esp, eax
mov dword [edi], 0x19bf
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4128f0
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0xecf72e3a
and eax, 0xecf72e3a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xde
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x412a10
jmp 0x4128f0
xor ecx, ecx
test eax, eax
sete cl
mov edi, eax
xor eax, eax
jmp dword [ecx*4 + 0x4497a0]
mov edx, edi
mov eax, dword [esi + 0x5c]
inc eax
mov dword [esi + 0xfc], eax
mov eax, dword [esi + 0xbc]
add eax, 2
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xc0]
add eax, 2
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xc4]
add eax, 2
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x6c]
add eax, 2
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0xa4]
add eax, 2
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0xb0]
add eax, 2
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x7c]
add eax, 2
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x78]
add eax, 0x4a
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x80]
add eax, 2
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0xcc]
add eax, 2
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x50]
add eax, 3
mov dword [esi + 0xf4], eax
mov eax, dword [esi + 0x98]
add eax, 3
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x64]
add eax, 2
mov dword [esi + 0xec], eax
add dword [esi + 0x9c], 2
add dword [esi + 0xa0], 2
add dword [esi + 0xa8], 2
add dword [esi + 0x68], 2
add dword [esi + 0xb4], 2
xor edi, edi
jmp 0x412b4d
mov edi, dword [esi + 0x134]
inc edi
mov edx, dword [esi + 0xd0]
mov dword [esi + 0xd0], edx
push edx
call fcn.004046a0
mov edx, dword [esi + 0xd0]
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x4497a8]
mov dword [esi + 0x134], edi
push edi
push edx
call fcn.004046b0
add esp, 8
mov edi, eax
mov word [ebx], 0x39b4
mov dword [ebx + 2], 0
mov byte [ebx + 6], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x412be5
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 [ebx + ecx]
mov edx, eax
xor edx, 0xf11dd276
and eax, 0xf11dd276
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xb2
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x412bb0
push 3
push ebx
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4497b0]
mov dword [esi + 0x20], ebx
mov edx, dword [esi + 0x84]
mov word [edx], 0x8b00
mov eax, dword [esi + 0xb4]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x412c94
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x84]
movzx edx, byte [edx + ecx]
mov ecx, eax
xor ecx, 0xc75ca5e3
add eax, eax
and eax, 0x8eb94bc6
mov ebx, eax
and ebx, ecx
xor eax, ecx
lea ecx, [eax + ebx*2]
lea eax, [ecx + edx]
and ecx, edx
mov ebx, eax
not ebx
and ebx, ecx
mov edx, ecx
not edx
and eax, edx
sub eax, ebx
mov ebx, eax
not ebx
and ebx, ecx
and eax, edx
mov edx, dword [esi + 0x84]
sub eax, ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x91
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x412c30
push edx
push edi
call fcn.00404420
add esp, 8
fnstcw word [esi + 0x46]
movzx eax, word [esi + 0x46]
or eax, 0xc00
mov word [esi + 0x8a], ax
fldcw word [esi + 0x8a]
fistp dword [esi + 0x174]
fldcw word [esi + 0x46]
mov eax, dword [esi + 0x174]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x4497b8]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x4497c0]
sete al
movzx eax, al
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x4497c8]
mov edx, dword [esi + 0xb0]
mov word [edx], 0x9903
mov eax, dword [esi + 0x11c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x412d5c
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
not ecx
or ecx, 0x10477a26
add ecx, eax
xor eax, 0x10477a26
lea eax, [eax + ecx*2]
add eax, 2
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x42
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x412d20
push 2
push edx
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449868]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0xa4]
mov word [edi], 0x3fcc
mov eax, dword [esi + 0x104]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x412de5
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, 0x9b24baf5
and eax, 0x1b24baf5
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x37
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x412db0
push 2
push edi
mov edi, dword [esi + 0xc]
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449870]
mov edx, dword [esi + 0x6c]
mov word [edx], 0x49fd
mov eax, dword [esi + 0xf8]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x412e6f
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, 0xacfac1ee
and eax, 0x2cfac1ee
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov edx, dword [esi + 0x6c]
mov eax, dword [esi + 8]
add al, 0x5a
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x412e30
push 5
push edx
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449878]
mov edx, dword [esi + 0x144]
mov word [edx], 0x3fb6
mov dword [edx + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x412eec
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
not ecx
or ecx, 0x1b66ab35
add ecx, eax
xor eax, 0x1b66ab35
lea eax, [eax + ecx*2]
add eax, 2
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xf7
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x412eb0
push 2
push edx
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449880]
mov ecx, dword [esi + 0x58]
mov dword [ecx], 0xc7a8
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x412f7e
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
not ecx
or ecx, 0x31b84b51
add ecx, eax
xor eax, 0x31b84b51
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 2
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x58]
movzx ecx, byte [edi + ecx]
and eax, ecx
add ecx, edx
add ecx, 2
sub ecx, eax
mov edx, 0xd18352ff
sub edx, ecx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x6b
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, 4
jb 0x412f20
push 3
push ecx
mov edi, dword [esi + 0xc]
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449888]
jmp case.0x4132bb.1
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x4497d0]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0xcc]
mov word [edi], 0x998
mov eax, dword [esi + 0x128]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
mov ebx, dword [esi + 0x20]
ja 0x41302d
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edi + eax]
mov edx, ecx
xor edx, 0xe9f3643e
and ecx, 0xe9f3643e
lea edx, [edx + ecx*2]
mov ecx, eax
not ecx
or ecx, edx
add ecx, eax
inc ecx
add eax, edx
sub eax, ecx
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
add al, 0xca
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x412fe0
push edi
mov edi, dword [esi + 0xc]
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x80]
mov word [edx], 0xf14a
mov eax, dword [esi + 0x12c]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x4130ab
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, 0x958a1f54
and eax, 0x158a1f54
lea eax, [edx + eax*2]
mov edx, dword [esi + 0x80]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x5c
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x413070
push edx
push edi
call fcn.004043c0
add esp, 8
mov edi, dword [esi + 0x14]
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x449938]
mov ecx, edi
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne 0x4130e0
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0
cmp edi, edx
jbe 0x413137
cmp byte [edx], 0
je 0x413137
mov dword [esi + 0xc], 0
mov ebx, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], 0
lea eax, [esi + 8]
push eax
push edi
push ebx
call fcn.00410bb0
add esp, 0xc
lea ecx, [ebx + eax]
inc dword [esi + 0xc]
cmp ecx, edi
jae 0x413137
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x413110
mov ebx, dword [esi + 0xc]
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x413148
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x18], ecx
cmp eax, ecx
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
jae 0x4133d0
mov edx, dword [esi + 0x28]
cmp ebx, edi
jae 0x4133d0
mov edx, dword [esi + 0x28]
nop
cmp byte [ebx], 0
je 0x4133d0
lea eax, [esi + 8]
push eax
push edi
push ebx
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x4133cd
add ebx, eax
cmp ebx, edi
mov eax, dword [esi + 0x10]
jb 0x413180
jmp 0x4133d0
mov ebx, dword [esi + 0x154]
mov dword [ebx], 0xeb74
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x41321c
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, 0x720b5f57
and eax, 0xf20b5f57
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0x4d
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x4131e0
push ebx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0x7c]
mov word [edx], 0x21aa
mov eax, dword [esi + 0x130]
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
mov ebx, dword [esi + 0x20]
ja 0x41329f
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, 0x5a1b2d38
and eax, 0xda1b2d38
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 8]
add al, 0xe8
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x413260
push edx
push edi
call fcn.004043c0
add esp, 8
mov edi, dword [esi + 0x14]
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x4499c0]
mov ecx, edi
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x4132d0
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], 0
cmp ebx, edx
jbe 0x413327
cmp byte [edx], 0
je 0x413327
mov dword [esi + 0xc], 0
mov edi, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], 0
lea eax, [esi + 8]
push eax
push ebx
push edi
call fcn.00410bb0
add esp, 0xc
lea ecx, [edi + eax]
inc dword [esi + 0xc]
cmp ecx, ebx
jae 0x413327
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x413300
mov edi, dword [esi + 0xc]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x413338
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + edi*2]
mov edx, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], ecx
cmp eax, ecx
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
jae 0x413a9b
mov edx, dword [esi + 0x24]
cmp edi, ebx
jae 0x413a9b
mov edx, dword [esi + 0x24]
nop
cmp byte [edi], 0
je 0x413a9b
lea eax, [esi + 8]
push eax
push ebx
push edi
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x413a98
add edi, eax
cmp edi, ebx
mov eax, dword [esi + 0x10]
jb 0x413370
jmp 0x413a9b
sete al
movzx eax, al
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x4497d8]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x124]
jmp dword [0x4497e4]
mov eax, dword [esi + 0x10]
mov word [edx], 0
lea ebx, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x4133e0
mov ecx, ebx
xor ebx, ebx
mov dword [esi + 0xc], ecx
cmp eax, ecx
jae 0x413428
cmp byte [eax], 0
je 0x413428
xor ebx, ebx
mov edi, dword [esi + 0x10]
nop
nop
mov dword [esi + 8], 0
lea eax, [esi + 8]
push eax
push dword [esi + 0xc]
push edi
call fcn.00410bb0
add esp, 0xc
lea ecx, [edi + eax]
inc ebx
cmp ecx, dword [esi + 0xc]
jae 0x413428
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x413400
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x413436
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], ecx
cmp eax, ecx
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
jae 0x41349e
mov edx, dword [esi + 0x24]
cmp edi, ebx
jae 0x41349e
mov edx, dword [esi + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x41349e
lea eax, [esi + 8]
push eax
push ebx
push edi
mov dword [esi + 0x10], edx
call fcn.00410bb0
mov edx, dword [esi + 0x10]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x41349e
add edi, eax
cmp edi, ebx
jb 0x413470
mov word [edx], 0
mov edi, dword [esi + 0x150]
mov word [edi], 0xe1fd
mov byte [edi + 2], 0x9e
mov dword [edi + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x413505
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, 0xe39be91a
and eax, 0xe39be91a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x7e
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x4134d0
push edi
push dword [ebp + 8]
call fcn.00404490
add esp, 8
xor ecx, ecx
mov dword [esi + 0x1c], eax
test eax, eax
setne cl
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
jmp dword [ecx*4 + 0x449940]
mov edi, dword [esi + 0x74]
mov ecx, edi
push 2
call fcn.0040d010
push dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
push ebx
push dword [esi + 0x24]
push dword [esi + 0x28]
push edi
call fcn.0041a6d0
add esp, 0x14
mov ecx, edi
call fcn.0040d930
movzx eax, al
jmp dword [eax*4 + 0x449970]
mov eax, dword [edi + 4]
shr eax, 0xa
push 0xa
push 0xb
push dword [esi + 0x148]
push eax
call fcn.00419bb0
add esp, 0x10
mov ecx, dword [esi + 0x5c]
mov dword [ecx], 0x9388534b
mov dword [ecx + 4], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 7
mov ebx, dword [esi + 0x20]
ja 0x4135ed
nop
nop
mov ecx, dword [esi + 4]
mov edx, ecx
mov edi, ecx
xor edi, 0x1107ee23
or ecx, 0x6ef811dc
and ecx, edi
mov edi, dword [esi + 0x5c]
xor edx, 0xeef811dc
lea ecx, [edx + ecx*2]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
xor edx, 0x4c
and ecx, 0x33
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, 8
jb 0x4135a0
mov edi, dword [esi + 0x78]
mov dword [edi], 0x30c3831
mov dword [edi + 4], 0x753d0101
mov dword [edi + 8], 0x150d3432
mov dword [edi + 0xc], 0x196a2f2f
mov dword [edi + 0x10], 0x261b6f1d
mov dword [edi + 0x14], 0x2062271e
mov dword [edi + 0x18], 0xe617151c
mov dword [edi + 0x1c], 0x9de5ece3
mov dword [edi + 0x20], 0xecdbdcec
mov dword [edi + 0x24], 0xe192e7d7
mov dword [edi + 0x28], 0xf1e297e5
mov dword [edi + 0x2c], 0xcaff8bcf
mov dword [edi + 0x30], 0xf3c9f9fe
mov dword [edi + 0x34], 0xf4f683bc
mov dword [edi + 0x38], 0xb9fac4f0
mov dword [edi + 0x3c], 0xc0fff8c8
mov dword [edi + 0x40], 0xc4becbfb
mov dword [edi + 0x44], 0x9ff5d9cb
mov word [edi + 0x48], 0x57b4
mov ecx, dword [esi + 0x100]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x4c
ja 0x4136cc
nop
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, 0x505797e5
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x87
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x4d
jb 0x4136a0
lea ecx, [0x44e3bb]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4136e0
movzx edx, byte [edi]
test dl, dl
je 0x413712
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + edi], dl
mov edx, dword [esi + 0x78]
movzx edx, byte [edx + edi + 1]
inc edi
test dl, dl
jne 0x413700
add ecx, edi
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
je 0x41372b
inc eax
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x413720
mov byte [ecx], 0
mov eax, dword [esi + 0x5c]
movzx eax, byte [eax]
test al, al
je 0x41374b
mov edx, dword [esi + 0xfc]
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x413740
mov byte [ecx], 0
xor eax, eax
mov edx, dword [esi + 0x18]
test edx, edx
sete al
jmp dword [eax*4 + 0x449978]
jmp dword [0x4499a0]
push dword [esi + 0x24]
call fcn.0040c6a0
add esp, 4
jmp dword [0x4499a8]
jmp dword [0x4499b4]
push dword [esi + 0x1c]
call fcn.004046a0
add esp, 4
mov ecx, eax
mov dword [esi + 0x14], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov edi, 0xffffffff
add eax, 4
jb 0x4137a7
mov edi, eax
test dl, dl
jne 0x4137ad
mov ecx, edi
push ecx
call fcn.0040c690
add esp, 4
mov edx, dword [esi + 0x14]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x449948]
mov edx, dword [case.0x414540.45]
mov ecx, dword [esi + 0x14]
lea ecx, [ecx + ecx*2]
lea edi, [eax + ecx*4]
nop
nop
nop
nop
nop
mov ecx, eax
jmp edx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, edi
sete dl
jmp dword [edx*4 + 0x449960]
mov dword [esi + 0x18], eax
xor ebx, ebx
xor eax, eax
cmp ebx, dword [esi + 0x14]
setb al
jmp dword [eax*4 + 0x449968]
push edx
push edi
call fcn.004044f0
add esp, 8
xor edx, edx
test eax, eax
setg dl
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + 0x18]
lea ecx, [ecx + eax*4]
push edx
push dword [esi + 0xc]
push dword [esi + 0x10]
call fcn.00419a60
inc ebx
xor eax, eax
cmp ebx, dword [esi + 0x14]
setb al
jmp dword [eax*4 + 0x449968]
push ebx
push dword [esi + 0x1c]
call fcn.004046b0
add esp, 8
mov edi, eax
mov edx, dword [esi + 0xdc]
mov word [edx], 0xbfc5
mov byte [edx + 2], 0x22
mov dword [edx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x4138e6
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edx + eax]
mov edx, ecx
xor edx, 0xf09e178
and ecx, 0xf09e178
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov edx, dword [esi + 0xdc]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xa8
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x4138a0
push edx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0xd8]
mov word [edx], 0xf5eb
mov byte [edx + 2], 0x4e
mov dword [edx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x41395b
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, 0x394896ed
and eax, 0x394896ed
lea eax, [edx + eax*2]
mov edx, dword [esi + 0xd8]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x5f
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x413920
push edx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xd4]
mov dword [edx], 0x81242b30
mov dword [edx + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x413830
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0xc1798461
and eax, 0xc1798461
lea eax, [edx + eax*2]
mov edx, dword [esi + 0xd4]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x1b
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x413990
jmp 0x413830
xor eax, eax
test ebx, ebx
sete al
mov edx, ebx
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x449978]
lea edi, [edx - 4]
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 + 0x449980]
push edi
call fcn.0040c6a0
add esp, 4
mov ebx, dword [esi + 0x20]
jmp dword [0x4499a0]
jmp dword [0x4499a8]
push dword [esi + 0x28]
call fcn.0040c6a0
add esp, 4
jmp dword [0x4499b4]
add ebx, 0xfffffff4
xor eax, eax
cmp ebx, dword [esi + 0x18]
sete al
jmp dword [eax*4 + 0x449998]
jmp dword [0x449988]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x413a58
push eax
call fcn.0040c6a0
add esp, 4
mov eax, dword [ebx - 8]
test eax, eax
je case.0x414540.56
push eax
call fcn.0040c6a0
add esp, 4
jmp case.0x414540.56
jmp dword [0x449994]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x413a86
push eax
call fcn.0040c6a0
add esp, 4
mov eax, dword [ebx - 8]
test eax, eax
je 0x413a70
push eax
call fcn.0040c6a0
add esp, 4
jmp 0x413a70
mov eax, dword [esi + 0x10]
mov word [edx], 0
xor edi, edi
mov ebx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x413ab0
lea eax, [ebx + 2]
test edi, edi
jns 0x413ac8
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
add ebx, eax
mov edx, eax
mov dword [esi + 0x38], eax
cmp eax, ebx
mov ecx, dword [esi + 0x10]
jae 0x413b36
lea eax, [ecx + edi]
dec eax
mov edx, dword [esi + 0x38]
cmp ecx, eax
jae 0x413b36
mov edx, dword [esi + 0x38]
mov dword [esi + 0x18], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x413b36
mov edi, eax
lea eax, [esi + 8]
push eax
push edi
push ecx
mov edi, ecx
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, ebx
jae 0x413b36
add edi, eax
mov eax, dword [esi + 0x18]
cmp edi, eax
mov ecx, edi
jb 0x413b00
mov word [edx], 0
mov edi, dword [esi + 0x14c]
mov dword [edi], 0xf6714d
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x413b9c
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, 0x4f391a56
and eax, 0xcf391a56
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
add al, 0x52
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x413b60
push edi
push dword [ebp + 8]
call fcn.00404490
add esp, 8
xor ecx, ecx
mov dword [esi + 0x28], eax
test eax, eax
setne cl
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
mov ebx, dword [esi + 0x20]
jmp dword [ecx*4 + 0x4499c8]
mov edi, dword [esi + 0xc8]
mov ecx, edi
push 3
call fcn.0040d010
push dword [esi + 0x1c]
push dword [esi + 0x14]
push dword [esi + 0x38]
push dword [esi + 0x24]
push edi
call fcn.0041f050
add esp, 0x14
mov ecx, edi
call fcn.0040d930
mov edx, dword [esi + 0x14]
xor eax, eax
test edx, edx
sete al
jmp dword [eax*4 + 0x4499e8]
lea edi, [edx - 4]
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 + 0x4499f0]
push edi
call fcn.0040c6a0
add esp, 4
mov ebx, dword [esi + 0x20]
jmp dword [0x449a00]
jmp dword [0x449a08]
push dword [esi + 0x38]
call fcn.0040c6a0
add esp, 4
mov ecx, dword [esi + 0xc8]
call fcn.0040d050
mov eax, dword [case.0x4132bb.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add ebx, 0xfffffff4
xor eax, eax
cmp ebx, edx
sete al
jmp dword [eax*4 + 0x4499f8]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x413c70
push eax
call fcn.0040c6a0
mov edx, dword [esi + 0x14]
add esp, 4
jmp 0x413c70
push dword [esi + 0x28]
call fcn.004046a0
add esp, 4
mov ecx, eax
mov dword [esi + 0x1c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov edi, 0xffffffff
add eax, 4
jb 0x413cc1
mov edi, eax
test dl, dl
jne 0x413cc7
mov ecx, edi
push ecx
call fcn.0040c690
add esp, 4
mov ecx, dword [esi + 0x1c]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0x14], eax
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x4499d0]
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esi + 0x14]
lea eax, [ecx + eax*4]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4499d8]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4499d8]
xor ecx, ecx
xor eax, eax
cmp ecx, dword [esi + 0x1c]
setb al
jmp dword [eax*4 + 0x4499e0]
mov word [ecx], 0
mov ecx, dword [esi + 0x18]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
xor eax, eax
cmp ecx, dword [esi + 0x1c]
setb al
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x4499e0]
mov dword [esi + 0x18], ecx
push ecx
push dword [esi + 0x28]
call fcn.004046b0
add esp, 8
mov edi, eax
mov ebx, dword [esi + 0x160]
mov word [ebx], 0xafa5
mov byte [ebx + 2], 0x42
mov dword [ebx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x413df5
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, 0x4b925690
and eax, 0xcb925690
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x30
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x413dc0
push ebx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x15c]
mov word [ebx], 0xf59f
mov byte [ebx + 2], 0x7a
mov word [ebx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x413e65
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, 0xcab01b3f
and eax, 0xcab01b3f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xc5
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x413e30
push ebx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x158]
mov word [ebx], 0x8bfb
mov byte [ebx + 2], 0x1e
mov dword [ebx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x413eea
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 + 0x45]
and ecx, edx
add eax, edx
sub eax, ecx
mov edx, 0xc31887ba
sub edx, eax
add eax, 0xa83e5945
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, eax
xor ecx, 0x59
and eax, 0x26
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 0x413ea0
push ebx
push edi
call fcn.004043c0
add esp, 8
mov ecx, dword [esi + 0x18]
lea ecx, [ecx + ecx*2]
mov edx, dword [esi + 0x14]
mov dword [edx + ecx*4], 0
mov edi, dword [esi + 0x10]
mov dword [edx + ecx*4 + 4], edi
lea edi, [edx + ecx*4]
mov dword [esi + 0x10], edi
mov dword [edx + ecx*4 + 8], eax
xor edi, edi
mov ebx, 0xfffffffe
mov eax, dword [esi + 0xc]
nop
add ebx, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x413f20
test edi, edi
jns 0x413f40
mov eax, 0xffffffff
jmp 0x413f43
lea eax, [ebx + 2]
push eax
call fcn.0040c690
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
lea edx, [eax + edi]
dec edx
mov dword [esi + 8], 0
cmp edx, eax
jbe 0x413d60
add ebx, ecx
cmp ecx, ebx
jae 0x413d60
mov dword [esi + 0x10], edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
je 0x413d60
lea edi, [esi + 8]
push edi
push edx
push eax
mov edi, eax
mov dword [esi + 0xc], ecx
call fcn.00410bb0
add esp, 0xc
movzx ecx, word [esi + 8]
mov edx, dword [esi + 0xc]
mov word [edx], cx
mov ecx, dword [esi + 0xc]
add ecx, 2
cmp ecx, ebx
jae 0x413d60
add edi, eax
mov edx, dword [esi + 0x10]
cmp edi, edx
mov eax, edi
jb 0x413f80
jmp 0x413d60
jmp dword [0x449a00]
push dword [esi + 0x24]
call fcn.0040c6a0
add esp, 4
jmp dword [0x449a08]
mov edx, dword [esi + 0xb8]
mov dword [edx], 0x72c2de
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x414043
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, 0x321ecc94
and eax, 0x321ecc94
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov edx, dword [esi + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x1c
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414000
push 3
push edx
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x449890]
mov edi, dword [esi + 0xc4]
mov word [edi], 0x41e7
mov eax, dword [esi + 0xe0]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x4140e2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
xor ecx, 0xed5450f0
add eax, eax
and eax, 0xdaa8a1e0
mov edx, eax
and edx, ecx
xor eax, ecx
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
lea edx, [eax + edx*2]
mov eax, edx
and eax, ecx
add ecx, edx
sub ecx, eax
mov edx, 0x19bcefff
sub edx, ecx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x50
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414090
push edi
push dword [esi + 0xc]
call fcn.004043c0
add esp, 8
mov dword [esi + 0x1c], eax
mov edi, dword [esi + 0xc0]
mov word [edi], 0x2190
mov eax, dword [esi + 0xe4]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x414155
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0x9cda5b48
and eax, 0x1cda5b48
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x98
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x414120
push edi
push dword [esi + 0xc]
call fcn.004043c0
add esp, 8
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x140]
mov dword [edi], 0xeb77
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4141db
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edi + eax]
mov edx, ecx
xor edx, 0xeab5aad7
add ecx, ecx
and ecx, 0xd56b55ae
mov ebx, ecx
and ebx, edx
xor ecx, edx
lea edx, [ecx + ebx*2]
lea ecx, [edx + eax]
mov ebx, eax
not ebx
or ebx, edx
lea edx, [eax + ebx]
add eax, ebx
inc eax
mov ebx, ecx
not ebx
and ebx, eax
not eax
and eax, ecx
lea ecx, [ebx + edx]
inc ecx
sub eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xcd
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414180
push edi
push dword [esi + 0xc]
call fcn.00404490
add esp, 8
mov dword [esi + 0x28], eax
mov edi, dword [esi + 0xbc]
mov word [edi], 0x4bca
mov eax, dword [esi + 0xe8]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x41425e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
lea ecx, [eax + eax]
and ecx, 0x8cefd926
sub eax, ecx
add eax, 0x4677ec93
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 + 8], eax
mov eax, dword [esi + 8]
add al, 0x21
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x414220
push edi
push dword [esi + 0xc]
call fcn.004043c0
add esp, 8
mov dword [esi + 0x34], eax
mov edi, dword [esi + 0x13c]
mov dword [edi], 0xf944
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4142c5
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, 0xd787efd6
and eax, 0xd787efd6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd2
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414290
push edi
push dword [esi + 0xc]
call fcn.00404420
add esp, 8
mov edi, dword [esi + 0x138]
mov word [edi], 0x6e72
mov byte [edi + 2], 0x9e
mov dword [edi + 3], 0
fnstcw word [esi + 0x4a]
movzx eax, word [esi + 0x4a]
or eax, 0xc00
mov word [esi + 0x8e], ax
fldcw word [esi + 0x8e]
fistp dword [esi + 0x168]
fldcw word [esi + 0x4a]
mov eax, dword [esi + 0x168]
mov dword [esi + 0x24], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x41436f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, eax
mov edx, eax
xor edx, 0x49896ea5
or eax, 0x3676915a
and eax, edx
xor ecx, 0x3676915a
lea eax, [ecx + eax*2]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x3e
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x414330
push edi
push dword [esi + 0xc]
call fcn.00404420
add esp, 8
xor ebx, ebx
mov edi, 0xfffffffe
mov eax, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, 2
cmp byte [eax + ebx], 0
lea ebx, [ebx + 1]
jne 0x414390
fnstcw word [esi + 0x48]
movzx eax, word [esi + 0x48]
or eax, 0xc00
mov word [esi + 0x8c], ax
fldcw word [esi + 0x8c]
fistp dword [esi + 0x164]
fldcw word [esi + 0x48]
mov eax, dword [esi + 0x164]
mov dword [esi + 0x38], eax
lea eax, [edi + 2]
test ebx, ebx
jns 0x4143d3
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
add edi, eax
mov edx, eax
mov dword [esi + 0x14], eax
cmp eax, edi
mov ecx, dword [esi + 0x1c]
jae 0x414438
lea eax, [ecx + ebx]
dec eax
mov edx, dword [esi + 0x14]
cmp ecx, eax
jae 0x414438
mov edx, dword [esi + 0x14]
mov dword [esi + 0x10], eax
cmp byte [ecx], 0
je 0x414438
mov ebx, eax
lea eax, [esi + 8]
push eax
push ebx
push ecx
mov ebx, ecx
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, edi
jae 0x414438
add ebx, eax
mov eax, dword [esi + 0x10]
cmp ebx, eax
mov ecx, ebx
jb 0x414402
mov word [edx], 0
mov edi, dword [esi + 0x40]
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov ecx, edi
mov ebx, dword [esi + 0x14]
push ebx
call fcn.0043c8a0
jmp dword [0x449898]
push ebx
call fcn.0040c6a0
add esp, 4
mov ecx, edi
push 0x400
call fcn.0043cae0
not eax
shr eax, 0x1f
mov ebx, dword [esi + 0x20]
jmp dword [eax*4 + 0x4498a0]
mov eax, dword [esi + 0x54]
mov dword [eax], 0
mov ecx, dword [edi]
mov dword [esi + 0x30], 0x14151617
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4144e8
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x30]
mov edi, eax
xor edi, 0xaf443a3c
and eax, 0x2f443a3c
lea eax, [edi + eax*2]
xor eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd4
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x30], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x4144b1
mov eax, dword [esi + 0x30]
mov edx, dword [0x44f3c8]
test edx, edx
je case.default.0x414540
xor edi, edi
mov ebx, dword [0x44f3cc]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x414510
inc edi
cmp edx, edi
jne 0x4144fd
mov ebx, dword [esi + 0x20]
jmp case.default.0x414540
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
mov ebx, dword [esi + 0x20]
je case.default.0x414540
push dword [esi + 0x54]
push 0
push 0
push 0x2b
push ecx
push 5
push dword [0x44f3d0]
push edx
call fcn.0043f830
add esp, 0x20
xor ecx, ecx
cmp eax, 0xc0000004
sete cl
jmp dword [ecx*4 + 0x4498a8]
jmp dword [0x4498b0]
mov edi, dword [esi + 0x54]
mov eax, dword [edi]
mov ecx, eax
and ecx, 2
xor eax, 2
lea eax, [eax + ecx*2]
push eax
call fcn.0043c770
add esp, 4
mov dword [esi + 0xc], eax
mov ecx, dword [edi]
add ecx, 2
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], 0x14151617
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x4145c3
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [esi + edx + 0x30]
mov edi, eax
xor edi, 0xaf443a3c
and eax, 0x2f443a3c
lea eax, [edi + eax*2]
xor eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd4
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x30], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x41458c
mov edi, dword [0x44f3c8]
test edi, edi
je case.0x414540.2
mov ebx, dword [esi + 0x30]
xor edx, edx
mov eax, dword [0x44f3cc]
cmp dword [eax + edx*8], 0x1b788dcf
je 0x4145e7
inc edx
cmp edi, edx
jne 0x4145d7
jmp case.0x414540.2
mov eax, dword [eax + edx*8 + 4]
cmp eax, ebx
je case.0x414540.2
push 0
push ecx
push dword [esi + 0xc]
push 0x2b
push dword [esi + 0x10]
push 5
push dword [0x44f3d0]
push eax
call fcn.0043f830
add esp, 0x20
jmp case.0x414540.2
jmp dword [0x4498bc]
mov edi, dword [esi + 0x54]
mov eax, dword [edi]
add eax, 2
push eax
call fcn.0043c770
add esp, 4
mov dword [esi + 0x14], eax
mov edx, dword [edi]
mov eax, dword [esi + 0x40]
mov ebx, dword [eax]
mov dword [esi + 0x30], 0x14151617
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x414687
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 + 0x30]
mov edi, eax
xor edi, 0xaf443a3c
and eax, 0x2f443a3c
lea eax, [edi + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd4
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414650
mov eax, dword [esi + 0x30]
mov edi, dword [0x44f3c8]
test edi, edi
je 0x41460d
mov dword [esi + 0xc], ebx
add edx, 2
xor ebx, ebx
mov ecx, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx + ebx*8], 0x1b788dcf
je 0x4146c3
inc ebx
cmp edi, ebx
jne 0x4146b0
jmp 0x41460d
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, eax
je 0x41460d
push 0
push edx
push dword [esi + 0x14]
push 0x2b
push dword [esi + 0xc]
push 5
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x20
jmp dword [0x4498bc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4498c0]
mov edx, dword [esi + 0x18]
mov ecx, edx
jmp dword [0x4498c8]
mov eax, edx
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x41470a
mov ecx, edx
jmp case.0x414540.8
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov edx, dword [esi + 0x18]
mov ecx, edx
jmp dword [0x4498d4]
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne case.0x414540.8
mov ebx, edi
sub ebx, edx
mov eax, ebx
inc eax
mov dword [esi + 0xc], eax
js 0x414716
lea eax, [ebx*2 + 2]
jmp 0x41471b
mov dword [esi + 8], 0
mov ecx, dword [esi + 0xc]
lea ecx, [eax + ecx*2]
add ecx, 0xfffffffe
mov dword [esi + 0x2c], ecx
mov ecx, eax
cmp eax, dword [esi + 0x2c]
jae 0x4147b7
mov ecx, eax
cmp edx, edi
jae 0x4147b7
mov ecx, edx
add ecx, ebx
mov dword [esi + 0x3c], ecx
mov ecx, eax
cmp byte [edx], 0
je 0x4147b7
mov dword [esi + 0x1c], eax
lea eax, [esi + 8]
push eax
push dword [esi + 0x3c]
push edx
mov ebx, edx
mov dword [esi + 0x10], ecx
call fcn.00410bb0
add esp, 0xc
movzx ecx, word [esi + 8]
mov edx, dword [esi + 0x10]
mov word [edx], cx
mov ecx, dword [esi + 0x10]
add ecx, 2
cmp ecx, dword [esi + 0x2c]
jae 0x4147b4
add ebx, eax
cmp ebx, edi
mov eax, dword [esi + 0x1c]
mov edx, ebx
jb 0x414775
jmp 0x4147b7
mov eax, dword [esi + 0x1c]
mov word [ecx], 0
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 4]
movzx ecx, word [ecx]
and ecx, 0xfffffffe
lea edi, [edx + ecx]
add edi, 0xfffffffe
xor ebx, ebx
mov dword [esi + 0x18], edx
cmp edi, edx
setae bl
mov dword [esi + 0x10], edi
mov edx, edi
jmp dword [ebx*4 + 0x4498d8]
movzx ebx, word [edx]
xor ecx, ecx
test bx, bx
setne cl
mov edi, dword [esi + 0x10]
jmp dword [ecx*4 + 0x4498e0]
xor ecx, ecx
cmp bx, 0x5c
sete cl
mov edi, edx
jmp dword [ecx*4 + 0x4498e8]
add edx, 0xfffffffe
xor ebx, ebx
cmp edx, dword [esi + 0x18]
setae bl
mov edi, dword [esi + 0x10]
jmp dword [ebx*4 + 0x4498d8]
mov dword [esi + 0x1c], eax
mov ecx, edi
not ecx
mov eax, dword [esi + 0x18]
and ecx, eax
not eax
and eax, edi
mov dword [esi + 0x18], eax
mov edi, ecx
sub eax, ecx
sar eax, 1
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x41484d
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov ebx, eax
mov dword [esi + 0x2c], eax
cmp dword [esi + 0x18], edi
mov edx, dword [esi + 0x1c]
je 0x41490e
mov eax, dword [esi + 0x14]
mov edi, dword [eax + 4]
mov eax, dword [esi + 0x10]
lea ecx, [eax - 1]
and eax, 3
je 0x4148a8
mov dword [esi + 0x18], ecx
mov dword [esi + 0xc], eax
xor eax, eax
mov ebx, dword [esi + 0x2c]
movzx edx, word [edi]
xor ecx, ecx
test dx, dx
setne cl
lea edi, [edi + ecx*2]
mov word [ebx], dx
add ebx, 2
inc eax
cmp dword [esi + 0xc], eax
jne 0x414883
sub dword [esi + 0x10], eax
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
jmp 0x4148ab
mov ebx, dword [esi + 0x2c]
cmp ecx, 3
jb 0x41490e
mov eax, dword [esi + 0x10]
mov dword [esi + 0x10], eax
movzx eax, word [edi]
xor ecx, ecx
test ax, ax
setne cl
mov word [ebx], ax
lea eax, [edi + ecx*2]
movzx ecx, word [edi + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 2], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [ebx + 4], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [eax + edx*2]
mov eax, dword [esi + 0x10]
mov word [ebx + 6], cx
add ebx, 8
add eax, 0xfffffffc
jne 0x4148b3
mov edx, dword [esi + 0x1c]
movzx eax, word [edx]
test ax, ax
je 0x41492c
mov ecx, edx
add ecx, 2
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41491b
mov word [ebx], 0
mov edi, dword [esi + 0x2c]
jmp dword [0x4498f0]
jmp dword [0x4498f8]
jmp dword [0x449930]
push dword [esi + 0x3c]
call fcn.0040c6a0
add esp, 4
mov edi, dword [esi + 0x70]
mov ecx, edi
call fcn.0040d930
mov ecx, edi
call fcn.0040d050
push dword [esi + 0x14]
call fcn.0043c7f0
add esp, 4
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x40]
mov ecx, edi
call fcn.0043cc80
jmp case.0x4132bb.1
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esi + 0x120]
jmp dword [ecx*4 + 0x4497f0]
mov word [edi], 0xfa3
mov eax, dword [esi + 0xa8]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x414a14
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edi + eax]
mov edx, ecx
xor edx, 0x91a0087d
and ecx, 0x11a0087d
lea ecx, [edx + ecx*2]
mov edx, ecx
mov ebx, eax
not ebx
or ebx, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
add eax, ebx
inc eax
sub ecx, eax
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x8f
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x4149c0
push 5
push edi
push dword [esi + 0xc]
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esi + 0x20]
jmp dword [ecx*4 + 0x4497f8]
mov edi, dword [esi + 0x118]
mov word [edi], 0xc15a
mov dword [edi + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x414a95
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, 0xa25d550
and eax, 0xa25d550
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x70
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x414a60
push 2
push edi
push dword [esi + 0xc]
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449800]
mov edi, dword [esi + 0x114]
mov word [edi], 0x99fc
mov dword [edi + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x414b20
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 [edi + eax]
mov edx, ecx
xor edx, 0x3aa31c9a
and ecx, 0x3aa31c9a
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 + 8], eax
mov eax, dword [esi + 8]
add al, 0xfe
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x414ae0
push 3
push edi
push dword [esi + 0xc]
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449808]
mov eax, dword [case.0x4132bb.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edx, dword [esi + 0xac]
mov word [edx], 0xfef2
mov byte [edx + 2], 0xe
mov dword [edx + 3], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 6
ja 0x414bbb
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, 0x14e50942
and eax, 0x14e50942
lea eax, [edx + eax*2]
mov edx, dword [esi + 0xac]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xb6
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 7
jb 0x414b80
push 3
push edx
mov edi, dword [esi + 0xc]
push edi
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x449810]
mov edx, dword [esi + 0x110]
mov word [edx], 0x2bb4
mov eax, dword [esi + 0xa0]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x414c3a
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 [edx + ecx]
add eax, 0xac31c5f7
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x2d
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414c10
push edx
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x10c]
mov word [edi], 0xb7f
mov eax, dword [esi + 0x9c]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x414ca5
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0x91e62f83
and eax, 0x11e62f83
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x71
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x414c70
push edi
push dword [esi + 0xc]
call fcn.00404490
add esp, 8
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0x108]
mov dword [edi], 0xfb8a
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 3
ja 0x414d0f
nop
mov eax, dword [esi + 4]
mov ecx, eax
mov edx, eax
xor edx, 0x234d6780
or eax, 0x5cb2987f
and eax, edx
xor ecx, 0xdcb2987f
lea eax, [ecx + eax*2]
mov ecx, dword [esi + 4]
movzx ecx, byte [edi + ecx]
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x85
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 4
jb 0x414cd0
push edi
mov edi, dword [esi + 0xc]
push edi
call fcn.004043c0
add esp, 8
mov dword [esi + 0x34], eax
mov edx, dword [esi + 0x64]
mov word [edx], 0x67f8
mov eax, dword [esi + 0xec]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x414d9a
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov eax, dword [esi + 4]
movzx eax, byte [edx + eax]
mov edx, ecx
xor edx, 0xb0570a99
and ecx, 0x30570a99
lea edx, [edx + ecx*2]
mov ecx, edx
and ecx, eax
mov ebx, edx
xor ebx, eax
not eax
or edx, eax
sub eax, edx
mov edx, dword [esi + 0x64]
add eax, ecx
lea eax, [ebx + eax*2]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 3
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x414d50
push edx
push edi
call fcn.00404420
add esp, 8
mov edx, dword [esi + 0x98]
mov word [edx], 0x1206
mov byte [edx + 2], 0x62
mov eax, dword [esi + 0xf0]
mov word [eax], 0
mov byte [eax + 2], 0
fnstcw word [esi + 0x4e]
movzx eax, word [esi + 0x4e]
or eax, 0xc00
mov word [esi + 0x92], ax
fldcw word [esi + 0x92]
fistp dword [esi + 0x170]
fldcw word [esi + 0x4e]
mov eax, dword [esi + 0x170]
mov dword [esi + 0x38], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 5
ja 0x414e36
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
add eax, 0x8639c368
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, eax
not ecx
and ecx, 8
and eax, 0xf7
sub eax, ecx
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 6
jb 0x414e00
push edx
push edi
call fcn.00404420
add esp, 8
mov edx, dword [esi + 0x50]
mov word [edx], 0x4d42
mov byte [edx + 2], 0xf6
mov eax, dword [esi + 0xf4]
mov dword [eax], 0
mov byte [eax + 4], 0
fnstcw word [esi + 0x4c]
movzx eax, word [esi + 0x4c]
or eax, 0xc00
mov word [esi + 0x90], ax
fldcw word [esi + 0x90]
fistp dword [esi + 0x16c]
fldcw word [esi + 0x4c]
mov eax, dword [esi + 0x16c]
mov dword [esi + 0x2c], eax
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x414ef4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x50]
movzx edx, byte [edx + ecx]
mov ecx, eax
xor ecx, 0x18d8f7d6
and eax, 0x18d8f7d6
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
xor ecx, eax
and eax, edx
mov edx, dword [esi + 0x50]
add eax, eax
sub eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd2
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x414ea0
push edx
push edi
call fcn.004044f0
add esp, 8
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x10]
lea edi, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x414f10
mov dword [esi + 0xc], 0
cmp eax, edi
jae 0x414f67
cmp byte [eax], 0
je 0x414f67
mov dword [esi + 0xc], 0
mov ebx, dword [esi + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], 0
lea eax, [esi + 8]
push eax
push edi
push ebx
call fcn.00410bb0
add esp, 0xc
lea ecx, [ebx + eax]
inc dword [esi + 0xc]
cmp ecx, edi
jae 0x414f67
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x414f40
mov ecx, dword [esi + 0xc]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x414f78
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov ebx, eax
mov dword [esi + 8], 0
mov eax, dword [esi + 0xc]
lea eax, [ebx + eax*2]
mov edx, ebx
mov dword [esi + 0x18], eax
cmp ebx, eax
mov ecx, dword [esi + 0x10]
jae 0x414fea
mov edx, ebx
cmp ecx, edi
jae 0x414fea
mov edx, ebx
mov dword [esi + 0x1c], ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x414fea
lea eax, [esi + 8]
push eax
push edi
push ecx
mov ebx, ecx
mov dword [esi + 0x10], edx
call fcn.00410bb0
mov edx, dword [esi + 0x10]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x414fe7
add ebx, eax
cmp ebx, edi
mov ecx, ebx
mov ebx, dword [esi + 0x1c]
jb 0x414fb0
jmp 0x414fea
mov ebx, dword [esi + 0x1c]
mov word [edx], 0
mov edi, dword [esi + 0x94]
push edi
push 0
push 0
push dword [esi + 0xc]
push ebx
push 0
call dword [0x44f3c4]
mov edi, dword [edi]
lea eax, [edi + edi]
test edi, edi
jns 0x415014
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
push dword [esi + 0x94]
push edi
mov edi, eax
push eax
push dword [esi + 0xc]
push ebx
push 0
call dword [0x44f3c4]
jmp dword [0x449828]
push ebx
call fcn.0040c6a0
add esp, 4
mov ecx, dword [esi + 0x34]
mov eax, ecx
jmp 0x41552d
mov ecx, dword [esi + 0x34]
mov edx, ecx
jmp 0x415525
inc ebx
push edi
call fcn.004046a0
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x449910]
push ebx
push edi
call fcn.00404680
add esp, 8
push eax
call fcn.00404400
add esp, 4
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x449920]
mov dword [esi + 0x1c], ebx
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
inc ecx
cmp byte [edi], 0
jne 0x4150a0
mov ebx, edi
mov dword [esi + 0xc], eax
sub ebx, eax
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x4150bd
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x18], ecx
cmp eax, ecx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
jae 0x415126
mov edx, eax
cmp ebx, edi
jae 0x415126
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x415126
lea eax, [esi + 8]
push eax
push edi
push ebx
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x18]
jae 0x415123
add ebx, eax
cmp ebx, edi
mov eax, dword [esi + 0x10]
jb 0x4150f0
jmp 0x415126
mov eax, dword [esi + 0x10]
mov word [edx], 0
push 0
push 0
push dword [esi + 0x24]
push dword [esi + 0x38]
push eax
push dword [esi + 0x3c]
push dword [esi + 0x2c]
push dword [esi + 0x70]
call fcn.00421510
add esp, 0x20
mov edi, dword [esi + 0x28]
mov ebx, dword [esi + 0x1c]
jmp dword [0x449928]
push dword [esi + 0x10]
call fcn.0040c6a0
add esp, 4
jmp case.0x414540.31
jmp dword [0x449918]
push dword [esi + 0x2c]
call fcn.0040c6a0
add esp, 4
jmp dword [0x449930]
mov edi, dword [esi + 0x24]
jmp dword [0x449850]
mov ecx, dword [esi + 0x34]
mov edx, ecx
lea eax, [edx + 1]
cmp byte [edx], 0
je 0x415194
mov edx, eax
jmp 0x415188
mov ebx, edx
push edx
push ecx
call fcn.00419a10
add esp, 8
mov edi, eax
inc eax
lea eax, [edi + edi + 2]
jns 0x4151ae
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + edi*2]
mov dword [esi + 0xc], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x10], ecx
cmp eax, ecx
mov ecx, dword [esi + 0x34]
jae 0x415215
mov edi, ebx
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
cmp ecx, ebx
jae 0x415215
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
cmp byte [ecx], 0
je 0x415215
lea eax, [esi + 8]
push eax
push edi
push ecx
mov ebx, ecx
call fcn.00410bb0
add esp, 0xc
movzx ecx, word [esi + 8]
mov edx, dword [esi + 0xc]
mov word [edx], cx
add edx, 2
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 0x10]
jae 0x415215
add ebx, eax
cmp ebx, edi
mov ecx, ebx
jb 0x4151e3
mov eax, dword [esi + 0xc]
mov word [eax], 0
mov ecx, dword [esi + 0x70]
push 1
call fcn.0040d010
xor ebx, ebx
mov edi, dword [esi + 0x28]
jmp case.0x410566.176
mov edi, dword [esi + 0x1c]
inc edi
mov eax, dword [esi + 0x14]
push eax
call fcn.004046a0
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x449830]
mov dword [esi + 0x1c], edi
push edi
push dword [esi + 0x14]
call fcn.00404680
add esp, 8
push eax
call fcn.00404400
add esp, 4
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x449840]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x415290
mov edi, ebx
sub edi, eax
mov ecx, edi
inc ecx
mov dword [esi + 0xc], eax
jns 0x4152b0
mov eax, 0xffffffff
jmp 0x4152b7
lea eax, [edi*2 + 2]
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov edx, eax
mov dword [esi + 0x10], ecx
cmp eax, ecx
mov ecx, dword [esi + 0xc]
jae 0x415330
mov edx, edi
cmp ecx, ebx
jae 0x415330
mov edx, edi
mov dword [esi + 0x18], edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x415330
lea eax, [esi + 8]
push eax
push ebx
push ecx
mov edi, ecx
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x10]
jae 0x415327
add edi, eax
cmp edi, ebx
mov ecx, edi
mov edi, dword [esi + 0x18]
jb 0x4152f0
jmp 0x415330
mov edi, dword [esi + 0x18]
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esi + 0x3c], 0
setg al
mov word [edx], 0
push 0
push eax
push dword [esi + 0x38]
push dword [esi + 0x2c]
push edi
push dword [esi + 0x24]
push dword [esi + 0x28]
push dword [esi + 0x60]
call fcn.00421510
add esp, 0x20
mov ebx, dword [esi + 0x20]
jmp dword [0x449848]
push edi
call fcn.0040c6a0
add esp, 4
jmp case.0x410566.130
jmp dword [0x449838]
push dword [esi + 0x28]
call fcn.0040c6a0
add esp, 4
mov edi, dword [esi + 0x24]
jmp dword [0x449850]
jmp dword [0x44985c]
push edi
call fcn.0040c6a0
add esp, 4
jmp dword [0x449864]
mov edi, dword [esi + 0x60]
mov ecx, edi
call fcn.0040d930
mov ecx, edi
call fcn.0040d050
mov eax, dword [case.0x412bf8.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov word [edi], 0x8918
mov eax, dword [esi + 0x68]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x41542a
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]
add eax, 0x106f6a1e
xor eax, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x6a
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x415400
push 2
push edi
push dword [esi + 0xc]
call fcn.00404640
add esp, 0xc
jmp dword [0x4497e8]
push edx
call fcn.0040c6a0
mov edx, dword [esi + 0x1c]
add esp, 4
push edx
call fcn.0040c6a0
mov edx, dword [esi + 0x1c]
add esp, 4
jmp dword [0x449900]
not ebx
add ebx, edi
mov eax, 0xffffffff
cmp ebx, 2
jge 0x4154e0
and ebx, 0xfffffffe
neg ebx
mov eax, ebx
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 0x3c], eax
push eax
push edi
call fcn.00439b80
add esp, 8
jmp dword [0x449908]
push edi
call fcn.0040c6a0
add esp, 4
mov ecx, dword [esi + 0x34]
mov eax, ecx
jmp 0x415190
mov ecx, dword [esi + 0x74]
call fcn.0040d050
mov ecx, dword [esi + 0x74]
call fcn.0040d050
jmp dword [0x4499b8]
lea eax, [edx + 1]
cmp byte [edx], 0
je 0x415531
mov edx, eax
jmp 0x415525
mov dword [esi + 0x24], edi
xor ebx, ebx
cmp edx, ecx
mov dword [esi + 0xc], edx
jbe 0x415578
cmp byte [ecx], 0
je 0x415578
xor ebx, ebx
mov edi, dword [esi + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], 0
lea eax, [esi + 8]
push eax
push edx
push edi
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
lea ecx, [edi + eax]
inc ebx
cmp ecx, edx
jae 0x415578
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x415550
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x415586
mov eax, 0xffffffff
push eax
call fcn.0040c690
add esp, 4
mov dword [esi + 8], 0
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x10], ecx
cmp eax, ecx
mov eax, dword [esi + 0x34]
mov ebx, dword [esi + 0xc]
jae 0x4155f2
mov edx, dword [esi + 0x28]
cmp eax, ebx
jae 0x4155f2
mov edx, dword [esi + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
je 0x4155f2
lea edi, [esi + 8]
push edi
push ebx
push eax
mov edi, eax
mov dword [esi + 0xc], edx
call fcn.00410bb0
mov edx, dword [esi + 0xc]
add esp, 0xc
movzx ecx, word [esi + 8]
mov word [edx], cx
add edx, 2
cmp edx, dword [esi + 0x10]
jae 0x4155f2
add edi, eax
cmp edi, ebx
mov eax, edi
jb 0x4155c0
mov word [edx], 0
mov ecx, dword [esi + 0x60]
push 1
call fcn.0040d010
xor edi, edi
mov ebx, dword [esi + 0x20]
jmp 0x415244
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [esi + 0x3a8]
mov ecx, dword [esi + 0x3ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x3f0], ecx
mov ecx, dword [esi + 0x3f4]
mov edx, dword [esi + 0x3f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [esi + 0x750], eax
mov eax, dword [esi + 0x754]
mov ecx, dword [esi + 0x750]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c6a0
add esp, 4
mov eax, dword [esi + 0x3d0]
mov ecx, dword [esi + 0x3d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
sub esp, 4
mov dword [esp], eax
call fcn.0043c7f0
add esp, 4
mov eax, dword [esi + 0xc]
mov dword [eax], 0
not edi
shr edi, 0x1f
mov dword [esi + 0x698], edi
mov eax, dword [esi + 0x69c]
mov ecx, dword [esi + 0x698]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041a2a0
xor eax, eax
test edi, edi
sete cl
mov dword [esi + 0x580], 1
mov edx, dword [esi + 0x584]
mov ebx, dword [esi + 0x580]
mov edx, dword [edx + ebx*4]
jmp edx
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.004046b0
add esp, 8
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x29c]
mov al, byte [eax]
mov byte [esi + 0x120], al
mov edx, dword [esi + 0xcc]
mov byte [edx], 0xbf
mov byte [edx + 1], 0x2b
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 5
jne 0x4162e6
mov dword [esi + 0x58], 0
mov edi, dword [esi + 0x1fc]
mov eax, dword [esi + 0x58]
cmp eax, 5
jae 0x416338
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x58]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419e90
mov edx, dword [esi + 0xcc]
add esp, 8
mov ecx, dword [esi + 0x58]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x58]
inc eax
mov dword [esi + 0x58], eax
jmp 0x4162ff
sub esp, 0xc
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x840], ecx
mov eax, dword [esi + 0x844]
mov ecx, dword [esi + 0x840]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041a2a0
sub esp, 8
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x29c], esp
push eax
mov dword [esi + 0x1fc], esp
push eax
mov dword [esi + 0x1f8], esp
sub esp, 8
mov dword [esi + 0x1f4], esp
push eax
mov dword [esi + 0x298], esp
sub esp, 8
mov dword [esi + 0x1f0], esp
push eax
mov dword [esi + 0x294], esp
sub esp, 8
mov dword [esi + 0x1ec], esp
push eax
mov dword [esi + 0x290], esp
sub esp, 8
mov dword [esi + 0x1e8], esp
push eax
mov dword [esi + 0x28c], esp
sub esp, 0x400
mov dword [esi + 0x10c], esp
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0xc8], esp
sub esp, 8
mov dword [esi + 0x1e4], esp
push eax
mov dword [esi + 0x288], esp
push eax
mov dword [esi + 0x284], esp
sub esp, 8
mov dword [esi + 0x280], esp
push eax
mov dword [esi + 0x1e0], esp
sub esp, 0x40
mov dword [esi + 0x108], esp
sub esp, 0x60
mov dword [esi + 0x2c], esp
sub esp, 0x14
mov dword [esi + 0xe0], esp
push eax
mov dword [esi + 0x1dc], esp
push eax
mov dword [esi + 0x1d8], esp
sub esp, 0x10
mov dword [esi + 0x1d4], esp
push eax
mov dword [esi + 0x27c], esp
sub esp, 0x10
mov dword [esi + 0x1d0], esp
push eax
mov dword [esi + 0x278], esp
sub esp, 0x10
mov dword [esi + 0x104], esp
push eax
mov dword [esi + 0x1cc], esp
push eax
mov dword [esi + 0x100], esp
sub esp, 8
mov edi, esp
push eax
mov ebx, esp
sub esp, 8
mov edx, esp
mov dword [esi + 0x8a0], 1
mov eax, dword [esi + 0x8a4]
mov ecx, dword [esi + 0x8a0]
mov eax, dword [eax + ecx*4]
jmp eax
xor byte [ecx], al
aaa
mov ebx, 0xdb0b9961
mov eax, dword [esi + 0x360]
mov ecx, dword [esi + 0x364]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x538]
mov ecx, dword [esi + 0x53c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x270]
mov al, byte [eax]
mov byte [esi + 0x160], al
mov edi, dword [esi + 0x274]
mov byte [edi], 0xe6
mov byte [edi + 1], 0xef
mov byte [edi + 2], 0x42
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 5
jne 0x4165aa
mov dword [esi + 0x98], 0
mov eax, dword [esi + 0x98]
cmp eax, 5
jae 0x416605
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x98]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a160
add esp, 8
mov ecx, dword [esi + 0x98]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x98]
inc eax
mov dword [esi + 0x98], eax
jmp 0x4165c0
sub esp, 8
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004043c0
add esp, 8
mov cl, byte [ebx]
mov byte [esi + 0x164], cl
mov edi, dword [esi + 0x26c]
mov byte [edi], 0x41
mov byte [edi + 1], 0x73
mov byte [edi + 2], 0xe2
mov ecx, 3
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x416638
mov edx, dword [esi + 0x680]
mov ecx, dword [esi + 0x684]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [esi + 0x268]
jmp ecx
movzx eax, byte [esi + 0x13]
and eax, 1
mov dword [esi + 0x7c0], eax
mov eax, dword [esi + 0x7c4]
mov ecx, dword [esi + 0x7c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00419e20
add esp, 8
mov edi, eax
and edi, 1
or eax, 1
add edi, eax
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4166b8
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c690
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ebx, eax
mov edx, dword [esi + 0xc8]
add ebx, dword [edx]
shl edi, 1
mov dword [esi + 0xec], ecx
add ecx, edi
mov dword [esi + 0x23c], ecx
mov dword [esi + 0xe4], ebx
cmp ebx, 0
mov ebx, eax
jne 0x416712
sub esp, 4
mov dword [esp], eax
call fcn.0040c7c0
mov ecx, ebx
mov edx, dword [esi + 0xc8]
add esp, 4
add ecx, eax
mov dword [esi + 0xe4], ecx
mov dword [esi + 0x200], 0
mov edi, dword [esi + 0xec]
mov eax, dword [esi + 0x23c]
add eax, 0xfffffffe
mov ecx, edi
sub ecx, eax
setb al
mov ecx, ebx
sub ecx, dword [esi + 0xe4]
setb cl
and al, cl
test al, 1
jne 0x416745
jmp 0x416786
cmp byte [ebx], 0
je 0x416786
lea eax, [esi + 0x200]
sub esp, 0xc
mov dword [esp], ebx
mov ecx, dword [esi + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00410bb0
mov edx, dword [esi + 0xc8]
add esp, 0xc
add ebx, eax
mov eax, dword [esi + 0x200]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, ecx
jmp 0x416722
mov word [edi], 0
mov eax, dword [edx]
add eax, 0x19
mov dword [esi + 0x214], eax
mov eax, dword [esi + 0x568]
mov ecx, dword [esi + 0x56c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x850], 0
mov eax, dword [esi + 0x854]
mov ecx, dword [esi + 0x850]
mov eax, dword [eax + ecx*4]
jmp eax
pop ss
jb 0x416843
imul ecx, dword [ebx + 0x32086], 0
mov ecx, dword [esi + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [esi + 0x738]
mov ebx, dword [esi + 0x73c]
mov edx, dword [ebx + edx*4]
mov edi, ecx
mov ebx, eax
mov eax, dword [esi + 0x25c]
jmp edx
mov eax, dword [esi + 0x44]
cmp eax, 4
jae 0x41684f
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
movzx ecx, byte [esi + ecx + 0x30]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419e60
add esp, 8
mov ecx, dword [esi + 0x44]
mov byte [esi + ecx + 0x30], al
mov eax, dword [esi + 0x44]
inc eax
mov dword [esi + 0x44], eax
inc esp
push cs
xor byte [ebx - 0x76bfbbba], cl
inc esi
inc esp
jmp 0x41681a
mov ecx, dword [esi + 0x30]
xor edi, edi
cmp edi, dword [0x44f3c8]
jb 0x41685e
jmp 0x4168c4
mov eax, dword [0x44f3cc]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x416874
jmp 0x4168b2
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4168b2
mov dword [esi + 0x228], ecx
mov ecx, dword [0x44f3d0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x250]
mov dword [esp + 0xc], eax
call fcn.0043f830
mov ecx, dword [esi + 0x228]
add esp, 0x10
test bl, 1
je 0x4168bc
mov ebx, dword [esi + 8]
jmp 0x4168c4
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x416854
mov eax, dword [esi + 0x428]
mov ecx, dword [esi + 0x42c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x6e8], 1
mov eax, dword [esi + 0x6ec]
mov ecx, dword [esi + 0x6e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x438], ecx
mov eax, dword [esi + 0x43c]
mov ecx, dword [esi + 0x438]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0xf8]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x800], 1
mov eax, dword [esi + 0x804]
mov ecx, dword [esi + 0x800]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x13]
mov al, cl
and eax, 1
mov dword [esi + 0x4b0], eax
mov eax, dword [esi + 0x4b4]
mov ecx, dword [esi + 0x4b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x27c]
mov al, byte [eax]
mov byte [esi + 0x150], al
mov edx, dword [esi + 0x1d4]
mov byte [edx], 0x9a
mov byte [edx + 1], 0x49
mov byte [edx + 2], 0xab
mov byte [edx + 3], 0x4f
mov byte [edx + 4], 0xc4
mov byte [edx + 5], 0x4d
mov byte [edx + 6], 0xa7
mov byte [edx + 7], 0x43
mov byte [edx + 8], 0x40
mov byte [edx + 9], 0x41
mov eax, 0xa
mov edi, ebx
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xf
jne 0x41699a
mov dword [esi + 0x88], 0
mov eax, dword [esi + 0x88]
cmp eax, 0xf
jae 0x4169fb
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x88]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a0b0
mov edx, dword [esi + 0x1d4]
add esp, 8
mov ecx, dword [esi + 0x88]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x88]
inc eax
mov dword [esi + 0x88], eax
jmp 0x4169b0
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00419db0
add esp, 8
mov eax, dword [esi + 0x730]
mov ecx, dword [esi + 0x734]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
xor eax, eax
mov ecx, 0x11
mov edi, dword [esi + 0xbc]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xbc]
mov dword [eax], 0x44
mov eax, dword [0x44f3bc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004425e0
sub esp, 0x20
mov ecx, dword [esi + 0xf8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0xbc]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 4]
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 al
mov dword [esi + 0x440], 0
mov edx, dword [esi + 0x444]
mov edi, dword [esi + 0x440]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
call fcn.0040cd30
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 ecx, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov eax, ebx
add eax, 2
mov word [ebx], cx
mov ecx, edi
inc ecx
mov dword [esi + 0x740], 1
mov edx, dword [esi + 0x744]
mov edi, ebx
mov ebx, dword [esi + 0x740]
mov edx, dword [edx + ebx*4]
mov ebx, edi
mov edi, dword [esi + 0x254]
jmp edx
mov eax, dword [esi + 0x818]
mov ecx, dword [esi + 0x81c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x450]
mov ecx, dword [esi + 0x454]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0xc]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x838], 0
mov eax, dword [esi + 0x83c]
mov ecx, dword [esi + 0x838]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [esi + 0x770]
mov ecx, dword [esi + 0x774]
mov ecx, dword [ecx + edx*4]
xor edi, edi
mov ebx, dword [esi + 0x108]
jmp ecx
mov dword [esi + 0xa8], 0
mov eax, dword [esi + 0xa8]
cmp eax, 0x3e
jae 0x416c15
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xa8]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xa8]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xa8]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x416bcd
mov dword [esi + 0x5b8], 0
mov eax, dword [esi + 0x5bc]
mov ecx, dword [esi + 0x5b8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040c6a0
add esp, 4
mov eax, dword [esi + 0x7a8]
mov ecx, dword [esi + 0x7ac]
mov eax, dword [ecx + eax*4]
jmp eax
les eax, [ebx + ecx*4]
xchg byte [eax - 0x74fffff9], ch
mov gs, word [edi + eax + 0x48b0000]
cmp edi, 0xd8868be0
mov eax, dword [esi + 0x4d8]
mov ecx, dword [esi + 0x4dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x3d8], eax
mov eax, dword [esi + 0x3dc]
mov ecx, dword [esi + 0x3d8]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi]
mov edi, dword [esi + 4]
jmp eax
mov eax, dword [esi + 0x4d8]
mov ecx, dword [esi + 0x4dc]
mov eax, dword [ecx + eax*4]
jmp eax
loop 0x416c3c
mov bl, 0xa4
leave
mov ecx, ebx
cli
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x400], 0
mov eax, dword [esi + 0x404]
mov ecx, dword [esi + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1cc]
mov al, byte [eax]
mov byte [esi + 0x15c], al
mov byte [edi], 0x5a
mov byte [edi + 1], 0x89
mov byte [edi + 2], 0x26
mov byte [edi + 3], 0xb7
mov byte [edi + 4], 0x2b
mov byte [edi + 5], 0xb5
mov byte [edi + 6], 0x63
mov byte [edi + 7], 0xb3
mov byte [edi + 8], 0xb0
mov byte [edi + 9], 0xb1
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x416d45
mov dword [esi + 0x90], 0
mov eax, dword [esi + 0x90]
cmp eax, 0x10
jae 0x416da6
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x90]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a110
mov edi, dword [esi + 0x104]
add esp, 8
mov ecx, dword [esi + 0x90]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x90]
inc eax
mov dword [esi + 0x90], eax
jmp 0x416d5b
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00419db0
add esp, 8
mov dword [esi + 0x700], 1
mov eax, dword [esi + 0x704]
mov ecx, dword [esi + 0x700]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [esi + 0x1a8], 0
sete byte [esi + 0x13]
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7dc]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 8]
jmp eax
mov eax, dword [esi + 0x1b4]
mov word [eax], 0
mov eax, dword [esi + 0x1dc]
mov al, byte [eax]
mov byte [esi + 0x14c], al
mov edx, dword [esi + 0xe0]
mov byte [edx], 0x5b
mov byte [edx + 1], 0x27
mov byte [edx + 2], 0x8a
mov byte [edx + 3], 0x21
mov byte [edx + 4], 0x7f
mov byte [edx + 5], 0x23
mov byte [edx + 6], 0x75
mov byte [edx + 7], 0x3d
mov byte [edx + 8], 0x6c
mov byte [edx + 9], 0x3f
mov byte [edx + 0xa], 0x41
mov byte [edx + 0xb], 0x39
mov byte [edx + 0xc], 0x9c
mov byte [edx + 0xd], 0x3b
mov byte [edx + 0xe], 0x3a
mov byte [edx + 0xf], 0x35
mov eax, 0x10
mov edi, dword [esi + 0x108]
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x12
jne 0x416e5b
mov dword [esi + 0x80], 0
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x80]
cmp eax, 0x12
jae 0x416ec2
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a060
mov edx, dword [esi + 0xe0]
add esp, 8
mov ecx, dword [esi + 0x80]
mov byte [edx + ecx], al
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
jmp 0x416e74
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0040f230
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040f230
add esp, 8
mov edi, eax
sub edi, ebx
sar edi, 1
mov eax, dword [0x44f3c4]
sub esp, 0x18
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov ebx, ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
mov eax, dword [ebx]
add eax, 4
add eax, eax
mov ecx, 0xffffffff
jb 0x416f2b
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c690
add esp, 4
mov edx, dword [0x44f3c4]
mov ecx, dword [ebx]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov ebx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov ecx, dword [esi + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], 0
call edx
xor eax, eax
cmp dword [esi + 0x18], 0
sete cl
mov dword [esi + 0x758], 0
mov edx, dword [esi + 0x75c]
mov edi, dword [esi + 0x758]
mov edx, dword [edx + edi*4]
jmp edx
mov ecx, 0x8b5d7d84
xchg byte [eax - 0x74fffffe], ch
mov gs, word [edx + eax + 0x48b0000]
cmp edi, 0x8bc031e0
xor eax, eax
mov ecx, dword [esi + 0x18]
sub ecx, 2
sete al
mov dword [esi + 0x710], eax
xor eax, eax
mov ecx, dword [esi + 0x18]
sub ecx, 2
sete al
mov dword [esi + 0x710], eax
mov eax, dword [esi + 0x714]
mov ecx, dword [esi + 0x710]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], edi
call fcn.0041a2a0
mov dword [esi + 0x640], 1
mov eax, dword [esi + 0x644]
mov ecx, dword [esi + 0x640]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x3a0]
mov ecx, dword [esi + 0x3a4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov edi, dword [esi + 0x214]
add edi, edi
setb bl
mov dword [esi + 0x558], 1
mov eax, dword [esi + 0x55c]
mov ecx, dword [esi + 0x558]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x488], 0
mov eax, dword [esi + 0x48c]
mov ecx, dword [esi + 0x488]
mov eax, dword [eax + ecx*4]
mov cs, word [eax - 0x74fffffc]
add al, 0x88
jmp eax
sub byte [ebx + 0x4d], bl
push esi
mov al, 0x96
jge 0x417079
sub esp, 8
push eax
push eax
push eax
sub esp, 8
push eax
sub esp, 8
push eax
sub esp, 8
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, 0x14
push eax
push eax
sub esp, 0x10
push eax
sub esp, 0x10
push eax
sub esp, 0x10
push eax
push eax
sub esp, 8
push eax
sub esp, 8
mov eax, dword [esi + 0x380]
mov ecx, dword [esi + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x578], eax
mov eax, dword [esi + 0x57c]
mov ecx, dword [esi + 0x578]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 8]
jmp eax
mov eax, dword [esi + 0x790]
mov ecx, dword [esi + 0x794]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
test edi, edi
sete cl
mov edx, dword [esi + 0x3c0]
mov edi, dword [esi + 0x3c4]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [esi + 0x294]
mov al, byte [eax]
mov byte [esi + 0x130], al
mov edx, dword [esi + 0x1f0]
mov byte [edx], 0x55
mov byte [edx + 1], 0xc1
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x41714d
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 7
jae 0x417199
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.00419f90
mov edx, dword [esi + 0x1f0]
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 0x417160
sub esp, 8
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004043c0
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x290]
mov al, byte [eax]
mov byte [esi + 0x134], al
mov edx, dword [esi + 0x1ec]
mov byte [edx], 0xfa
mov byte [edx + 1], 0x8b
mov byte [edx + 2], 0x1e
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x4171d4
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 7
jae 0x417220
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.00419fc0
mov edx, dword [esi + 0x1ec]
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 0x4171e7
mov dword [esi + 0xe8], edi
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404420
add esp, 8
fnstcw word [esi + 0xd2]
movzx eax, word [esi + 0xd2]
or eax, 0xc00
mov word [esi + 0x19e], ax
fldcw word [esi + 0x19e]
fistp dword [esi + 0x2a4]
fldcw word [esi + 0xd2]
mov edi, dword [esi + 0x2a4]
mov eax, dword [esi + 0x28c]
mov al, byte [eax]
mov byte [esi + 0x138], al
mov edx, dword [esi + 0x1e8]
mov byte [edx], 0xf
mov byte [edx + 1], 0xeb
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x41728c
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 7
jae 0x4172d8
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.00419fe0
mov edx, dword [esi + 0x1e8]
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 0x41729f
mov dword [esi + 0x18], edi
mov dword [esi + 8], ebx
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404420
add esp, 8
fnstcw word [esi + 0xd0]
movzx eax, word [esi + 0xd0]
or eax, 0xc00
mov word [esi + 0x19c], ax
fldcw word [esi + 0x19c]
fistp dword [esi + 0x2a0]
fldcw word [esi + 0xd0]
mov eax, dword [esi + 0x2a0]
mov dword [esi + 0x1a8], eax
mov edi, dword [esi + 0x10c]
add edi, 0x800
sub esp, 4
mov ebx, dword [esi + 0xe8]
mov dword [esp], ebx
call fcn.0040c7c0
add esp, 4
mov edx, ebx
add ebx, eax
mov dword [esi + 0x210], 0
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x220], edi
mov eax, edi
add eax, 0xfffffffe
mov edi, ecx
sub ecx, eax
setb al
mov ecx, edx
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x41737f
jmp 0x4173c4
cmp byte [edx], 0
je 0x4173c4
lea eax, [esi + 0x210]
sub esp, 0xc
mov dword [esi + 0xe8], edx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00410bb0
add esp, 0xc
mov edx, dword [esi + 0xe8]
add edx, eax
mov eax, dword [esi + 0x210]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, dword [esi + 0x220]
jmp 0x417364
mov word [edi], 0
sub esp, 0xc
mov eax, dword [esi + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x10c]
mov dword [esp], eax
call fcn.0040f270
add esp, 0xc
movzx eax, al
mov dword [esi + 0x7e8], eax
mov eax, dword [esi + 0x7ec]
mov ecx, dword [esi + 0x7e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x550]
mov ecx, dword [esi + 0x554]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2c8]
mov ecx, dword [esi + 0x2cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x828], ecx
mov eax, dword [esi + 0x82c]
mov ecx, dword [esi + 0x828]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edi
sub ecx, 2
setl al
mov dword [esi + 0x4c8], eax
mov eax, dword [esi + 0x4cc]
mov ecx, dword [esi + 0x4c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, dword [esi + 0x18]
sub ecx, 1
sete cl
mov edx, dword [esi + 0x728]
mov edi, dword [esi + 0x72c]
mov edx, dword [edi + edx*4]
jmp edx
mov bl, byte [ecx]
mov dl, pe_nt_image_headers32
invalid
sub esp, 4
mov dword [esp], eax
call fcn.0043c7f0
add esp, 4
mov eax, dword [esi + 0x3e8]
mov ecx, dword [esi + 0x3ec]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov al, byte [eax]
mov byte [esi + 0x140], al
mov byte [edx], 0x48
mov byte [edx + 1], 0x49
mov byte [edx + 2], 0x4c
mov byte [edx + 3], 0xcc
mov eax, 4
mov edi, edx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 7
jne 0x4174f2
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 7
jae 0x417538
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.0041a040
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 0x417505
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.0040cd20
add esp, 4
call fcn.0040cd30
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x34c]
mov eax, dword [ecx + eax*4]
mov edx, edi
jmp eax
mov ecx, dword [esi + 0x388]
mov edx, dword [esi + 0x38c]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
mov ecx, dword [esi + 0x1b0]
mov eax, ecx
and eax, 9
or ecx, 9
add eax, ecx
sub eax, 0x945857ce
add eax, dword [esi + 0xdc]
add eax, 0x945857ce
add eax, dword [esi + 0xf0]
sub eax, 0xe1336620
add eax, 1
add eax, 0xe1336620
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4175bf
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c690
add esp, 4
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1c8]
mov al, byte [eax]
mov byte [esi + 0x16c], al
mov byte [ebx], 0xf6
mov byte [ebx + 1], 7
mov byte [ebx + 2], 0xf9
mov byte [ebx + 3], 1
mov byte [ebx + 4], 0xf6
mov byte [ebx + 5], 3
mov byte [ebx + 6], 0xee
mov byte [ebx + 7], 0xd
mov byte [ebx + 8], 0xf8
mov byte [ebx + 9], 0xf
mov byte [ebx + 0xa], 0xfa
mov byte [ebx + 0xb], 9
mov byte [ebx + 0xc], 0x35
mov byte [ebx + 0xd], 0xb
mov byte [ebx + 0xe], 0x38
mov byte [ebx + 0xf], 0x15
mov byte [ebx + 0x10], 0x14
mov byte [ebx + 0x11], 0x17
mov eax, 0x12
mov edi, dword [esi]
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x15
jne 0x41762c
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 0xa0]
cmp eax, 0x15
jae 0x417687
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa0]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a1c0
add esp, 8
mov ecx, dword [esi + 0xa0]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
jmp 0x417642
sub esp, 8
mov dword [esp + 4], ebx
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.0040f230
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], edi
mov dword [esp], ecx
call fcn.0040f230
add esp, 8
mov edi, eax
add edi, 2
mov word [eax], 0x22
mov dword [esi + 0x638], 1
mov eax, dword [esi + 0x63c]
mov ecx, dword [esi + 0x638]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edx
call fcn.0040c7c0
add esp, 4
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov dword [esi + 0xdc], ecx
mov eax, dword [esi + 0x668]
mov ecx, dword [esi + 0x66c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x630], 0
mov eax, dword [esi + 0x634]
mov ecx, dword [esi + 0x630]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + 0x28]
jmp eax
mov eax, dword [esi + 0x1f8]
mov al, byte [eax]
mov byte [esi + 0x128], al
mov byte [edi], 0xee
mov byte [edi + 1], 0x1d
mov byte [edi + 2], 0x92
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 4
jne 0x41776e
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 4
jae 0x4177b4
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x5c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419ef0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x5c]
inc eax
mov dword [esi + 0x5c], eax
jmp 0x417781
sub esp, 0xc
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
setne al
mov dword [esi + 0x830], 0
mov edx, dword [esi + 0x834]
mov edi, dword [esi + 0x830]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x1fc]
jmp edx
mov eax, dword [esi + 0x418]
mov ecx, dword [esi + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
std
xchg ah, bh
sub dword [eax], ecx
movsb byte es:[edi], byte [esi]
xchg byte [ebx - 0x7d], cl
in al, dx
add al, 0x89
cmp al, 0x24
call fcn.0040c690
add esp, 4
mov eax, dword [esi + 0x1c4]
mov al, byte [eax]
mov byte [esi + 0x170], al
mov byte [ebx], 0x42
mov byte [ebx + 1], 0x21
mov byte [ebx + 2], 0x22
mov byte [ebx + 3], 0x23
mov eax, 4
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 7
jne 0x417862
mov dword [esi + 0xb4], 0
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0xb4]
cmp eax, 7
jae 0x4178c3
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb4]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a240
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xb4]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xb4]
inc eax
mov dword [esi + 0xb4], eax
jmp 0x41787b
mov eax, dword [esi + 0x1c0]
mov al, byte [eax]
mov byte [esi + 0x178], al
mov byte [edx], 0xb4
mov byte [edx + 1], 0xdb
mov byte [edx + 2], 0xab
mov byte [edx + 3], 0xd9
mov byte [edx + 4], 0x51
mov byte [edx + 5], 0xdf
mov byte [edx + 6], 0xa5
mov byte [edx + 7], 0xdd
mov byte [edx + 8], 0xaa
mov byte [edx + 9], 0xd3
mov byte [edx + 0xa], 0xa7
mov byte [edx + 0xb], 0xd1
mov byte [edx + 0xc], 0xa8
mov byte [edx + 0xd], 0xd7
mov byte [edx + 0xe], 0xad
mov byte [edx + 0xf], 0xd5
mov byte [edx + 0x10], 0xa8
mov byte [edx + 0x11], 0xeb
mov byte [edx + 0x12], 0x96
mov byte [edx + 0x13], 0xe9
mov byte [edx + 0x14], 0xc8
mov byte [edx + 0x15], 0xef
mov byte [edx + 0x16], 0xdd
mov byte [edx + 0x17], 0xed
mov byte [edx + 0x18], 0x97
mov byte [edx + 0x19], 0xe3
mov byte [edx + 0x1a], 0x6a
mov byte [edx + 0x1b], 0xe1
mov byte [edx + 0x1c], 0x9b
mov byte [edx + 0x1d], 0xe7
mov byte [edx + 0x1e], 0x83
mov byte [edx + 0x1f], 0xe5
mov byte [edx + 0x20], 0xc4
mov byte [edx + 0x21], 0xfb
mov byte [edx + 0x22], 0x9c
mov byte [edx + 0x23], 0xf9
mov byte [edx + 0x24], 0x77
mov byte [edx + 0x25], 0xff
mov byte [edx + 0x26], 0x8e
mov byte [edx + 0x27], 0xfd
mov byte [edx + 0x28], 0x9b
mov byte [edx + 0x29], 0xf3
mov byte [edx + 0x2a], 0x87
mov byte [edx + 0x2b], 0xf1
mov byte [edx + 0x2c], 0x85
mov byte [edx + 0x2d], 0xf7
mov byte [edx + 0x2e], 0xd6
mov byte [edx + 0x2f], 0xf5
mov byte [edx + 0x30], 0xc7
mov byte [edx + 0x31], 0xb
mov byte [edx + 0x32], 0x70
mov byte [edx + 0x33], 9
mov byte [edx + 0x34], 0x28
mov byte [edx + 0x35], 0xf
mov byte [edx + 0x36], 0x28
mov byte [edx + 0x37], 0xd
mov byte [edx + 0x38], 0xc
mov byte [edx + 0x39], 3
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3e
jne 0x4179bd
mov eax, dword [esi + 0x310]
mov ecx, dword [esi + 0x314]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x1ac], eax
mov eax, dword [esi + 0x1b8]
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xb8797400
mov al, byte [esi + 0x184]
mov byte [esi + 0x188], al
mov byte [esi + 0x40], 0x17
mov byte [esi + 0x41], 0x16
mov byte [esi + 0x42], 0x15
mov byte [esi + 0x43], 0x14
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x54]
cmp eax, 4
jae 0x417a4b
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x54]
movzx ecx, byte [esi + ecx + 0x40]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419e60
add esp, 8
mov ecx, dword [esi + 0x54]
mov byte [esi + ecx + 0x40], al
mov eax, dword [esi + 0x54]
inc eax
mov dword [esi + 0x54], eax
jmp 0x417a16
mov ecx, dword [esi + 0x40]
xor edi, edi
mov edx, dword [esi + 0xcc]
cmp edi, dword [0x44f3c8]
jb 0x417a63
jmp 0x417aec
mov eax, dword [0x44f3cc]
cmp dword [eax + edi*8], 0x7e28bda7
sete bl
test bl, 1
jne 0x417a79
jmp 0x417acb
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x417acb
mov dword [esi + 0x238], ecx
mov ecx, dword [0x44f3d0]
xor edx, edx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esi + 0x1ac]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0x1b8]
mov dword [esp + 0x14], eax
call fcn.0043f830
mov ecx, dword [esi + 0x238]
add esp, 0x18
test bl, 1
je 0x417adb
mov edx, dword [esi + 0xcc]
mov ebx, dword [esi + 8]
jmp 0x417aec
add edi, 1
mov edx, dword [esi + 0xcc]
mov ebx, dword [esi + 8]
jmp 0x417a56
mov al, byte [esi + 0x114]
mov byte [esi + 0x194], al
mov byte [esi + 0x34], 0x17
mov byte [esi + 0x35], 0x16
mov byte [esi + 0x36], 0x15
mov byte [esi + 0x37], 0x14
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x48]
cmp eax, 4
jae 0x417b48
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
movzx ecx, byte [esi + ecx + 0x34]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov edi, edx
call fcn.00419e60
mov edx, edi
add esp, 8
mov ecx, dword [esi + 0x48]
mov byte [esi + ecx + 0x34], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
jmp 0x417b0f
mov ecx, dword [esi + 0x34]
xor edi, edi
cmp edi, dword [0x44f3c8]
jb 0x417b57
jmp 0x417bbd
mov eax, dword [0x44f3cc]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x417b6d
jmp 0x417bab
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x417bab
mov dword [esi + 0x22c], ecx
mov ecx, dword [0x44f3d0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x1ac]
mov dword [esp + 0xc], eax
call fcn.0043f830
mov ecx, dword [esi + 0x22c]
add esp, 0x10
test bl, 1
je 0x417bb5
mov ebx, dword [esi + 8]
jmp 0x417bbd
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x417b4d
mov eax, dword [esi + 0x468]
mov ecx, dword [esi + 0x46c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.0040c7c0
add esp, 4
mov ecx, ebx
add ecx, eax
sub esp, 8
mov dword [esp], ebx
mov dword [esi + 0xd8], ecx
mov dword [esp + 4], ecx
call fcn.00419a10
add esp, 8
mov edi, eax
mov dword [esi + 0x1a4], edi
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417c1b
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c690
add esp, 4
mov edx, eax
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esi + 0x240], eax
cmp dword [esi + 0xd8], 0
jne 0x417c5c
sub esp, 4
mov dword [esp], ebx
mov edi, edx
call fcn.0040c7c0
mov edx, edi
add esp, 4
mov ecx, ebx
add ecx, eax
mov dword [esi + 0xd8], ecx
mov dword [esi + 0x20c], 0
mov edi, edx
mov eax, dword [esi + 0x240]
add eax, 0xfffffffe
mov ecx, edi
sub ecx, eax
setb al
mov ecx, ebx
sub ecx, dword [esi + 0xd8]
setb cl
and al, cl
test al, 1
jne 0x417c8b
jmp 0x417cd6
cmp byte [ebx], 0
je 0x417cd6
lea eax, [esi + 0x20c]
sub esp, 0xc
mov dword [esp], ebx
mov ecx, dword [esi + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x258], ebx
mov ebx, edx
call fcn.00410bb0
mov edx, ebx
mov ebx, dword [esi + 0x258]
add esp, 0xc
add ebx, eax
mov eax, dword [esi + 0x20c]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, ecx
jmp 0x417c68
mov word [edi], 0
mov eax, dword [0x44f3c4]
sub esp, 0x18
mov edi, dword [esi + 0x284]
mov dword [esp + 0x14], edi
mov ecx, dword [esi + 0x1a4]
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 0x417d23
mov eax, ecx
sub esp, 4
mov dword [esp], eax
call fcn.0040c690
add esp, 4
mov edx, dword [0x44f3c4]
mov ecx, dword [edi]
sub esp, 0x18
mov dword [esp + 0x14], edi
mov edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov eax, dword [esi + 0x1a4]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call edx
mov dword [esi + 0x7b0], 0
mov eax, dword [esi + 0x7b4]
mov ecx, dword [esi + 0x7b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x278]
mov al, byte [eax]
mov byte [esi + 0x154], al
mov edx, dword [esi + 0x1d0]
mov byte [edx], 0x66
mov byte [edx + 1], 0x31
mov byte [edx + 2], 0xae
mov byte [edx + 3], 0x33
mov byte [edx + 4], 0xb8
mov byte [edx + 5], 0x2d
mov byte [edx + 6], 0xba
mov byte [edx + 7], 0x2f
mov byte [edx + 8], 0x28
mov byte [edx + 9], 0x29
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x417dbc
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 0x10
jae 0x417e1d
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a0e0
mov edx, dword [esi + 0x1d0]
add esp, 8
mov ecx, dword [esi + 0x8c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x8c]
inc eax
mov dword [esi + 0x8c], eax
jmp 0x417dd2
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00419db0
add esp, 8
mov eax, dword [esi + 0x718]
mov ecx, dword [esi + 0x71c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x858], 0
mov eax, dword [esi + 0x85c]
mov ecx, dword [esi + 0x858]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x7f8]
mov ecx, dword [esi + 0x7fc]
mov eax, dword [ecx + eax*4]
jmp eax
or byte [edi - 0xe], dl
shl dword [ecx - 0x7460a2d1], cl
xchg al, bh
add dword [eax], eax
add byte [edx + 0x24868800], cl
add dword [eax], eax
add dh, al
pop es
out dx, al
mov byte [edi + 1], 0x1d
mov byte [edi + 2], 0x92
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 4
jne 0x417e97
mov dword [esi + 0x60], 0
mov eax, dword [esi + 0x60]
cmp eax, 4
jae 0x417edd
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x60]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419ef0
add esp, 8
mov ecx, dword [esi + 0x60]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x60]
inc eax
mov dword [esi + 0x60], eax
inc esi
pushal
jmp 0x417eaa
sub esp, 0xc
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404640
add esp, 0xc
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
lds edx, [eax + 0x39]
push eax
jl 0x417ed9
call fcn.0040cd30
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 word [ebx], ax
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x520], 0
mov eax, dword [esi + 0x524]
mov ecx, dword [esi + 0x520]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xec]
jmp eax
mov ebx, edi
add ebx, 2
mov word [edi], 0x2c
mov eax, dword [esi + 0xdc]
shl eax, 1
mov ecx, ebx
add ecx, eax
mov dword [esi + 0x21c], ecx
sub esp, 4
mov dword [esp], edx
call fcn.0040c7c0
mov edx, dword [esi + 0x28]
add esp, 4
mov ecx, edx
add ecx, eax
mov dword [esi + 0x1a0], ecx
mov dword [esi + 0x208], 0
mov dword [esi + 0x244], ebx
mov eax, dword [esi + 0x21c]
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edx
mov edx, ecx
sub ecx, dword [esi + 0x1a0]
setb cl
and al, cl
test al, 1
jne 0x417fe3
jmp 0x418024
cmp byte [edx], 0
je 0x418024
lea eax, [esi + 0x208]
sub esp, 0xc
mov dword [esp], edx
mov ecx, dword [esi + 0x1a0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x28], edx
call fcn.00410bb0
mov edx, dword [esi + 0x28]
add esp, 0xc
add edx, eax
mov eax, dword [esi + 0x208]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x417fbe
mov word [ebx], 0
mov eax, ebx
not eax
mov edx, dword [esi + 0x244]
and eax, edx
mov ecx, edx
not ecx
and ebx, ecx
sub ebx, eax
add edx, ebx
mov eax, dword [esi + 0x610]
mov ecx, dword [esi + 0x614]
mov eax, dword [ecx + eax*4]
mov edi, edx
jmp eax
mov eax, dword [esi + 0x6e0]
mov ecx, dword [esi + 0x6e4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xc4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x4f0], 1
mov eax, dword [esi + 0x4f4]
mov ecx, dword [esi + 0x4f0]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
call fcn.0041a2a0
mov dword [esi + 0x500], 1
mov eax, dword [esi + 0x504]
mov ecx, dword [esi + 0x500]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00419e00
add esp, 4
add eax, 0x1e
add eax, eax
mov edi, 0xffffffff
mov ebx, dword [esi + 0x264]
jb 0x418106
mov edi, eax
mov eax, dword [esi + 0x5e0]
mov ecx, dword [esi + 0x5e4]
mov eax, dword [ecx + eax*4]
jmp eax
or dword [eax - 9], esp
jmp 0x418198
mov byte [ebx], 0xf6
mov byte [ebx + 1], 7
mov byte [ebx + 2], 0xf9
mov byte [ebx + 3], 1
mov byte [ebx + 4], 0xf6
mov byte [ebx + 5], 3
mov byte [ebx + 6], 0xee
mov byte [ebx + 7], 0xd
mov byte [ebx + 8], 0xf8
mov byte [ebx + 9], 0xf
mov byte [ebx + 0xa], 0xfa
mov byte [ebx + 0xb], 9
mov byte [ebx + 0xc], 0x35
mov byte [ebx + 0xd], 0xb
mov byte [ebx + 0xe], 0x38
mov byte [ebx + 0xf], 0x15
mov byte [ebx + 0x10], 0x14
mov byte [ebx + 0x11], 0x17
mov eax, 0x12
mov edi, dword [esi]
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x15
jne 0x4181e6
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 0x15
jae 0x418247
mov eax, dword [esi + 0xa4]
mov edi, ecx
mov ecx, dword [esi + 0xa4]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a1c0
add esp, 8
mov ecx, dword [esi + 0xa4]
mov byte [ebx + ecx], al
mov ecx, edi
mov edi, dword [esi]
mov eax, dword [esi + 0xa4]
inc eax
mov dword [esi + 0xa4], eax
jmp 0x4181fc
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0040f230
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], edi
mov dword [esp], ecx
call fcn.0040f230
add esp, 8
mov word [eax], 0x22
mov eax, dword [esi + 0x318]
mov ecx, dword [esi + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x298]
mov al, byte [eax]
mov byte [esi + 0x12c], al
mov edx, dword [esi + 0x1f4]
mov byte [edx], 0xad
mov byte [edx + 1], 0x31
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 6
jne 0x4182b1
mov dword [esi + 0x64], 0
mov edi, dword [esi + 0x1c]
mov eax, dword [esi + 0x64]
cmp eax, 6
jae 0x418300
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.00419f40
mov edx, dword [esi + 0x1f4]
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 0x4182c7
sub esp, 0xc
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404640
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi + 0x820], ecx
mov eax, dword [esi + 0x824]
mov ecx, dword [esi + 0x820]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2b0]
mov ecx, dword [esi + 0x2b4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
sub esp, 4
mov dword [esp], edi
call fcn.0040c6a0
add esp, 4
mov dword [esi + 0x518], 1
mov eax, dword [esi + 0x51c]
mov ecx, dword [esi + 0x518]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x4f8]
mov ecx, dword [esi + 0x4fc]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov edx, dword [esi + 0x18]
mov ecx, edx
sub ecx, 1
sete al
mov dword [esi + 0x688], eax
mov eax, dword [esi + 0x68c]
mov ecx, dword [esi + 0x688]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x590]
mov ecx, dword [esi + 0x594]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
mov eax, dword [esi + 0x6f8]
mov ecx, dword [esi + 0x6fc]
mov eax, dword [ecx + eax*4]
mov edi, ebx
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x4e8], 1
mov eax, dword [esi + 0x4ec]
mov ecx, dword [esi + 0x4e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xac], 0
mov eax, dword [esi + 0xac]
cmp eax, 0x3e
jae 0x418458
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xac]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a210
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xac]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xac]
inc eax
mov dword [esi + 0xac], eax
jmp 0x418410
mov eax, dword [esi + 0x308]
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x458], 0
mov eax, dword [esi + 0x45c]
mov ecx, dword [esi + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
sete cl
mov edx, dword [esi + 0x5f0]
mov edi, dword [esi + 0x5f4]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [esi + 0x690]
mov ecx, dword [esi + 0x694]
mov eax, dword [ecx + eax*4]
mov edi, 4
mov dword [esi + 4], 0
jmp eax
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1b4]
mov word [eax], 0
mov eax, dword [esi + 0x1dc]
mov al, byte [eax]
mov byte [esi + 0x148], al
mov edx, dword [esi + 0xe0]
mov byte [edx], 0x5b
mov byte [edx + 1], 0x27
mov byte [edx + 2], 0x8a
mov byte [edx + 3], 0x21
mov byte [edx + 4], 0x7f
mov byte [edx + 5], 0x23
mov byte [edx + 6], 0x75
mov byte [edx + 7], 0x3d
mov byte [edx + 8], 0x6c
mov byte [edx + 9], 0x3f
mov byte [edx + 0xa], 0x41
mov byte [edx + 0xb], 0x39
mov byte [edx + 0xc], 0x9c
mov byte [edx + 0xd], 0x3b
mov byte [edx + 0xe], 0x3a
mov byte [edx + 0xf], 0x35
mov eax, 0x10
mov edi, dword [esi + 0x108]
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x12
jne 0x41856a
mov dword [esi + 0x84], 0
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x84]
cmp eax, 0x12
jae 0x4185d1
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x84]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a060
mov edx, dword [esi + 0xe0]
add esp, 8
mov ecx, dword [esi + 0x84]
mov byte [edx + ecx], al
mov ebx, dword [esi + 0x2c]
mov eax, dword [esi + 0x84]
inc eax
mov dword [esi + 0x84], eax
jmp 0x418583
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0040f230
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040f230
add esp, 8
mov edi, eax
sub edi, ebx
sar edi, 1
mov eax, dword [0x44f3c4]
sub esp, 0x18
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov ebx, ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
mov eax, dword [ebx]
add eax, 4
add eax, eax
mov ecx, 0xffffffff
jb 0x41863a
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c690
add esp, 4
mov ecx, dword [0x44f3c4]
mov edx, dword [ebx]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], 0
call ecx
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x498], ecx
mov eax, dword [esi + 0x49c]
mov ecx, dword [esi + 0x498]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi]
jmp eax
mov eax, dword [esi + 0x5c8]
mov ecx, dword [esi + 0x5cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x1b4], ebx
call fcn.0041a2a0
mov dword [esi + 0x760], 0
mov eax, dword [esi + 0x764]
mov ecx, dword [esi + 0x760]
mov eax, dword [eax + ecx*4]
jmp eax
pop edi
retf
call fcn.0041a2a0
mov dword [esi + 0x480], 1
mov eax, dword [esi + 0x484]
mov ecx, dword [esi + 0x480]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x878]
mov ecx, dword [esi + 0x87c]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
mov edi, dword [esi + 0x1c]
jmp eax
mov eax, dword [esi + 0x6b0]
mov ecx, dword [esi + 0x6b4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x100]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x26]
mov al, cl
and eax, 1
mov dword [esi + 0x618], eax
mov eax, dword [esi + 0x61c]
mov ecx, dword [esi + 0x618]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x540], 1
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x540]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x5b0]
mov ecx, dword [esi + 0x5b4]
mov eax, dword [ecx + eax*4]
jmp eax
call 0x4f99ad64
js case.0x413d7e.108
out dx, al
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x4a8], 1
mov eax, dword [esi + 0x4ac]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.0040c6a0
add esp, 4
mov eax, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x3b4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0040c7c0
add esp, 4
mov edx, dword [esi + 0x658]
mov ecx, dword [esi + 0x65c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ecx]
mov dword [esi + 0x250], eax
mov eax, dword [esi + 0x430]
mov ecx, dword [esi + 0x434]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x780], 1
mov eax, dword [esi + 0x784]
mov ecx, dword [esi + 0x780]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + 0x280]
jmp eax
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
mov ecx, dword [edx]
mov ebx, dword [esi + 0x100]
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.00443680
add esp, 0x10
mov edi, eax
mov eax, dword [ebx]
mov dword [esi + 0x24c], eax
mov al, byte [esi + 0x11c]
mov byte [esi + 0x18c], al
mov byte [esi + 0x3c], 0x17
mov byte [esi + 0x3d], 0x16
mov byte [esi + 0x3e], 0x15
mov byte [esi + 0x3f], 0x14
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 4
jae 0x4189e6
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx ecx, byte [esi + ecx + 0x3c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419e60
add esp, 8
mov ecx, dword [esi + 0x50]
mov byte [esi + ecx + 0x3c], al
mov eax, dword [esi + 0x50]
inc eax
mov dword [esi + 0x50], eax
jmp 0x4189b1
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x234], eax
xor eax, eax
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 0xc4]
cmp eax, dword [0x44f3c8]
jb 0x418a04
jmp 0x418a78
mov ecx, dword [0x44f3cc]
cmp dword [ecx + eax*8], 0x625b6034
sete bl
test bl, 1
mov dword [esi + 0x224], eax
jne 0x418a21
jmp 0x418a5a
mov eax, dword [ecx + eax*8 + 4]
cmp eax, dword [esi + 0x234]
je 0x418a5a
mov ecx, dword [0x44f3d0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x24c]
mov dword [esp + 0xc], eax
call fcn.0043f830
mov edx, dword [esi + 0xc]
add esp, 0x10
test bl, 1
je 0x418a67
mov ebx, dword [esi + 0xc4]
jmp 0x418a78
mov eax, dword [esi + 0x224]
add eax, 1
mov ebx, dword [esi + 0xc4]
jmp 0x4189fa
mov eax, dword [esi + 0x6a0]
mov ecx, dword [esi + 0x6a4]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
sub edi, 2
sete al
mov dword [esi + 0x4c0], eax
mov eax, dword [esi + 0x4c4]
mov ecx, dword [esi + 0x4c0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x7a0], 1
mov eax, dword [esi + 0x7a4]
mov ecx, dword [esi + 0x7a0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xc4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov al, byte [eax]
mov byte [esi + 0x144], al
mov byte [edx], 0x48
mov byte [edx + 1], 0x49
mov byte [edx + 2], 0x4c
mov byte [edx + 3], 0xcc
mov eax, 4
mov edi, edx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 7
jne 0x418b05
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x78]
cmp eax, 7
jae 0x418b4b
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.0041a040
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 0x418b18
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.0040cd20
add esp, 4
call fcn.0040cd30
mov edx, edi
and eax, 0xf
or eax, 0x10
mov dword [esi + 0x778], 0
mov edi, dword [esi + 0x77c]
mov ecx, dword [esi + 0x778]
mov ecx, dword [edi + ecx*4]
jmp ecx
call fcn.0041a2a0
mov eax, ebx
inc eax
mov dword [esi + 0x390], 0
mov ecx, dword [esi + 0x394]
mov edx, dword [esi + 0x390]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor eax, eax
test edi, edi
sete al
mov dword [esi + 0x4b8], eax
mov eax, dword [esi + 0x4bc]
mov ecx, dword [esi + 0x4b8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi]
jmp eax
mov eax, dword [esi + 0x3f8]
mov ecx, dword [esi + 0x3fc]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0xc]
jmp eax
mov eax, dword [esi + 0x510]
mov ecx, dword [esi + 0x514]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x5f8]
mov ecx, dword [esi + 0x5fc]
mov eax, dword [ecx + eax*4]
mov dword [esi], 0
mov dword [esi + 0x18], 0
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0040c690
add esp, 4
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1c4]
mov al, byte [eax]
mov byte [esi + 0x174], al
mov byte [ebx], 0x42
mov byte [ebx + 1], 0x21
mov byte [ebx + 2], 0x22
mov byte [ebx + 3], 0x23
mov eax, 4
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 7
jne 0x418cca
mov dword [esi + 0xb0], 0
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0xb0]
cmp eax, 7
jae 0x418d2b
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb0]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a240
mov edx, dword [esi + 0x20]
add esp, 8
mov ecx, dword [esi + 0xb0]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xb0]
inc eax
mov dword [esi + 0xb0], eax
jmp 0x418ce3
mov eax, dword [esi + 0x1c0]
mov al, byte [eax]
mov byte [esi + 0x17c], al
mov byte [edx], 0xb4
mov byte [edx + 1], 0xdb
mov byte [edx + 2], 0xab
mov byte [edx + 3], 0xd9
mov byte [edx + 4], 0x51
mov byte [edx + 5], 0xdf
mov byte [edx + 6], 0xa5
mov byte [edx + 7], 0xdd
mov byte [edx + 8], 0xaa
mov byte [edx + 9], 0xd3
mov byte [edx + 0xa], 0xa7
mov byte [edx + 0xb], 0xd1
mov byte [edx + 0xc], 0xa8
mov byte [edx + 0xd], 0xd7
mov byte [edx + 0xe], 0xad
mov byte [edx + 0xf], 0xd5
mov byte [edx + 0x10], 0xa8
mov byte [edx + 0x11], 0xeb
mov byte [edx + 0x12], 0x96
mov byte [edx + 0x13], 0xe9
mov byte [edx + 0x14], 0xc8
mov byte [edx + 0x15], 0xef
mov byte [edx + 0x16], 0xdd
mov byte [edx + 0x17], 0xed
mov byte [edx + 0x18], 0x97
mov byte [edx + 0x19], 0xe3
mov byte [edx + 0x1a], 0x6a
mov byte [edx + 0x1b], 0xe1
mov byte [edx + 0x1c], 0x9b
mov byte [edx + 0x1d], 0xe7
mov byte [edx + 0x1e], 0x83
mov byte [edx + 0x1f], 0xe5
mov byte [edx + 0x20], 0xc4
mov byte [edx + 0x21], 0xfb
mov byte [edx + 0x22], 0x9c
mov byte [edx + 0x23], 0xf9
mov byte [edx + 0x24], 0x77
mov byte [edx + 0x25], 0xff
mov byte [edx + 0x26], 0x8e
mov byte [edx + 0x27], 0xfd
mov byte [edx + 0x28], 0x9b
mov byte [edx + 0x29], 0xf3
mov byte [edx + 0x2a], 0x87
mov byte [edx + 0x2b], 0xf1
mov byte [edx + 0x2c], 0x85
mov byte [edx + 0x2d], 0xf7
mov byte [edx + 0x2e], 0xd6
mov byte [edx + 0x2f], 0xf5
mov byte [edx + 0x30], 0xc7
mov byte [edx + 0x31], 0xb
mov byte [edx + 0x32], 0x70
mov byte [edx + 0x33], 9
mov byte [edx + 0x34], 0x28
mov byte [edx + 0x35], 0xf
mov byte [edx + 0x36], 0x28
mov byte [edx + 0x37], 0xd
mov byte [edx + 0x38], 0xc
mov byte [edx + 0x39], 3
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3e
jne 0x418e25
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 + 0x848]
mov ecx, dword [esi + 0x84c]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
mov eax, dword [esi + 0x4e0]
mov ecx, dword [esi + 0x4e4]
mov eax, dword [ecx + eax*4]
mov dword [esi], 0
jmp eax
mov eax, dword [esi + 0x7e0]
mov ecx, dword [esi + 0x7e4]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 8]
jmp eax
mov eax, dword [esi + 0x288]
mov al, byte [eax]
mov byte [esi + 0x13c], al
mov edx, dword [esi + 0x1e4]
mov byte [edx], 8
mov byte [edx + 1], 0x99
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 5
jne 0x418ead
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 5
jae 0x418ef9
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x74]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a020
mov edx, dword [esi + 0x1e4]
add esp, 8
mov ecx, dword [esi + 0x74]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x74], eax
jmp 0x418ec0
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.004043c0
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 0x7b8], eax
mov eax, dword [esi + 0x7bc]
mov ecx, dword [esi + 0x7b8]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test edi, edi
sete cl
mov edx, dword [esi + 0x3e0]
mov edi, dword [esi + 0x3e4]
mov edx, dword [edi + edx*4]
jmp edx
call fcn.0041a2a0
mov dword [esi + 0x6f0], 1
mov eax, dword [esi + 0x6f4]
mov ecx, dword [esi + 0x6f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x27]
mov al, cl
and eax, 1
mov dword [esi + 0x608], eax
mov eax, dword [esi + 0x60c]
mov ecx, dword [esi + 0x608]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, edi
add ecx, 2
mov dword [esi + 0xd4], ecx
mov word [edi], 0x2c
mov eax, dword [esi + 0xf0]
shl eax, 1
mov edi, ecx
add edi, eax
sub esp, 4
mov ebx, dword [esi + 0xf4]
mov dword [esp], ebx
call fcn.0040c7c0
add esp, 4
add ebx, eax
mov dword [esi + 0x204], 0
mov dword [esi + 0x218], edi
add edi, 0xfffffffe
mov ecx, dword [esi + 0xd4]
sub ecx, edi
setb al
mov edi, dword [esi + 0xf4]
mov ecx, edi
mov edx, ebx
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x418fee
jmp 0x41903b
cmp byte [edi], 0
je 0x41903b
lea eax, [esi + 0x204]
sub esp, 0xc
mov dword [esp], edi
mov ebx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00410bb0
add esp, 0xc
add edi, eax
mov dword [esi + 0xf4], edi
mov eax, dword [esi + 0x204]
mov edx, dword [esi + 0xd4]
mov ecx, edx
add ecx, 2
mov word [edx], ax
mov dword [esi + 0xd4], ecx
mov edi, dword [esi + 0x218]
jmp 0x418fc9
mov eax, dword [esi + 0xd4]
mov word [eax], 0
mov eax, dword [esi + 0x600]
mov ecx, dword [esi + 0x604]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xfc]
mov eax, dword [eax]
mov dword [esi + 0x248], eax
mov al, byte [esi + 0x118]
mov byte [esi + 0x190], al
mov byte [esi + 0x38], 0x17
mov byte [esi + 0x39], 0x16
mov byte [esi + 0x3a], 0x15
mov byte [esi + 0x3b], 0x14
mov dword [esi + 0x4c], 0
mov eax, dword [esi + 0x4c]
cmp eax, 4
jae 0x4190bd
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
movzx ecx, byte [esi + ecx + 0x38]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419e60
add esp, 8
mov ecx, dword [esi + 0x4c]
mov byte [esi + ecx + 0x38], al
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x4c], eax
jmp 0x419088
mov ecx, dword [esi + 0x38]
xor edi, edi
cmp edi, dword [0x44f3c8]
jb 0x4190cc
jmp 0x419132
mov eax, dword [0x44f3cc]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x4190e2
jmp 0x419120
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x419120
mov dword [esi + 0x230], ecx
mov ecx, dword [0x44f3d0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x248]
mov dword [esp + 0xc], eax
call fcn.0043f830
mov ecx, dword [esi + 0x230]
add esp, 0x10
test bl, 1
je 0x41912a
mov ebx, dword [esi + 8]
jmp 0x419132
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x4190c2
mov eax, dword [esi + 0x490]
mov ecx, dword [esi + 0x494]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi]
jmp eax
ret
mov dword [esi + 0x25c], eax
call fcn.0041a2a0
mov dword [esi + 0x748], 1
mov eax, dword [esi + 0x74c]
mov ecx, dword [esi + 0x748]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x254], edi
jmp eax
adc dword [ecx - 0x137c309e], ebx
add al, 0x89
cmp al, 0x24
call fcn.004046a0
add esp, 4
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
xchg edx, eax
jecxz case.0x413d7e.155
out 0x8b, al
xchg al, al
add al, byte [eax]
add byte [ebx + 0x2c48e], cl
add byte [ebx - 0x1f007efc], cl
mov dword [esi + 0x26c], edx
mov dword [esi + 0x270], ebx
mov dword [esi + 0x274], edi
mov eax, dword [esi + 0x898]
mov ecx, dword [esi + 0x89c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x6b8], 1
mov eax, dword [esi + 0x6bc]
mov ecx, dword [esi + 0x6b8]
mov eax, dword [eax + ecx*4]
jmp eax
test edi, edi
setne al
mov byte [esi + 0x27], al
movzx eax, al
mov dword [esi + 0x660], eax
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
popal
add al, 0xb3
add eax, edx
dec eax
xchg ebp, eax
sub dh, byte [ecx]
sar byte [ecx + 0x11], 0x8b
mov esi, 0xbc
rep stosd dword es:[edi], eax
mov edi, dword [esi + 0xbc]
mov dword [edi], 0x44
mov eax, dword [0x44f3bc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004425e0
sub esp, 0x20
mov ecx, dword [esi + 0xf8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esi + 4]
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
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x708], 1
mov eax, dword [esi + 0x70c]
mov ecx, dword [esi + 0x708]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x104]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x7c8], 0
mov eax, dword [esi + 0x7cc]
mov ecx, dword [esi + 0x7c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [0x44f3bc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
mov edi, edx
call fcn.004425e0
add esp, 8
mov ecx, dword [edi]
sub esp, 0x18
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x4231e0
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x470], ecx
mov edx, dword [esi + 0x474]
mov ecx, dword [esi + 0x470]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x880]
mov ecx, dword [esi + 0x884]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
xchg byte [eax + 0x5104fd51], dh
fcompi st(1)
sub esp, 4
mov dword [esp], edi
call fcn.0040c6a0
add esp, 4
mov eax, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x798], 0
mov eax, dword [esi + 0x79c]
mov ecx, dword [esi + 0x798]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x460], 0
mov eax, dword [esi + 0x464]
mov ecx, dword [esi + 0x460]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi]
jmp eax
call fcn.0041a2a0
xor eax, eax
mov ecx, 0x11
mov edi, dword [esi + 0xc0]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc0]
mov dword [eax], 0x44
mov eax, dword [0x44f3bc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004425e0
sub esp, 0x20
mov ecx, dword [esi + 0xfc]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0xc0]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 4]
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 + 0x4a0], 0
mov edx, dword [esi + 0x4a4]
mov edi, dword [esi + 0x4a0]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0041a2a0
sub esp, 4
mov dword [esp], edi
call fcn.004046a0
add esp, 4
xor ecx, ecx
mov edx, ebx
sub edx, eax
setb al
mov dword [esi + 0x868], 0
mov edx, dword [esi + 0x86c]
mov edi, dword [esi + 0x868]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x1c]
jmp edx
adc ah, byte [ebp + 0x17]
mov dh, 0x31
sar byte [ecx + 0x11], 0x8b
mov esi, 0xc0
rep stosd dword es:[edi], eax
mov edi, dword [esi + 0xc0]
mov dword [edi], 0x44
mov eax, dword [0x44f3bc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004425e0
sub esp, 0x20
mov ecx, dword [esi + 0xfc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esi + 4]
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 + 0x2d0]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x478]
mov ecx, dword [esi + 0x47c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0xc]
jmp eax
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.0040c6a0
add esp, 4
mov eax, dword [esi + 0x628]
mov ecx, dword [esi + 0x62c]
mov eax, dword [ecx + eax*4]
jmp eax
into
mov byte [0xe74dc46f], al
sahf
out dx, al
mov eax, dword [esi + 0x1cc]
mov al, byte [eax]
mov byte [esi + 0x158], al
mov byte [edi], 0x5a
mov byte [edi + 1], 0x89
mov byte [edi + 2], 0x26
mov byte [edi + 3], 0xb7
mov byte [edi + 4], 0x2b
mov byte [edi + 5], 0xb5
mov byte [edi + 6], 0x63
mov byte [edi + 7], 0xb3
mov byte [edi + 8], 0xb0
mov byte [edi + 9], 0xb1
mov eax, 0xa
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x419702
mov dword [esi + 0x94], 0
mov eax, dword [esi + 0x94]
cmp eax, 0x10
jae 0x419763
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x94]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a110
mov edi, dword [esi + 0x104]
add esp, 8
mov ecx, dword [esi + 0x94]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x94]
inc eax
mov dword [esi + 0x94], eax
jmp 0x419718
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00419db0
add esp, 8
mov eax, dword [esi + 0x330]
mov ecx, dword [esi + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
cmc
in al, 0x72
invalid
sub byte [ecx], bl
cmp byte [edx + 0x300868b], cl
add byte [eax], al
mov ecx, dword [esi + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [esi + 0x1a8]
xor edx, 1
mov eax, edi
xor eax, 2
xor ecx, ecx
or edx, eax
sete cl
mov dword [esi + 0x570], ecx
mov eax, dword [esi + 0x574]
mov ecx, dword [esi + 0x570]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], 0
mov dword [esi], 0
jmp eax
call fcn.0041a2a0
mov dword [esi + 0x448], 1
mov eax, dword [esi + 0x44c]
mov ecx, dword [esi + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x860], ecx
mov eax, dword [esi + 0x864]
mov ecx, dword [esi + 0x860]
mov eax, dword [eax + ecx*4]
jmp eax
xor ebx, ebx
jmp dword [0x449dc4]
push dword [esp + 0x18]
call fcn.0040c6a0
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 4]
push 0
push eax
push dword [esp + 0x10]
call fcn.004433b0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x449d84]
mov esi, dword [esp + 4]
push esi
call fcn.0040c690
add esp, 4
push 0
push esi
mov dword [esp + 0x18], eax
push eax
push dword [esp + 0x14]
call fcn.004434b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x449d8c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [ecx]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41a430
mov esi, dword [ecx + 8]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41a450
sar eax, 1
sar ecx, 1
add edi, eax
add ecx, edi
add ecx, 3
mov dword [esp + 0x14], ecx
jmp dword [0x449d94]
test ecx, ecx
jns 0x41a47b
mov eax, 0xffffffff
jmp 0x41a47e
lea eax, [ecx + ecx]
push eax
call fcn.0040c690
add esp, 4
movzx ecx, word [ebx]
test cx, cx
je 0x41a4b1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41a4a0
mov word [eax], 0x2f
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x41a4e1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41a4d0
mov word [eax], 0
mov ecx, dword [esp + 0x14]
jmp case.0x413d7e.214
mov word [eax], 0
mov ecx, dword [esp + 0x14]
jmp dword [0x449da0]
test ecx, ecx
jns 0x41a510
mov eax, 0xffffffff
jmp 0x41a513
lea eax, [ecx + ecx]
mov esi, dword [esp + 0x34]
push eax
call fcn.0040c690
add esp, 4
mov edi, eax
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x41a551
add ecx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41a540
mov word [eax], 0x2f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41a4f0
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41a570
jmp 0x41a4f0
mov word [eax], 0x2f
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x41a5b2
add ebp, 2
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x41a5a0
mov word [eax], 0
mov ecx, dword [esp + 0x30]
push dword [esp + 4]
push dword [esp + 0x14]
push edi
call fcn.0040d060
mov ebx, eax
jmp dword [0x449da4]
push edi
call fcn.0040c6a0
add esp, 4
nop
nop
nop
nop
nop
nop
jmp dword [0x449db8]
jmp dword [0x449dbc]
push dword [esp + 0x10]
call fcn.0040c6a0
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0xc], 0x14151617
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x41a66d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
mov esi, edx
xor esi, 0xaf443a3c
mov edi, edx
xor edi, 0x50bbc5c3
or edx, 0x2f443a3c
and edx, edi
add edx, edx
mov edi, edx
and edi, esi
xor edx, esi
lea edx, [edx + edi*2]
xor edx, ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 4]
add cl, 0xd4
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x41a620
mov ecx, dword [0x44f3c8]
test ecx, ecx
je 0x41a6a8
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x44f3cc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41a6a0
inc esi
cmp ecx, esi
jne 0x41a690
jmp 0x41a6a8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41a6ae
jmp dword [0x449dc4]
push eax
push 1
push dword [0x44f3d0]
push ecx
call fcn.0043f830
add esp, 0x10
jmp dword [0x449dc4]
int3
add eax, 0x5710041
inc ecx
add cl, ch
or al, byte [ecx]
test byte [edx], cl
inc ecx
add byte [edi + 0xb], cl
inc ecx
add byte [edx + ecx + 0xb700041], al
inc ecx
add byte [edx + 0xb], bl
inc ecx
add byte [eax + 0xb], dh
inc ecx
add dl, cl
add eax, 0x5da0041
inc ecx
add ch, ah
add eax, 0x5ef0041
inc ecx
add byte [edi + eax], bl
inc ecx
add byte [edi + eax], bl
inc ecx
add byte [ebp + 5], bh
inc ecx
add byte [ebp - 0x6affbefb], cl
add eax, 0xb810041
inc ecx
add byte [esi - 0x65ffbefb], ch
or eax, dword [ecx]
invalid
adc al, byte [ecx]
enter 0x4116, 0
call 4047820783
adc al, byte [ecx]
mov eax, dword [0x92004113]
adc eax, dword [ecx]
mov eax, dword [0xbf004113]
push ss
inc ecx
add byte [edx - 0x4fffbeea], ch
push ss
inc ecx
add ch, cl
sbb eax, dword [ecx]
ficom word [esi]
inc ecx
add dh, bl
push ss
inc ecx
add bl, al
and byte [ecx], al
and byte [ecx], 0x41
add ch, cl
and byte [ecx], al
pushal
and dword [ecx], eax
imul esp, dword [ecx], 0x21800041
inc ecx
add byte [eax - 0x6bffbedf], ch
and dword [ecx], eax
lds esp, [ecx]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x10041], dl
add byte [eax], al
shl byte [edx], 0x41
add byte [ebp - 1342160606], bl
and al, byte [ecx]
mov al, 0x22
inc ecx
add byte [eax - 0x4dffbede], dh
and al, byte [ecx]
shl byte [edx], 0x41
add byte [ebp + 35], ah
inc ecx
add al, bl
push ss
inc ecx
add byte [esi], bl
inc ecx
add byte [edx], al
daa
inc ecx
add byte [edx + 0x26], bl
inc ecx
add byte [edx], al
daa
inc ecx
add al, bl
push ss
inc ecx
add dh, al
and al, byte [ecx]
adc byte [ebx], ah
inc ecx
add byte [eax], dl
and eax, dword [ecx]
pop esi
and eax, dword [ecx]
shl byte [edi], 0x41
add al, al
daa
inc ecx
add bh, cl
daa
inc ecx
add al, al
daa
inc ecx
add byte [eax + ebp + 0x29020041], al
inc ecx
add byte [edx], al
sub dword [ecx], eax
dec edx
sub al, byte [ecx]
pop esp
sub al, byte [ecx]
or edx, dword [esi + 0x41]
add byte [ebx], cl
push esi
inc ecx
add byte [edx + 0x2b], dh
inc ecx
add bh, bh
sub eax, dword [ecx]
inc eax
sub eax, dword [ecx]
aad 0x2c
inc ecx
add byte [eax - 0x1bffbed1], ah
sub al, 0x41
add byte [esi - 0x3fffbecf], bh
push ebx
inc ecx
add ah, dh
sub al, 0x41
add byte [esi - 0x51ffbed1], ch
xor eax, dword [ecx]
rcl byte [ebx + 0x41], 0
mov esi, 0x3e004133
push esp
inc ecx
add dl, dl
push ebx
inc ecx
add byte [edi + 0x49], bh
inc ecx
add byte [esi], bh
push esp
inc ecx
add byte [ebx + ecx*2], bh
inc ecx
add byte [ebx + 0x3c004149], dl
dec ebx
inc ecx
add byte [ebx], dh
dec edx
inc ecx
add byte [ebx + ecx*2], bh
inc ecx
add byte [ecx + 0x3c00414a], dh
dec ebx
inc ecx
add byte [edx + 0x4b], dl
inc ecx
add al, bl
dec ebx
inc ecx
add al, al
push ebx
inc ecx
add byte [eax + 0x4b], dl
inc ecx
add byte [eax + 0x4b], dl
inc ecx
add al, al
push ebx
inc ecx
add byte [eax + 0x4b], dl
inc ecx
add byte [ecx], bh
push eax
inc ecx
add byte [eax + edx*2 + 0x41], cl
add byte [eax + 0x53], dh
inc ecx
add byte [esi + 0x52], bl
inc ecx
add byte [esi + 0x53], dh
inc ecx
add byte [edx + 0x51], bh
inc ecx
add byte [edx + edx*2 + 0x52400041], al
inc ecx
add byte [edx + 0x53], ah
inc ecx
add byte [eax + 0x52], al
inc ecx
add byte [edx - 0x50ffbead], cl
push ebx
inc ecx
add byte [eax - 0x5fffbead], dl
push ebx
inc ecx
add byte [eax - 0x50ffbead], ah
push ebx
inc ecx
add byte [ebx + 0x7600412f], bl
sub eax, 0x2f9b0041
inc ecx
add byte [edx], al
inc ecx
add byte [ebx - 0x76ffbed1], bl
inc ecx
add byte [ebx + 0x600412f], bl
das
inc ecx
add byte [ebx - 0x24ffbed1], bl
aas
inc ecx
add byte [ebp + 0x40], bl
inc ecx
add al, al
push ebx
inc ecx
add byte [esp + eax*2 + 0x41], ch
add byte [ebp + 0x44], dh
inc ecx
add byte [ebx + 0x49], dh
inc ecx
add byte [eax + 0x70004144], dl
dec ecx
inc ecx
add byte [edi + 0x45], al
inc ecx
add byte [ebx], dl
inc esi
inc ecx
add byte [ebp + 0x45], cl
inc ecx
add byte [ebx], dl
inc esi
inc ecx
add cl, dh
inc esi
inc ecx
add byte [edx + 0x49], ah
inc ecx
add ch, bh
inc esi
inc ecx
add byte [edi], ch
inc edi
inc ecx
add byte [eax], cl
inc edi
inc ecx
add byte [edi], ch
inc edi
inc ecx
add byte [edi + eax*2 + 0x41], cl
add byte [eax], ah
dec eax
inc ecx
add ah, ah
inc edi
inc ecx
add byte [eax], ah
dec eax
inc ecx
add cl, bh
inc edi
inc ecx
add byte [ebx], cl
dec eax
inc ecx
add byte [eax], ah
dec eax
inc ecx
add byte [edx], bh
dec ecx
inc ecx
add bl, cl
push esp
inc ecx
add byte [ecx - 0x52ffbeac], bh
push esp
inc ecx
add bl, cl
push esp
inc ecx
add byte [ebp - 0x3ffbeac], ch
push esp
inc ecx
add byte [ebx + 0x63004151], al
push ecx
inc ecx
add byte [esi + 0x50], ch
inc ecx
add byte [ecx + 0x51], ch
inc ecx
add byte [eax + 0x49], al
inc ecx
add byte [edi + 0x56004150], cl
push eax
inc ecx
add byte [ebx + 0x51], dl
inc ecx
add byte [esi + 0x50], dl
inc ecx
add byte [esi + 0x49], al
inc ecx
add byte [ecx + 0x49], dl
inc ecx
add dh, cl
xor byte [ecx], al
rcl byte [ebx + 0x41], 0
xor byte [930873409], dh
inc ecx
add ah, cl
aaa
inc ecx
add byte [edx], dl
cmp byte [ecx], al
loopne 0x449989
inc ecx
add al, ah
aaa
inc ecx
add al, ah
aaa
inc ecx
add al, dh
aaa
inc ecx
add al, dh
aaa
inc ecx
add byte [edx], dl
cmp byte [ecx], al
xor byte [0x38660041], dh
inc ecx
add byte [ebx + 0x35], ah
inc ecx
add al, dl
cmp dword [ecx], eax
jecxz 0x4499b3
inc ecx
add byte [edi + 0x37], bl
inc ecx
add byte [edx + 0x3a], al
inc ecx
add ch, bh
cmp dword [ecx], eax
jbe 0x4499c4
cmp al, byte [ecx]
dec eax
cmp al, byte [ecx]
jbe 0x4499cc
inc ecx
add byte [eax + 0x3a], cl
inc ecx
add byte [esi + 0x3a], dh
inc ecx
add byte [eax], dh
cmp al, byte [ecx]
inc edx
cmp al, byte [ecx]
std
cmp dword [ecx], eax
aaa
inc ecx
add byte [edi], cl
cmp al, byte [ecx]
adc eax, 0x7600413a
aaa
inc ecx
add byte [edi], cl
push ebp
inc ecx
add byte [edi], dl
push ebp
inc ecx
add al, al
push ebx
inc ecx
add byte [edi], cl
push ebp
inc ecx
add dl, al
xor al, byte [ecx]
rcl byte [ebx + 0x41], 0
retf 16699
xchg esi, eax
cmp al, 65
add cl, ch
cmp al, 0x41
add byte [ebp + 0x3d], al
inc ecx
add byte [eax], ah
cmp eax, 0x3d450041
inc ecx
add dl, cl
cmp eax, dword [ecx]
test dword [0x3c060041], edi
inc ecx
add ah, al
aas
inc ecx
add byte [ecx + 0x2000413c], al
cmp al, 0x41
add byte [ecx + 0x2000413c], al
cmp al, 0x41
add dl, cl
aas
inc ecx
add byte [edx], dh
cmp al, 0x41
add byte [eax], bh
cmp al, 0x41
add byte [ebx + 0x3c], al
inc ecx
add byte [eax + 0x3c], ah
inc ecx
add byte [eax + 0x3c], ah
inc ecx
add byte [eax + 0x3c], ah
inc ecx
add al, al
push ebx
inc ecx
add al, dl
push ebx
inc ecx
add al, dl
push ebx
inc ecx
add al, dl
push ebx
inc ecx
add byte [eax + 0x2b], al
inc ecx
add byte [ebx + 0x70830041], al
inc ecx
add byte [ebx + 0x5004170], al
xchg edx, eax
inc ecx
add dl, bl
xchg dword [ecx], eax
xchg esp, eax
inc ecx
add byte [ecx - 0x6b], ah
inc ecx
add ch, cl
xchg ecx, eax
inc ecx
add al, ch
cdq
inc ecx
add byte [ecx - 0x6b], ah
inc ecx
add byte [eax + 0x7e], al
inc ecx
add byte [ecx - 0x58ffbe9e], dh
inc ecx
add byte [ebx + 0x4c004174], al
mov es, word [ecx]
cmpsd dword [esi], dword es:[edi]
inc ecx
add byte [edi], bh
imul eax, dword [ecx], 0xffffff8a
imul eax, dword [ecx], 0x50
inc ecx
add byte [edx + 0x5000416b], cl
ja 0x449abc
add byte [ecx + 0x7e], dh
inc ecx
add byte [edx], ch
je 0x449ac4
add byte [eax + 0x77], dl
inc ecx
add byte [edi], bh
imul eax, dword [ecx], 0xffffff91
add byte [ecx], 0x2d
jno 0x449ad4
add bh, cl
push 0x41
add byte [edx + 0x17004164], ch
imul eax, dword [ecx], case.0x413d7e.48
pushal
jle 4496104
add byte [esi - 0x72], dh
inc ecx
add bl, dl
insd dword es:[edi], dx
inc ecx
add byte [edx - 0x56ffbe6d], dl
add byte [ecx], 0x5b
inc cx
add byte [ecx + 0x7d004180], ch
test eax, 0x7d004180
cdq
inc ecx
add byte [ebp + 0x2c00418e], cl
mov dword [ecx], eax
into
lea ecx, [esi - 0x76d3ffbf]
inc ecx
add dh, cl
jnp 0x449b10
add byte [eax], dh
insb byte es:[edi], dx
inc ecx
add byte [ebx - 0xfffbe76], bh
mov ebx, 0xf000418a
inc ecx
add al, dh
test byte [ecx], al
jo 0x449a72
inc ecx
add byte [ecx + esi*2], al
inc ecx
add byte [eax - 0x6c], dh
inc ecx
add dh, cl
into
je 0x449b2c
add cl, ah
mov al, byte [ecx]
stosb byte es:[edi], al
imul eax, dword [ecx], -50
je 0x449b38
add byte [edx - 0x79], cl
inc ecx
add byte [ecx - 0xdffbe6f], ah
insd dword es:[edi], dx
inc ecx
add byte [ecx], al
test dword [ecx], eax
invalid
je 0x449b54
add byte [eax + 0x69], bl
inc ecx
add byte [ebx], cl
jg 0x449b5c
add al, ah
push 0x41
add al, ah
push 0x41
add ah, bl
inc ecx
add byte [edi + 0x7c00416f], bl
jge 0x449b70
jl 0x449bab
inc ecx
add byte [esi - 0x71], al
inc ecx
add byte [ebx + edx*4 + 0x41], ch
add al, al
xchg esi, eax
inc ecx
add byte [ebx], cl
insd dword es:[edi], dx
inc ecx
rcl byte [esi + 0x6d0b0041], 0x41
add byte [ebx], cl
insd dword es:[edi], dx
inc ecx
add bl, dl
add dword [ecx], 0x79
mov byte [ecx], al
aad 0x68
inc ecx
add byte [ecx - 0x78], bh
inc ecx
add byte [edx - 0x80], dh
jb 0x449ad6
inc ecx
add bh, al
inc ecx
add byte [ebx - 0x74ffbe6e], cl
xchg edx, eax
mov edx, dword [edx - 0x6d74ffbf]
inc ecx
add byte [eax], dl
mov byte [ecx], al
push ebp
bound eax, qword [ecx]
push edx
mov dword [ecx], eax
rol dword [ecx + eax*2 + 0x41839c00], cl
add byte [eax - 2046803580], bh
inc ecx
add byte [ebx - 0x1cffbe6e], ch
jbe 0x449bc8
add cl, al
outsd dx, dword [esi]
inc ecx
add ah, dh
mov byte [ecx], al
cmp al, byte [ecx + 0x75760041]
inc ecx
add byte [esi + 0x75], dh
inc ecx
add byte [edx], dh
ja 0x449be0
add byte [esi - 0x6a], ah
inc ecx
add byte [edi], ah
mov byte [ecx], al
pop word [ecx]
ja 4496429
add byte [edi + 0x7f], dh
inc ecx
add byte [eax - 0x74], ch
inc ecx
add byte [edi - 0x3fffbe71], al
add dword [ecx], 0xffffffe2
add byte [ecx], 0x97
mov word [ecx], es
sub bh, byte [eax + 0x41]
add byte [edi - 1577041524], dl
xchg byte [ecx], al
push es
xchg edi, eax
mov word [ecx], es
mov byte [0x6004186], al
test byte [ecx], al
ret
mov al, 0x97
inc ecx
add byte [edx - 0x4fffbe9e], cl
xchg edi, eax
inc ecx
add dl, ah
jo 0x449c30
add byte [eax], cl
jo 0x449c34
add byte [edi + 0x6c], cl
inc ecx
add byte [edi + 0x6c], cl
inc ecx
add byte [ecx + 0x66], bh
inc ecx
add byte [eax - 0x79], dh
inc ecx
add byte [ecx], bl
jo 0x449c48
add byte [ecx], bl
jo 0x449c4c
add byte [eax], cl
je 0x449c50
add byte [eax - 0x78], cl
inc ecx
add byte [ecx - 0x5effbe94], ah
insb byte es:[edi], dx
inc ecx
add bl, al
inc ecx
add byte [ecx + 0x7f], dl
inc ecx
add byte [ecx + 0x4c004180], cl
add dword [ecx], 0x49
xchg esp, eax
inc ecx
add byte [ebx + eax*4 + 0x41], cl
add bl, bh
dec esp
add dword [ecx], -5
sti
mov eax, dword [ecx]
ret 0x4180
mov byte [ecx - 0x7c19ffbf], dl
out 0x83, al
inc ecx
add dh, ah
add dword [ecx], 0x5f
mov es, word [ecx]
inc esi
je 4496540
out 0x83, al
inc ecx
add byte [edi - 0x72], bl
inc ecx
add byte [esi + 0x74], al
inc ecx
add bh, al
mov eax, dword [ecx]
lcall 0x4193, 0xc900418a
add dh, bl
popal
inc ecx
add byte [esi - 0x21ffbe67], dh
popal
inc ecx
add byte [edi], dh
imul eax, dword [ecx], case.0x413d7e.162
mov dl, 0x88
inc ecx
add byte [ebx - 0x4dffbe6b], bl
xchg esp, eax
inc ecx
add byte [esi + eax*4 - 0x6a64ffbf], al
inc ecx
add byte [ebx + 0x70], ah
inc ecx
add byte [edi - 0x70], dl
inc ecx
add byte [ecx + 0x19004187], ch
je 0x449ce0
sbb dword [ecx + eax*2], esi
test eax, 838877575
add byte [ecx + 0x32004187], ch
xchg esi, eax
inc ecx
add byte [eax - 0x25ffbe6c], dl
jns 0x449cf0
add byte [ecx - 0x7c], ch
inc ecx
add al, dh
xchg ecx, eax
inc ecx
add byte [eax + 0x6b], dl
inc ecx
add al, dh
xchg ecx, eax
inc ecx
add bh, cl
xchg edx, eax
inc ecx
add byte [esi], bl
push 0x41
add ch, dh
push 0x92cf0041
inc ecx
add cl, bh
ja 0x449d14
add byte [ebx], dl
mov dword [ecx], eax
mov edx, 0x3b00416c
add dword [ecx], -25
mov eax, dword [ecx]
mov edx, 0x2e00416c
out 0x8b, eax
inc ecx
add byte [edx + 0x2e00416c], bh
pop dword [ecx]
scasd eax, dword es:[edi]
je 4496688
add byte [edx], bl
bound eax, qword [ecx]
adc eax, 0xd2004171
sbb ah, byte [edx + 0x41]
add byte [3523232113], dl
mov byte [ecx], al
int 0x61
inc ecx
add byte [esi - 0x75ffbe75], al
outsd dx, dword [esi]
inc ecx
add byte [ebx + 0x75], ah
inc ecx
add byte [esi - 0x34ffbe75], al
mov dword [0xa3ec0041], eax
inc ecx
add byte [ebx], bl
movsb byte es:[edi], byte [esi]
in al, dx
mov dword [-1541734335], eax
inc ecx
add byte [ebx - 0x5c], bl
inc ecx
add byte [ebx - 0x5c], bl
inc ecx
add byte [ebx - 0x5c], bl
inc ecx
add dh, al
cmpsb byte [esi], byte es:[edi]
inc ecx
add dh, al
cmpsb byte [esi], byte es:[edi]
inc ecx
add dh, al
cmpsb byte [esi], byte es:[edi]
inc ecx
add bh, bh
movsb byte es:[edi], byte [esi]
inc ecx
add byte [esi - 0x79ffbe5b], al
movsd dword es:[edi], dword [esi]
inc ecx
add cl, dl
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add dh, ah
movsd dword es:[edi], dword [esi]
inc ecx
add dh, ah
movsd dword es:[edi], dword [esi]
inc ecx
add ah, ch
movsd dword es:[edi], dword [esi]
inc ecx
add al, bh
movsd dword es:[edi], dword [esi]
inc ecx
add al, bh
movsd dword es:[edi], dword [esi]
inc ecx
add al, bh
movsd dword es:[edi], dword [esi]
inc ecx
add byte [ebp - 0x4affbe5d], ch
mov dword [0xa3c10041], eax
inc ecx
add byte [eax - 0x5c], dh
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add byte [ebp - 0x34ffbe5d], ch
mov dword [0xa5f80041], eax
inc ecx
add ah, ch
mov dword [0xa5e60041], eax
inc ecx
add byte [ebx], bl
movsb byte es:[edi], byte [esi]
inc ecx
add bh, bh
movsb byte es:[edi], byte [esi]
inc ecx
add byte [eax - 0x5c], dh
inc ecx
add bh, bh
movsb byte es:[edi], byte [esi]
inc ecx
add byte [esi - 0x2effbe5b], al
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add al, ah
movsd dword es:[edi], dword [esi]
inc ecx
add dh, ah
movsd dword es:[edi], dword [esi]
inc ecx
add ah, ch
movsd dword es:[edi], dword [esi]
inc ecx
add al, bh
movsd dword es:[edi], dword [esi]
inc ecx
add byte [ebp - 0x3effbe5d], dh
mov dword [0x41], eax
add byte [eax], al
mov esp, 0xe10041a8
test al, 0x41
add byte [edi - 0x2d], bh
inc ecx
add bh, al
rol dword [ecx], 1
rcl ecx, cl
inc ecx
add bl, ch
rol dword [ecx], 1
rol dword ss:[ecx], cl
dec ebp
rol dword [ecx], cl
rcl ecx, 0x41
add cl, al
rol dword [ecx], 1
rcl ecx, 0x41
add byte [ecx - 0x31], al
inc ecx
add byte [edx - 0x31], cl
inc ecx
add byte [edx - 0x31], cl
inc ecx
add byte [eax + edx*8], cl
inc ecx
add byte [edx], dl
rol byte [ecx], 1
sbb edx, eax
inc ecx
add bh, ah
test al, 0x41
add ch, ch
test al, 0x41
add bh, bh
test al, 0x41
add byte [0xe0041a9], al
test eax, 0xcd3f0041
inc ecx
add byte [ebp - 0x33], al
inc ecx
add byte [esi - 0x33], cl
inc ecx
add byte [esi - 0x4fffbe34], al
int3
invalid