Function at 0x415175
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x240
mov eax, dword [0x44f3bc]
mov dword [esp + 0x40], 0x29bb2bd7
mov dword [esp + 0x44], 0x2dc12fb6
mov dword [esp + 0x48], 0xd13ed3c0
mov dword [esp + 0x4c], 0xd507d737
mov dword [esp + 0x50], 0xd908db0f
mov dword [esp + 0x54], 0xddfedf08
mov dword [esp + 0x58], 0xc13bc3f4
mov dword [esp + 0x5c], 0xc554c72f
mov dword [esp + 0x60], 0xc95bcb20
mov dword [esp + 0x64], 0xcd5bcf51
mov dword [esp + 0x68], 0xf100f3ec
mov dword [esp + 0x6c], 0xf5d6f704
mov dword [esp + 0x70], 0xf92afb23
mov dword [esp + 0x74], 0xfd2eff2a
mov dword [esp + 0x78], 0xe1c2e321
mov dword [esp + 0x7c], 0xe509e719
mov dword [esp + 0x80], 0xe930eb76
mov dword [esp + 0x84], 0xed33ef3c
mov dword [esp + 0x88], 0x910a93cc
mov dword [esp + 0x8c], 0x9542974a
mov dword [esp + 0x90], 0x99ba9bbb
mov dword [esp + 0x94], 0x9d0e9f5f
mov dword [esp + 0x98], 0x816e830c
mov dword [esp + 0x9c], 0x857f876b
mov dword [esp + 0xa0], 0x896c8b6f
mov dword [esp + 0xa4], 0x8d618f45
mov dword [esp + 0xa8], 0xb163b318
mov dword [esp + 0xac], 0xb563b76b
mov dword [esp + 0xb0], 0xb968bb6d
mov dword [esp + 0xb4], 0xbd64bf6d
mov dword [esp + 0xb8], 0xa18aa39c
mov dword [esp + 0xbc], 0xa56ea76d
mov dword [esp + 0xc0], 0xa959ab50
mov dword [esp + 0xc4], 0xad82af64
mov dword [esp + 0xc8], 0x51be538c
mov dword [esp + 0xcc], 0x55bb57bf
mov dword [esp + 0xd0], 0x597a5bbf
mov dword [esp + 0xd4], 0x5db55f91
mov dword [esp + 0xd8], 0x41af43b9
mov dword [esp + 0xdc], 0x456947d1
mov dword [esp + 0xe0], 0x498f4b64
mov dword [esp + 0xe4], 0x4dd84fa0
mov dword [esp + 0xe8], 0x71e173dd
mov dword [esp + 0xec], 0x75a7779b
mov dword [esp + 0xf0], 0x79ad7ba3
mov dword [esp + 0xf4], 0x7dac7fa7
mov dword [esp + 0xf8], 0x61b063ac
mov dword [esp + 0xfc], 0x65b467b0
mov dword [esp + 0x100], 0x694a6bb4
mov dword [esp + 0x104], 0x6d896f9d
mov dword [esp + 0x108], 0x11f51386
mov dword [esp + 0x10c], 0x15f91786
mov dword [esp + 0x110], 0x19c11bc5
mov dword [esp + 0x114], 0x1dc71fcd
mov dword [esp + 0x118], 0x1d703ce
mov dword [esp + 0x11c], 0x50607da
mov word [esp + 0x120], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe1
ja 0x410c9a
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 + 0x40]
mov esi, ecx
xor esi, 0x500eaaf7
and ecx, 0xd00eaaf7
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov edx, ecx
xor edx, 0xd3
and ecx, 0x2c
add ecx, ecx
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe2
jb 0x410c50
lea ebx, [esp + 0x40]
push 0
push 0
push 0
push 0
push ebx
call eax
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x449f10]
xor ebx, ebx
jmp 0x411278
mov eax, dword [0x44f3c0]
mov dword [esp + 0x40], 0x9392905b
mov word [esp + 0x44], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x410d40
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x40]
mov esi, edx
xor esi, 0x7aa9c01c
and edx, 0xfaa9c01c
lea esi, [esi + edx*2]
mov edx, esi
and edx, ecx
add ecx, esi
sub ecx, edx
mov esi, 0x8f7f39ff
sub esi, ecx
and esi, edx
not edx
and edx, ecx
sub edx, esi
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
add cl, 0x74
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x410cf0
movzx ecx, word [esp + 0x40]
push 0
push ecx
push 0x44f3f0
push edi
call eax
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449f18]
xor ebx, ebx
jmp 0x411271
mov dword [esp + 0x3c], edi
jmp dword [0x449f24]
jmp dword [0x449f68]
push 0
push ebp
call dword [0x44f3d8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push ebp
call dword [0x44f3d8]
jmp dword [0x449f70]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x449f78]
mov bl, 1
jmp case.0x411225.2
mov eax, dword [0x44f3c4]
mov dword [esp + 4], 0x63e26160
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 3
ja 0x410e20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 4]
mov esi, ecx
xor esi, 0xaf9adbe8
and ecx, 0x2f9adbe8
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0x78
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 4], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jb 0x410de0
mov ecx, dword [esp + 4]
mov dword [esp + 0x40], 0x633d6130
mov dword [esp + 0x44], 0x67326537
mov word [esp + 0x48], 0x7978
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xf
ja 0x410ebb
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x40]
mov edx, edi
not edx
or edx, 0x7afa0968
add edx, edi
xor edi, 0xfafa0968
lea ebp, [edi + edx*2]
lea edx, [edi + edx*2]
add edx, 2
and edx, esi
add esi, ebp
add esi, 2
sub esi, edx
mov edi, 0xecb061ff
sub edi, esi
and edi, edx
not edx
and edx, esi
sub edx, edi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
add dl, 0xf8
mov esi, dword [esp]
mov byte [esp + esi + 0x40], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x10
jb 0x410e60
push ecx
push 0
push 0
push 0
push dword [esp + 0x264]
push ebx
push dword [esp + 0x20]
call eax
jmp dword [0x449f28]
mov eax, dword [0x44f3c4]
mov dword [esp + 4], 0x63e26160
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 3
ja 0x410f40
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 4]
mov esi, ecx
xor esi, 0xaf9adbe8
and ecx, 0x2f9adbe8
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0x78
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 4], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jb 0x410f00
mov ecx, dword [esp + 4]
mov dword [esp + 0x40], 0x633d6130
mov dword [esp + 0x44], 0x67326537
mov word [esp + 0x48], 0x7978
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xf
ja 0x410fdb
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x40]
mov edi, edx
not edi
or edi, 0x7afa0968
add edi, edx
xor edx, 0xfafa0968
lea ebp, [edx + edi*2]
lea edx, [edx + edi*2]
add edx, 2
and edx, esi
add esi, ebp
add esi, 2
sub esi, edx
mov edi, 0xecb061ff
sub edi, esi
and edi, edx
not edx
and edx, esi
sub edx, edi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
add dl, 0xf8
mov esi, dword [esp]
mov byte [esp + esi + 0x40], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x10
jb 0x410f80
lea edx, [esp + 0x40]
push ecx
push 0
push 0
push 0
push dword [esp + 0x264]
push edx
push dword [esp + 0x20]
call eax
jmp case.0x410d5b.3
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449f30]
xor ebx, ebx
jmp 0x411263
jmp dword [0x449f40]
xor ecx, ecx
mov edx, dword [esp + 0x26c]
test edx, edx
setg cl
mov ebp, eax
jmp dword [ecx*4 + 0x449f48]
movzx ecx, byte [0x44f4f4]
jmp dword [ecx*4 + 0x449f50]
push edx
push edx
push edx
push edx
push eax
call dword [0x44f3cc]
mov eax, ebp
movzx ecx, byte [0x44f4f4]
jmp dword [ecx*4 + 0x449f50]
mov dword [esp + 0xc], 0x13851153
mov dword [esp + 0x10], 0x1f751d8b
mov dword [esp + 0x14], 0x1b771971
mov dword [esp + 0x18], 0x726055e
mov dword [esp + 0x1c], 0x3650167
mov dword [esp + 0x20], 0xf600d6f
mov dword [esp + 0x24], 0xb9f096f
mov dword [esp + 0x28], 0x375135ab
mov dword [esp + 0x2c], 0x33ab3152
mov dword [esp + 0x30], 0x3f7b3dac
mov word [esp + 0x34], 0x3938
mov dword [esp + 0x36], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2d
ja 0x411112
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, 0xb0c86c84
and ecx, 0x30c86c84
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x40]
add cl, 0x6c
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2e
jb 0x4110d0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x411141
lea ebx, [esp + 0x40]
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411130
mov word [ebx], 0
movzx ecx, word [0x44f4f6]
test cx, cx
je 0x411175
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx + edx], cx
movzx ecx, word [edx + 0x44f4f8]
add edx, 2
test cx, cx
jne 0x411160
add ebx, edx
mov word [ebx], 0
mov ecx, dword [0x44f3d0]
mov dword [esp + 0xc], 0x99babb84
mov word [esp + 0x10], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 5
ja 0x4111de
mov edx, dword [esp + 4]
mov esi, dword [esp + 4]
movzx esi, byte [esp + esi + 0xc]
mov edi, edx
xor edi, 0x7820e01f
and edx, 0xf820e01f
lea edx, [edi + edx*2]
xor edx, esi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x65
mov esi, dword [esp + 4]
mov byte [esp + esi + 0xc], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 6
jb case.default.0x411225
lea edx, [esp + 0x40]
push dword [esp + 0xc]
push 0xffffffffffffffff
push edx
push eax
call ecx
mov eax, ebp
xor ecx, ecx
mov edi, dword [esp + 0x258]
mov edx, edi
neg edx
sbb ecx, ecx
push 0
mov esi, dword [esp + 0x26c]
push esi
push dword [esp + 0x268]
push dword [esp + 0x268]
push ecx
push edi
push eax
call dword [0x44f3d4]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449f58]
xor ebx, ebx
jmp case.0x411225.2
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push esi
push dword [esp + 0x26c]
push ebp
call dword [0x44f3e4]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x449f60]
push ebp
call dword [0x44f3e8]
push dword [esp + 8]
call dword [0x44f3e8]
mov edi, dword [esp + 0x3c]
push edi
call dword [0x44f3e8]
mov eax, ebx
add esp, 0x240
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
shr eax, 0x1f
jmp dword [eax*4 + 0x44a584]
push 0x44f390
call fcn.0043a9c0
add esp, 4
mov ecx, dword [str.5716f8210a0744e3ba86f9d57d14207c]
mov dword [esp + 0xc0], 0x33775b1e
mov dword [esp + 0xc4], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 7
ja 0x4114f2
nop
nop
nop
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + eax + 0xc0]
mov esi, edx
not esi
or esi, 0x52b72734
add esi, edx
xor edx, 0xd2b72734
lea edx, [edx + esi*2]
add edx, 2
xor edx, eax
mov dword [esp + 0x228], edx
mov eax, dword [esp + 0x228]
add al, 0xfc
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 0xc0], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 8
jb 0x4114a0
mov edx, dword [str.BVnUqo___zenvolord4]
mov dword [esp + 0x228], 0x3a661613
mov dword [esp + 0x22c], 0x720b0c66
mov dword [esp + 0x230], 0x7203087e
mov dword [esp + 0x234], 0x273720b
mov dword [esp + 0x238], 0x73c00005
mov dword [esp + 0x23c], 0x49550903
mov dword [esp + 0x240], 0x5b84346
mov dword [esp + 0x244], 0x9d5d7307
mov byte [esp + 0x248], 0
mov dword [esp + 0x1c0], 0
mov eax, dword [esp + 0x1c0]
cmp eax, 0x20
ja 0x4115d8
nop
mov esi, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c0]
movzx eax, byte [esp + eax + 0x228]
mov edi, esi
not edi
or edi, 0x1776992b
add edi, esi
xor esi, 0x9776992b
lea esi, [esi + edi*2]
add esi, 2
xor esi, eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x1c]
mov esi, eax
not esi
and esi, 0xd7
and eax, 0x28
sub eax, esi
mov esi, dword [esp + 0x1c0]
mov byte [esp + esi + 0x228], al
inc dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c0]
cmp eax, 0x21
jb 0x411570
movzx ebx, byte [esp + 0x228]
lea eax, [esp + 0xa90]
test bl, bl
je 0x41160b
lea esi, [esp + 0x229]
nop
nop
nop
nop
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 0x411600
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x41162b
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 0x411620
mov byte [eax], 0
movzx edx, byte [esp + 0xc0]
test dl, dl
je 0x41165b
lea esi, [esp + 0xc1]
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 0x411650
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x41167b
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 0x411670
mov byte [eax], 0
mov dword [esp + 0x228], 0x893b8b51
mov dword [esp + 0x22c], 0x850a873a
mov dword [esp + 0x230], 0x8130833f
mov dword [esp + 0x234], 0x9d6d9f0c
mov dword [esp + 0x238], 0x991d9b30
mov dword [esp + 0x23c], 0x952d9728
mov dword [esp + 0x240], 0x91729352
mov dword [esp + 0x244], 0x6dde6f2f
mov dword [esp + 0x248], 0x69de6bdc
mov dword [esp + 0x24c], 0x65db67df
mov dword [esp + 0x250], 0x61ee63db
mov dword [esp + 0x254], 0x7dcf7fd7
mov dword [esp + 0x258], 0x798b7bce
mov dword [esp + 0x25c], 0x758577f0
mov dword [esp + 0x260], 0x71fb73fd
mov dword [esp + 0x264], 0x4dbd4ff9
mov dword [esp + 0x268], 0x49fb4bf6
mov dword [esp + 0x26c], 0x45f547c6
mov dword [esp + 0x270], 0x41c943b7
mov dword [esp + 0x274], 0x5dea5fce
mov dword [esp + 0x278], 0x59e85be7
mov dword [esp + 0x27c], 0x55e757e5
mov dword [esp + 0x280], 0x51e953e8
mov dword [esp + 0x284], 0x2d3d2fec
mov dword [esp + 0x288], 0x292a2b3a
mov byte [esp + 0x28e], 0
mov word [esp + 0x28c], 0
lea ecx, [esp + 0xa90]
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x1c]
cmp edx, 0x66
ja 0x41181e
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movzx edx, byte [esp + edx + 0x228]
mov edi, esi
xor edi, 0x10f03ee3
mov ebx, esi
xor ebx, 0x6f0fc11c
or esi, 0x10f03ee3
and esi, ebx
add esi, esi
mov ebx, esi
and ebx, edi
xor esi, edi
lea esi, [esi + ebx*2]
xor esi, edx
mov dword [esp + 0xc0], esi
mov edx, dword [esp + 0xc0]
add dl, 0x91
mov esi, dword [esp + 0x1c]
mov byte [esp + esi + 0x228], dl
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
cmp edx, 0x67
jb 0x4117c0
sub eax, ecx
mov dword [esp + 0xc0], 0x39953bed
mov dword [esp + 0xc4], 0x25b127a8
mov word [esp + 0xc8], 0x2324
mov dword [esp + 0xca], 0
mov byte [esp + 0xce], 0
mov dword [esp + 0x1c0], 0
mov edx, dword [esp + 0x1c0]
cmp edx, 0xe
ja 0x4118d8
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c0]
movzx edx, byte [esp + edx + 0xc0]
mov edi, esi
not edi
or edi, 0x4693c1cb
add edi, esi
xor esi, 0xc693c1cb
lea esi, [esi + edi*2]
add esi, 2
xor esi, edx
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x1c]
mov esi, edx
not esi
and esi, 0xf7
and edx, 8
sub edx, esi
mov esi, dword [esp + 0x1c0]
mov byte [esp + esi + 0xc0], dl
inc dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c0]
cmp edx, 0xf
jb 0x411870
lea edx, [esp + 0xb8]
lea esi, [esp + 0xac]
lea ebx, [esp + 0x228]
lea edi, [esp + 0xc0]
push edx
push esi
push eax
push ecx
push ebx
push edi
push 0x44f3f0
call fcn.0040ff20
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x44a58c]
xor esi, esi
xor eax, eax
test esi, 0
sete al
jmp dword [eax*4 + 0x44a594]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xac]
lea eax, [ecx + ecx*2]
shr eax, 2
movzx edx, byte [ebx + ecx - 1]
cmp edx, 0x3d
je 0x411964
cmp edx, 0x2e
jne 0x411965
dec eax
movzx ecx, byte [ebx + ecx - 2]
cmp ecx, 0x3d
je 0x411974
cmp ecx, 0x2e
jne case.0x410cb2.33
dec eax
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
push eax
push ebx
call fcn.0043b690
add esp, 8
push dword [esp + 0xac]
call fcn.0043df90
add esp, 4
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44a594]
push esi
call fcn.00403ba0
add esp, 4
mov ebx, eax
jmp dword [0x44a59c]
push esi
call fcn.0040c9a0
add esp, 4
mov dword [esp + 0xa4], ebx
push ebx
call fcn.00404680
add esp, 4
mov esi, eax
mov word [esp + 0x228], 0xe8ce
mov byte [esp + 0x22a], 0x5a
mov dword [esp + 0x22b], 0
mov byte [esp + 0x22f], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 7
ja 0x411a7a
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0xeae60f6f
and eax, 0xeae60f6f
lea edx, [edx + eax*2]
lea eax, [edx + ecx]
mov ebx, ecx
not ebx
or ebx, edx
add ecx, ebx
inc ecx
mov edx, eax
not edx
and edx, ecx
mov ebx, ecx
not ebx
and eax, ebx
sub eax, edx
xor ecx, eax
and eax, ebx
add eax, eax
sub eax, ecx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0xd5
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 8
jb 0x411a10
lea ebx, [esp + 0x228]
push ebx
push esi
call fcn.004047d0
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x44a5a4]
call fcn.0043a020
movzx eax, al
jmp dword [eax*4 + 0x44a5ac]
mov word [esp + 0x228], 0xfbff
mov byte [esp + 0x22a], 0x1e
mov dword [esp + 0x22b], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 6
ja 0x411b31
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0x3cca2cc5
and eax, 0x3cca2cc5
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xc0]
add al, 0x27
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 7
jb 0x411ae0
push ebx
push esi
call fcn.004047d0
add esp, 8
mov dword [esp + 0xa0], eax
mov word [esp + 0x228], 0x417
mov byte [esp + 0x22a], 0x96
mov word [esp + 0x22b], 0
mov byte [esp + 0x22d], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 5
ja 0x411bdf
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x228]
mov edx, eax
xor edx, 0x6bc6ece6
and eax, 0xebc6ece6
lea edx, [edx + eax*2]
mov eax, edx
and eax, ecx
xor edx, ecx
sub edx, eax
lea ecx, [edx + eax*2]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0x82
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x411b80
push ebx
push esi
call fcn.004047d0
add esp, 8
mov dword [esp + 0xb0], eax
mov dword [esp + 0x228], 0x99f3f5f0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 7
ja 0x411c69
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x228]
add eax, 0xe4d7599b
xor eax, ecx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
mov ecx, eax
xor ecx, 7
and eax, 0x78
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x228], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 8
jb 0x411c20
push ebx
push esi
call fcn.004047d0
add esp, 8
mov dword [esp + 0x9c], eax
push esi
call fcn.004128d0
add esp, 4
push dword [esp + 0xa4]
call fcn.00404c30
add esp, 4
lea esi, [esp + 0x1c0]
mov ecx, esi
push 1
call fcn.0040d380
push esi
call fcn.00423ec0
add esp, 4
mov ecx, esi
call fcn.0040dce0
lea esi, [esp + 0xc48]
mov ecx, esi
push 3
call fcn.0040d380
push esi
call fcn.00424620
add esp, 4
mov ecx, esi
call fcn.0040dce0
lea esi, [esp + 0xbe0]
mov ecx, esi
push 1
call fcn.0040d380
push esi
call fcn.00424af0
add esp, 4
mov ecx, esi
call fcn.0040dce0
lea esi, [esp + 0xb78]
mov ecx, esi
push 1
call fcn.0040d380
push esi
call fcn.00427720
add esp, 4
push esi
call fcn.00428200
add esp, 4
push esi
call fcn.00428640
add esp, 4
push esi
call fcn.0042bae0
add esp, 4
mov ecx, esi
call fcn.0040dce0
xor ebx, ebx
cmp dword [esp + 0xb0], 0
setg bl
lea esi, [esp + 0xb10]
mov ecx, esi
push 1
call fcn.0040d380
push esi
call fcn.0042a730
add esp, 4
mov ecx, esi
call fcn.0040dce0
lea esi, [esp + 0xa28]
mov ecx, esi
push 1
call fcn.0040d380
push esi
call fcn.0042d7c0
add esp, 4
push esi
call fcn.00434ba0
add esp, 4
jmp dword [ebx*4 + 0x44a5b4]
push esi
call fcn.00434d10
add esp, 4
lea ecx, [esp + 0xa28]
call fcn.0040dce0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [esp + 0x1c], 0x9a959946
mov word [esp + 0x20], 0x6880
mov byte [esp + 0x22], 0x26
mov dword [esp + 0x23], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, 0xa
ja 0x411e3d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
movzx ecx, byte [esp + ecx + 0x1c]
mov edx, eax
xor edx, 0x9bce6308
mov esi, eax
xor esi, 0x64319cf7
or eax, 0x1bce6308
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0xd8
mov ecx, dword [esp + 0xc0]
mov byte [esp + ecx + 0x1c], al
inc dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
cmp eax, 0xb
jb 0x411de0
mov eax, dword [str.5716f8210a0744e3ba86f9d57d14207c]
mov dword [esp + 0xc], 0x21e19dda
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp + 0xc0], 0
mov ecx, dword [esp + 0xc0]
cmp ecx, 6
ja 0x411edb
nop
nop
nop
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0xc9c5aec9
mov ebx, ecx
xor ebx, 0x363a5136
or ecx, 0x49c5aec9
and ecx, ebx
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, 0xed
and ecx, 0x12
sub ecx, edx
mov edx, dword [esp + 0xc0]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
cmp ecx, 7
jb 0x411e70
mov ecx, dword [str.BVnUqo___zenvolord4]
mov dword [esp + 0x228], 0x865aaaa7
mov dword [esp + 0x22c], 0xac5eaca9
mov dword [esp + 0x230], 0x5453a05b
mov dword [esp + 0x234], 0xdba5a2ab
mov dword [esp + 0x238], 0xb664986a
mov dword [esp + 0x23c], 0xd3a2a5ac
mov dword [esp + 0x240], 0xbe929468
mov byte [esp + 0x244], 0xf8
mov word [esp + 0x245], 0
mov byte [esp + 0x247], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0x1f
ja 0x411fbe
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x228]
mov ebx, esi
xor ebx, 0x60c943d1
and esi, 0xe0c943d1
lea esi, [ebx + esi*2]
mov ebx, esi
add esi, edx
not edx
or ebx, edx
sub edx, ebx
lea edx, [esi + edx*2]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xc0]
mov esi, edx
not esi
and esi, 0x15
and edx, 0xea
sub edx, esi
mov esi, dword [esp]
mov byte [esp + esi + 0x228], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x20
jb 0x411f60
movzx edx, byte [esp + 0x228]
test dl, dl
je 0x411feb
lea edi, [esp + 0xc0]
lea esi, [esp + 0x229]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x411fe0
mov byte [edi], 0
movzx edx, byte [ecx]
test dl, dl
lea ebx, [esp + 0x228]
je 0x41200b
inc ecx
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x412000
mov byte [edi], 0
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x41202b
lea edx, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412020
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x41204b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x412040
mov byte [edi], 0
movzx eax, byte [esp + 0x1c]
test al, al
je 0x41206b
lea ecx, [esp + 0x1d]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x412060
mov byte [edi], 0
movzx eax, byte [0x44f390]
test al, al
je 0x412091
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edi + ecx], al
movzx eax, byte [ecx + 0x44f391]
inc ecx
test al, al
jne 0x412080
add edi, ecx
mov byte [edi], 0
mov dword [esp + 0x228], 0x29bb2b61
mov dword [esp + 0x22c], 0x2dba2fba
mov dword [esp + 0x230], 0x51c05347
mov dword [esp + 0x234], 0x550557c4
mov dword [esp + 0x238], 0x59c55b20
mov dword [esp + 0x23c], 0x5d355fc8
mov dword [esp + 0x240], 0x41624302
mov dword [esp + 0x244], 0x45d64727
mov dword [esp + 0x248], 0x49264bd4
mov dword [esp + 0x24c], 0x4d2b4f27
mov dword [esp + 0x250], 0x71e6732b
mov dword [esp + 0x254], 0x75e7771f
mov dword [esp + 0x258], 0x792b7be6
mov dword [esp + 0x25c], 0x7d2d7fe0
mov dword [esp + 0x260], 0x61fb63e5
mov dword [esp + 0x264], 0x653567f9
mov dword [esp + 0x268], 0x69fb6b0e
mov dword [esp + 0x26c], 0x6dfd6ffe
mov dword [esp + 0x270], 0x9109933f
mov dword [esp + 0x274], 0x95fa9706
mov dword [esp + 0x278], 0x99089bff
mov dword [esp + 0x27c], 0x9d0f9ffd
mov dword [esp + 0x280], 0x81e983f8
mov dword [esp + 0x284], 0x85b587e4
mov dword [esp + 0x288], 0x898a8b8a
mov byte [esp + 0x28e], 0
mov word [esp + 0x28c], 0
lea eax, [esp + 0xc0]
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x66
ja 0x412232
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x228]
mov esi, ecx
xor esi, 0x212289b7
and ecx, 0x212289b7
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
not edx
and edx, 0x93
and ecx, 0x6c
sub ecx, edx
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x228], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x67
jb 0x4121e0
sub edi, eax
mov dword [esp + 0x1c], 0x13f311c7
mov dword [esp + 0x20], 0x1ff71d8c
mov word [esp + 0x24], 0x1918
mov dword [esp + 0x26], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xd
ja 0x4122ad
nop
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 + 0x1c]
lea esi, [ecx + edx]
add esi, 0xc9376644
add ecx, 0xc9376644
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0xac
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe
jb 0x412270
lea ecx, [esp + 0xb4]
lea edx, [esp + 0xa8]
lea esi, [esp + 0x1c]
push ecx
push edx
push edi
push eax
push ebx
push esi
push 0x44f3f0
call fcn.0040ff20
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x44a5bc]
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xa8]
lea eax, [ecx + ecx*2]
shr eax, 2
movzx edx, byte [esi + ecx - 1]
cmp edx, 0x3d
je 0x4122ff
cmp edx, 0x2e
jne 0x412300
dec eax
movzx ecx, byte [esi + ecx - 2]
cmp ecx, 0x3d
je 0x41230f
cmp ecx, 0x2e
jne 0x412310
dec eax
push eax
call fcn.0040c990
add esp, 4
mov edi, eax
push eax
push esi
call fcn.0043b690
add esp, 8
push dword [esp + 0xa8]
call fcn.0043df90
add esp, 4
push edi
call fcn.00403ba0
add esp, 4
mov esi, eax
jmp dword [0x44a5c4]
jmp dword [0x44a5d0]
push edi
call fcn.0040c9a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a5d8]
jmp dword [0x44a5e0]
push dword [esp + 0xa4]
call fcn.00404c30
add esp, 4
jmp case.0x410cb2.30
lea ecx, [esp + 0x228]
push 1
call fcn.0040d380
mov eax, 0xffffffff
nop
nop
nop
nop
cmp byte [eax + 0x44f6f9], 0
lea eax, [eax + 1]
jne 0x4123a0
lea ecx, [eax + 0x44f6f8]
mov edx, 0x44f6f8
mov eax, 0x44f6f8
not eax
and eax, ecx
add eax, eax
mov dword [esp + 0x1c], 0xeec4f8d8
mov dword [esp + 0x20], 0xd5eeb5f9
mov dword [esp + 0x24], 0x5fd0
xor ecx, edx
sub eax, ecx
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xb
ja 0x412432
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
mov esi, edx
not esi
or esi, 0x7f1e2819
add esi, edx
xor edx, 0x7f1e2819
lea edx, [edx + esi*2]
add edx, 2
xor edx, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
add cl, 0x83
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xc
jb 0x4123f0
lea esi, [esp + 0x228]
mov ecx, esi
push eax
push 0x44f6f8
lea eax, [esp + 0x24]
push eax
call fcn.0040d580
mov ecx, esi
call fcn.0040dce0
mov ecx, esi
call fcn.0040d3c0
xor eax, eax
cmp dword [esp + 0xa0], 0
setg al
jmp dword [eax*4 + 0x44a5fc]
push 0
call fcn.00443ca0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a604]
mov dword [esp + 0x1c], 0x29992b81
mov dword [esp + 0x20], 0x2d5c2f8c
mov dword [esp + 0x24], 0x318a3387
mov dword [esp + 0x28], 0x3556379b
mov dword [esp + 0x2c], 0x398f3b52
mov dword [esp + 0x30], 0x3d993f8c
mov dword [esp + 0x34], 0x1b6038a
mov dword [esp + 0x38], 0x5770760
mov dword [esp + 0x3c], 0x9a50bb7
mov dword [esp + 0x40], 0xd6e0fba
mov dword [esp + 0x44], 0x11a113a9
mov dword [esp + 0x48], 0x156417b4
mov dword [esp + 0x4c], 0x19a21bbf
mov dword [esp + 0x50], 0x1d7e1fb3
mov dword [esp + 0x54], 0x6113637a
mov dword [esp + 0x58], 0x650667c5
mov dword [esp + 0x5c], 0x69c56bd0
mov dword [esp + 0x60], 0x6dc56fdb
mov dword [esp + 0x64], 0x71c973dd
mov dword [esp + 0x68], 0x751677c4
mov dword [esp + 0x6c], 0x79ce7b05
mov dword [esp + 0x70], 0x7d0b7f18
mov dword [esp + 0x74], 0x4133431c
mov dword [esp + 0x78], 0x45f747f2
mov dword [esp + 0x7c], 0x49fc4be2
mov dword [esp + 0x80], 0x4de94fe3
mov dword [esp + 0x84], 0x513253e1
mov dword [esp + 0x88], 0x5536573a
mov dword [esp + 0x8c], 0x59f15bf0
mov dword [esp + 0x90], 0x5d3e5ff4
mov dword [esp + 0x94], 0xa1a2a33a
mov dword [esp + 0x98], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x7f
ja 0x412603
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x1c]
mov esi, edx
xor esi, 0x1c438a07
and edx, 0x1c438a07
lea edx, [esi + edx*2]
lea esi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [esi + ecx*2]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x228]
add cl, 0xdd
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x1c], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x80
jb 0x4125b0
movzx ecx, word [esp + 0x1c]
test cx, cx
je 0x412631
lea ebx, [esp + 0x228]
lea edx, [esp + 0x1e]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x412620
mov word [ebx], 0
movzx ecx, word [eax]
test cx, cx
je 0x412661
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x412650
mov dword [ebx], 0x220022
mov dword [ebx + 4], 0x22
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 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], 0
mov dword [esp + 0x1c], 0x44
mov dword [esp + 0x48], 1
push 0xc9be8534
push dword [0x4506f8]
call fcn.00443d90
add esp, 8
lea ecx, [esp + 0xc]
lea edx, [esp + 0x228]
push ecx
lea ecx, [esp + 0x20]
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 + 0x44a60c]
mov eax, dword [esp + 0xc]
mov dword [esp], 0x80b0a0d
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 7
ja 0x4127c9
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx esi, byte [esp + edx]
mov edx, ecx
xor edx, 0x9f6bee83
and ecx, 0x1f6bee83
lea edx, [edx + ecx*2]
lea ecx, [edx + esi]
and edx, esi
mov esi, ecx
not esi
and esi, edx
mov edi, edx
not edi
and ecx, edi
sub ecx, esi
xor edx, ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
mov edx, ecx
xor edx, 0x8f
and ecx, 0x70
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 8
jb 0x412760
mov ecx, dword [0x450704]
test ecx, ecx
je case.0x412466.4
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x450708]
cmp dword [edi + esi*8], 0x625b6034
je 0x4127ee
inc esi
cmp ecx, esi
jne 0x4127de
jmp case.0x412466.4
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x412466.4
push eax
push 1
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x10
jmp case.0x412466.0
push esi
call fcn.00404c30
add esp, 4
xor eax, eax
cmp dword [esp + 0x9c], 0
setg al
jmp dword [eax*4 + 0x44a5f4]
xor eax, eax
cmp dword [esp + 0x9c], 0
setg al
jmp dword [eax*4 + 0x44a5f4]
xor eax, eax
cmp dword [esp + 0xa0], 0
setg al
jmp dword [eax*4 + 0x44a5fc]
lea ecx, [esp + 0xa28]
call fcn.0040d3c0
lea ecx, [esp + 0xb10]
call fcn.0040d3c0
lea ecx, [esp + 0xb78]
call fcn.0040d3c0
lea ecx, [esp + 0xbe0]
call fcn.0040d3c0
lea ecx, [esp + 0xc48]
call fcn.0040d3c0
lea ecx, [esp + 0x1c0]
call fcn.0040d3c0
mov al, 1
jmp 0x41192d
push esi
call fcn.00415ce0
add esp, 4
push esi
call fcn.00415ce0
add esp, 4
jmp dword [0x44a5e8]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44a5ec]
int3
mov dword [esp + 0x40], edi
jmp 0x412988
mov esi, dword [esp + 0x124]
inc esi
push edi
call fcn.00404bf0
add esp, 4
xor ecx, ecx
cmp esi, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x44a61c]
mov dword [esp + 0x124], esi
push esi
push edi
call fcn.00404c00
add esp, 8
mov esi, eax
mov word [esp + 0x98], 0x39ac
mov dword [esp + 0x9a], 0
mov byte [esp + 0x9e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x412a1f
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xa94915ca
and eax, 0x294915ca
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb case.default.0x412a39
push 3
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a624]
mov word [esp + 0x98], 0x1f4
lea eax, [esp + 0x9a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x412aaf
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xbdc58ac0
and eax, 0x3dc58ac0
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x40
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x412a70
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404570
add esp, 8
fnstcw word [esp + 0x10c]
movzx eax, word [esp + 0x10c]
or eax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x10c]
mov eax, dword [esp + 0x138]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x44a62c]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x44a634]
sete al
movzx eax, al
jmp dword [eax*4 + 0x44a63c]
jmp dword [0x44a6e0]
push 2
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
jmp dword [0x44a6e4]
mov word [esp + 0x98], 0xc9a3
lea eax, [esp + 0x9a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 6
ja 0x412bd0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xea6ecf4e
and eax, 0xea6ecf4e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, eax
not ecx
and ecx, 0x86
and eax, 0x79
sub eax, ecx
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x98], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 7
jb 0x412c20
jmp 0x412bd0
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x44a644]
mov word [esp + 0x98], 0x71c0
mov dword [esp + 0x9a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x412d07
nop
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 + 0x98]
mov edx, eax
xor edx, 0x2cb48594
and eax, 0x2cb48594
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x1c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x412cc0
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov edi, eax
mov word [esp + 0x98], 0x890e
mov dword [esp + 0x9a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x412d7f
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0x9778ef1e
and eax, 0x1778ef1e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x6a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x412d40
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x44a7fc]
mov dword [esp + 0x10], eax
mov edx, eax
mov ecx, edi
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x412db0
mov dword [esp + 0x18], edx
mov ecx, eax
xor ecx, edi
mov ebx, edi
not ebx
and ebx, eax
add ebx, ebx
sub ebx, ecx
mov edx, edi
add edx, ebx
xor esi, esi
mov dword [esp + 0x34], ebx
test ebx, ebx
mov dword [esp + 0x14], edx
jle 0x412e21
cmp byte [edi], 0
je 0x412e21
xor esi, esi
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
push edx
push ebx
call fcn.00411290
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [ebx + eax]
inc esi
cmp ecx, edx
jae 0x412e21
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x412df0
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x412e2f
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x98], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov edx, dword [esp + 0x18]
jae 0x4135b0
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x34], 0
jle 0x4135b0
mov esi, dword [esp + 0x24]
nop
cmp byte [edi], 0
je 0x4135b0
lea eax, [esp + 0x98]
push eax
mov ebx, dword [esp + 0x18]
push ebx
push edi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x1c]
jae 0x4135ac
add edi, eax
cmp edi, ebx
mov edx, dword [esp + 0x18]
jb 0x412e70
jmp 0x4135b0
mov word [esp + 0x98], 0x19a8
lea eax, [esp + 0x9a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x412f2f
nop
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 + 0x98]
mov edx, eax
xor edx, 0x1ac898fa
and eax, 0x1ac898fa
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x1e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x412ef0
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x1c], eax
mov word [esp + 0x98], 0x49ce
lea eax, [esp + 0x9a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x412fb8
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
mov edx, ecx
xor edx, 0x14f9ce0e
add ecx, ecx
and ecx, 0x29f39c1c
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0xba
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb case.default.0x412fe2
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov edi, eax
mov edx, dword [esp + 0x1c]
test edx, edx
sete al
test edi, edi
sete cl
or cl, al
movzx eax, cl
mov dword [esp + 0x14], edi
jmp dword [eax*4 + 0x44a884]
mov ecx, edx
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x412ff0
mov ecx, eax
xor ecx, edx
mov esi, edx
not esi
and esi, eax
add esi, esi
sub esi, ecx
mov eax, edx
add eax, esi
mov dword [esp + 0x10], eax
xor ebx, ebx
mov dword [esp + 0x34], esi
test esi, esi
jle 0x413061
cmp byte [edx], 0
mov edx, dword [esp + 0x10]
je 0x413061
xor ebx, ebx
mov esi, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
push edx
push esi
call fcn.00411290
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esi + eax]
inc ebx
cmp ecx, edx
jae 0x413061
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x413030
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x41306f
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x98], 0
lea ecx, [eax + ebx*2]
mov ebx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
jae 0x413ec9
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x34], 0
jle 0x413ec9
mov ebx, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x413ec9
lea eax, [esp + 0x98]
push eax
push edx
push esi
mov edi, edx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x18]
jae 0x413ec5
add esi, eax
cmp esi, edi
mov edx, edi
mov edi, dword [esp + 0x14]
jb 0x4130c0
jmp 0x413ec9
sete al
movzx eax, al
jmp dword [eax*4 + 0x44a64c]
mov word [esp + 0x98], 0x8b3c
lea eax, [esp + 0x9a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x41318a
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
mov edx, ecx
xor edx, 0x9c453fe3
and ecx, 0x1c453fe3
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x91
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x413140
push 2
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a654]
mov word [esp + 0x48], 0x67f3
lea eax, [esp + 0x4a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 4
ja 0x41320e
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x65e38d19
and eax, 0xe5e38d19
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x83
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 5
jb case.default.0x413225
push 5
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a65c]
mov word [esp], 0x21aa
mov dword [esp + 2], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 5
ja 0x41328c
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0xf1b08a78
and eax, 0xf1b08a78
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xa8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 6
jb 0x413250
push 2
lea eax, [esp + 4]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a664]
mov word [esp + 0x28], 0x96c
mov dword [esp + 0x2a], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 5
ja 0x413317
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x28]
mov edx, ecx
xor edx, 0x4edeb902
add ecx, ecx
and ecx, 0x9dbd7204
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
add al, 0xf6
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 6
jb 0x4132d0
push 3
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x40]
jmp dword [ecx*4 + 0x44a66c]
jmp case.0x412b00.4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a6ec]
mov word [esp + 0x48], 0x39a8
lea eax, [esp + 0x4a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 7
ja 0x4133be
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xa82933ca
and eax, 0x282933ca
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xe
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 8
jb 0x413380
push 2
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a6f4]
mov word [esp], 0x27b3
lea eax, [esp + 2]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 7
ja 0x413451
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx]
lea edx, [eax + ecx]
add edx, 0x3866fcb9
add eax, 0x3866fcb9
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x63
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 8
jb 0x413410
push 5
lea eax, [esp + 4]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a6fc]
mov dword [esp + 0x114], 0x98e
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x4134d4
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x114]
mov edx, eax
xor edx, 0x36d227e
and eax, 0x36d227e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x8a
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x114], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0x413490
push 2
lea eax, [esp + 0x118]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a704]
mov word [esp + 0x28], 0x9904
mov dword [esp + 0x2a], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 5
ja 0x413585
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + ecx + 0x28]
mov ecx, eax
or ecx, 0xadbdfad9
mov edi, eax
not edi
or edi, 0x52420526
and edi, ecx
not edi
and eax, 0xd2420526
lea ecx, [edi + eax*2]
lea eax, [ecx + edx]
and ecx, edx
mov edx, eax
not edx
and edx, ecx
mov edi, ecx
not edi
and eax, edi
sub eax, edx
xor ecx, eax
and eax, edi
add eax, eax
sub eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x42
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 6
jb 0x413520
push 3
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [esp + 0x40]
jmp dword [ecx*4 + 0x44a70c]
jmp case.0x412b00.4
mov edx, dword [esp + 0x18]
mov word [esi], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax], 0
lea eax, [eax + 1]
jne 0x4135c0
mov ecx, dword [esp + 0x10]
add eax, ecx
dec eax
mov edi, ecx
not edi
and edi, eax
xor eax, ecx
add edi, edi
sub edi, eax
add ecx, edi
mov dword [esp + 0x10], ecx
xor esi, esi
mov dword [esp + 0x1c], edi
test edi, edi
jle 0x413631
cmp byte [edx], 0
je 0x413631
xor esi, esi
mov ebx, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
mov edi, dword [esp + 0x14]
push edi
push ebx
call fcn.00411290
add esp, 0xc
lea ecx, [ebx + eax]
inc esi
cmp ecx, edi
jae 0x413631
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x413600
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41363f
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x98], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x18]
jae 0x4136b5
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x1c], 0
jle 0x4136b5
mov esi, dword [esp + 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x4136b5
lea eax, [esp + 0x98]
push eax
mov edi, dword [esp + 0x14]
push edi
push ebx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x14]
jae 0x4136b5
add ebx, eax
cmp ebx, edi
jb 0x413680
mov word [esi], 0
mov dword [esp], 0xfa739f
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x413733
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x764d7eff
and eax, 0xf64d7eff
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 5
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x4136e0
mov eax, esp
push eax
push dword [ebp + 8]
call fcn.004046a0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x18], eax
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
jmp dword [ecx*4 + 0x44a804]
lea esi, [esp + 0x98]
mov ecx, esi
push 2
call fcn.0040d380
push dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
push edi
push dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
push ebx
push esi
call fcn.0041a860
add esp, 0x14
mov ecx, esi
call fcn.0040dce0
movzx eax, al
jmp dword [eax*4 + 0x44a844]
mov eax, dword [esp + 0x9c]
shr eax, 0xa
push 0xa
push 0xb
lea ecx, [esp + 8]
push ecx
push eax
call fcn.00419c30
add esp, 0x10
mov dword [esp + 0x28], 0x998cd5c9
mov byte [esp + 0x2c], 0
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x38]
cmp ecx, 4
ja 0x413820
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x38]
movzx edx, byte [esp + edx + 0x28]
mov esi, ecx
xor esi, 0x5cc2211b
and ecx, 0xdcc2211b
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
add cl, 0x79
mov edx, dword [esp + 0x38]
mov byte [esp + edx + 0x28], cl
inc dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
cmp ecx, 5
jb 0x4137e0
mov dword [esp + 0x48], 0x6968646f
mov dword [esp + 0x4c], 0x33776b67
mov dword [esp + 0x50], 0x6b77707a
mov dword [esp + 0x54], 0x673a7171
mov dword [esp + 0x58], 0xa19396b
mov dword [esp + 0x5c], 0xc420916
mov dword [esp + 0x60], 0x1a1d1f08
mov dword [esp + 0x64], 0x4b1f1005
mov dword [esp + 0x68], 0x190818
mov dword [esp + 0x6c], 0xf520919
mov dword [esp + 0x70], 0x17025103
mov dword [esp + 0x74], 0x16055d11
mov dword [esp + 0x78], 0x392b0306
mov dword [esp + 0x7c], 0x303e6570
mov dword [esp + 0x80], 0x6f3a203c
mov dword [esp + 0x84], 0x3c252c3c
mov dword [esp + 0x88], 0x28763525
mov dword [esp + 0x8c], 0x553f133d
mov word [esp + 0x90], 0x9170
lea ecx, [esp + 0x4a]
mov byte [ecx + 0x4a], 0
mov word [ecx + 0x48], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 0x4c
ja 0x413941
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
movzx edx, byte [esp + edx + 0x48]
mov esi, ecx
xor esi, 0xf2e393ae
and ecx, 0xf2e393ae
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x38]
add cl, 0x9a
mov edx, dword [esp + 0x20]
mov byte [esp + edx + 0x48], cl
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, 0x4d
jb 0x4138f0
lea ecx, [0x44f6f7]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x413950
movzx edx, byte [esp + 0x48]
test dl, dl
je 0x41397f
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + esi], dl
movzx edx, byte [esp + esi + 0x49]
inc esi
test dl, dl
jne 0x413970
add ecx, esi
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
je 0x41399b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x413990
mov byte [ecx], 0
movzx eax, byte [esp + 0x28]
test al, al
je 0x4139bb
lea edx, [esp + 0x29]
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4139b0
mov byte [ecx], 0
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44a84c]
jmp dword [0x44a864]
push dword [esp + 0x30]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a86c]
push dword [esp + 0x18]
call fcn.00404bf0
add esp, 4
mov ecx, eax
mov dword [esp + 0x1c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x413a11
mov esi, eax
test dl, dl
jne 0x413a17
mov ecx, esi
push ecx
call fcn.0040c990
add esp, 4
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x44a80c]
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
lea esi, [eax + ecx*4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov byte [eax + 8], 0
lea ecx, [eax + 0xc]
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x44a814]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x44a814]
jmp dword [0x44a828]
mov dword [esp + 0x14], eax
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x44a82c]
inc esi
xor eax, eax
cmp esi, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x44a82c]
jmp dword [0x44a834]
mov dword [esp + 0x10], esi
push esi
push dword [esp + 0x1c]
call fcn.00404c00
add esp, 8
mov esi, eax
mov word [esp + 0x98], 0xab9d
mov byte [esp + 0x9a], 0x3e
lea eax, [esp + 0x9a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x413b5f
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0x8f460aca
and eax, 0xf460aca
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x413b20
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x34], eax
mov dword [esp], 0x8a0d37
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
mov edi, dword [esp + 0x14]
ja 0x413bd2
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x83c1c3e3
and eax, 0x3c1c3e3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0x91
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x413b90
mov eax, esp
push eax
push esi
call fcn.00404440
add esp, 8
mov ebx, eax
mov dword [esp], 0x61c4fbf0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x413c42
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x7f258c19
and eax, 0xff258c19
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0x83
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x413c00
mov eax, esp
push eax
push esi
call fcn.004047d0
add esp, 8
xor edx, edx
test eax, eax
setg dl
mov esi, dword [esp + 0x10]
lea eax, [esi + esi*2]
lea ecx, [edi + eax*4]
push edx
push dword [esp + 0x38]
push ebx
call fcn.00419a90
jmp case.0x4153b2.62
mov eax, esp
push eax
push esi
call fcn.004047d0
add esp, 8
xor edx, edx
test eax, eax
setg dl
mov esi, dword [esp + 0x10]
lea eax, [esi + esi*2]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + eax*4]
push edx
push ebx
push edi
call fcn.00419a90
jmp dword [0x44a83c]
mov dword [esp + 0x10], esi
push esi
push dword [esp + 0x1c]
call fcn.00404c00
add esp, 8
mov esi, eax
mov word [esp + 0x98], 0xab9d
mov byte [esp + 0x9a], 0x3e
lea eax, [esp + 0x9a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x413d2f
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 + 0x98]
mov edx, eax
xor edx, 0x8f460aca
and eax, 0xf460aca
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x413cf0
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov ebx, eax
mov dword [esp], 0x8a0d37
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x413da2
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x83c1c3e3
and eax, 0x3c1c3e3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0x91
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x413d60
mov eax, esp
push eax
push esi
call fcn.00404440
add esp, 8
mov edi, eax
mov dword [esp], 0x61c4fbf0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x413c70
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x7f258c19
and eax, 0xff258c19
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0x83
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x413dd0
jmp 0x413c70
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44a84c]
lea esi, [edi - 4]
mov eax, dword [edi - 4]
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a854]
push esi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a864]
jmp dword [0x44a86c]
push ebx
call fcn.0040c9a0
add esp, 4
lea ecx, [esp + 0x98]
call fcn.0040d3c0
mov eax, dword [case.0x412b00.4]
mov edi, dword [esp + 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
add edi, 0xfffffff4
xor eax, eax
cmp edi, dword [esp + 0x14]
sete al
jmp dword [eax*4 + 0x44a85c]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x413eb3
push eax
call fcn.0040c9a0
add esp, 4
mov eax, dword [edi - 8]
test eax, eax
je 0x413e90
push eax
call fcn.0040c9a0
add esp, 4
jmp 0x413e90
mov edi, dword [esp + 0x14]
mov word [ebx], 0
xor eax, eax
cmp byte [edi + eax], 0
lea eax, [eax + 1]
jne 0x413ed0
add eax, edi
dec eax
mov ebx, edi
not ebx
and ebx, eax
xor eax, edi
add ebx, ebx
sub ebx, eax
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x413ef6
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x30], eax
lea ecx, [eax + ebx*2]
add ecx, 2
test edi, edi
jne 0x413f2b
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ebx
jne 0x413f20
mov dword [esp + 0x98], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0x30]
mov esi, eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x413f91
mov esi, dword [esp + 0x30]
test ebx, ebx
jle 0x413f91
mov eax, edi
add eax, ebx
mov ebx, eax
mov esi, dword [esp + 0x30]
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x413f91
lea eax, [esp + 0x98]
push eax
push ebx
push edi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x413f91
add edi, eax
cmp edi, ebx
jb 0x413f60
mov word [esi], 0
mov word [esp + 0x98], 0xe3ef
mov byte [esp + 0x9a], 0x7a
lea eax, [esp + 0x9a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x41402d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
not edx
or edx, 0x16c4356b
add edx, eax
xor eax, 0x96c4356b
lea esi, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 2
lea edx, [ecx + esi]
add edx, 2
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xe9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x413fd0
lea eax, [esp + 0x98]
push eax
push dword [ebp + 8]
call fcn.004046a0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x34], eax
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp dword [ecx*4 + 0x44a88c]
lea esi, [esp + 0x98]
mov ecx, esi
push 3
call fcn.0040d380
push dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
push edi
push dword [esp + 0x38]
push dword [esp + 0x30]
push esi
call fcn.0041f260
add esp, 0x14
mov ecx, esi
call fcn.0040dce0
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44a8ac]
mov edx, edi
lea esi, [edi - 4]
mov eax, dword [edi - 4]
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a8b4]
push esi
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a8c4]
jmp dword [0x44a8dc]
push dword [esp + 0x30]
call fcn.0040c9a0
add esp, 4
lea ecx, [esp + 0x98]
call fcn.0040d3c0
mov eax, dword [case.0x412b00.4]
mov edi, dword [esp + 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44a900]
add edi, 0xfffffff4
xor eax, eax
cmp edi, edx
sete al
jmp dword [eax*4 + 0x44a8bc]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x414120
push eax
call fcn.0040c9a0
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x414120
push dword [esp + 0x34]
call fcn.00404bf0
add esp, 4
mov ecx, eax
mov dword [esp + 0x1c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x414174
mov esi, eax
test dl, dl
jne 0x41417a
mov ecx, esi
push ecx
call fcn.0040c990
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x18], eax
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x44a894]
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x18]
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 + 0x44a89c]
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 + 0x44a89c]
xor ecx, ecx
xor eax, eax
cmp ecx, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x44a8a4]
mov word [esi], 0
mov ecx, dword [esp + 0x14]
inc ecx
xor eax, eax
cmp ecx, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x44a8a4]
mov dword [esp + 0x14], ecx
push ecx
push dword [esp + 0x38]
call fcn.00404c00
add esp, 8
mov esi, eax
mov word [esp + 0x98], 0xd9d7
mov byte [esp + 0x9a], 0x4a
mov dword [esp + 0x9b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x4142bf
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xd41aae73
and eax, 0xd41aae73
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xc1
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x414280
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x10], eax
mov dword [esp], 0x4ec7ad
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x41433c
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x6f4fb392
mov edi, eax
xor edi, 0x10b04c6d
or eax, 0x6f4fb392
and eax, edi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0x26
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x4142f0
mov eax, esp
push eax
push esi
call fcn.00404440
add esp, 8
mov ebx, eax
mov word [esp + 0x98], 0xadbd
mov byte [esp + 0x9a], 0x1e
mov dword [esp + 0x9b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x4143bf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0x5609517a
and eax, 0xd609517a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x9e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x414380
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x18]
mov dword [edx + ecx*4], 0
mov esi, dword [esp + 0x10]
mov dword [edx + ecx*4 + 4], esi
mov dword [edx + ecx*4 + 8], eax
lea eax, [edx + ecx*4]
mov dword [esp + 0x10], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jne 0x414400
add eax, ebx
dec eax
mov edi, ebx
not edi
and edi, eax
xor eax, ebx
add edi, edi
sub edi, eax
mov eax, edi
inc eax
jns 0x414430
mov eax, 0xffffffff
jmp 0x414437
lea eax, [edi*2 + 2]
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x10]
mov dword [eax], esi
mov eax, edi
test ebx, ebx
jne 0x41446b
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ecx + 1]
cmp byte [ecx + 1], 0
mov ecx, eax
jne 0x414460
lea ecx, [esi + edi*2]
add ecx, 2
mov dword [esp + 0x98], 0
add ecx, 0xfffffffe
mov dword [esp + 0x10], ecx
cmp esi, ecx
jae 0x414220
test eax, eax
jle 0x414220
mov edi, ebx
add edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x414220
lea eax, [esp + 0x98]
push eax
push edi
push ebx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x414220
add ebx, eax
cmp ebx, edi
jb 0x4144a0
jmp 0x414220
jmp dword [0x44a8c4]
push dword [esp + 0x24]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a8dc]
mov word [esp + 0x38], 0xaaba
mov byte [esp + 0x3a], 0x26
mov word [esp + 0x3b], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 4
ja 0x41458d
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x38]
lea edx, [ecx + ecx]
and edx, 0x3d433172
mov edi, ecx
xor edi, 0x615e6746
mov ebx, ecx
or ebx, 0x1ea198b9
and ebx, edi
sub ecx, edx
lea edx, [ecx + ebx*2]
lea ecx, [ecx + ebx*2]
add ecx, 0x1ea198b9
add edx, eax
add edx, 0x1ea198b9
and ecx, eax
mov eax, edx
not eax
and eax, ecx
add eax, ecx
not ecx
and ecx, edx
sub ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
add al, 0x63
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 5
jb 0x414520
push 3
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
mov edi, dword [esp + 0x40]
jmp dword [ecx*4 + 0x44a674]
mov word [esp + 0x98], 0x39a8
lea eax, [esp + 0x9a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x414628
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
mov edx, ecx
xor edx, 0x5e6960ca
add ecx, ecx
and ecx, 0xbcd2c194
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x4145e0
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x1c], eax
mov word [esp + 0x98], 0x47d3
lea eax, [esp + 0x9a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x4146c7
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xf13be091
and eax, 0xf13be091
lea edx, [edx + eax*2]
lea eax, [edx + ecx]
mov edi, ecx
not edi
or edi, edx
add ecx, edi
inc ecx
sub eax, ecx
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0x2b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x414670
lea eax, [esp + 0x98]
push eax
push esi
call fcn.004046a0
add esp, 8
mov dword [esp + 0x34], eax
mov word [esp + 0x98], 0xe76e
mov dword [esp + 0x9a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x414741
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
lea edx, [eax + ecx]
add edx, 0xec90ec29
add eax, 0xec90ec29
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
add al, 0x33
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x414700
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp], 0x71ec
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x4147b2
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0xce6cc26c
and eax, 0xce6cc26c
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0xe4
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x414770
mov eax, esp
push eax
push esi
call fcn.00404570
add esp, 8
mov word [esp + 0x98], 0x9682
mov byte [esp + 0x9a], 0x16
mov dword [esp + 0x9b], 0
fnstcw word [esp + 0x112]
movzx eax, word [esp + 0x112]
or eax, 0xc00
mov word [esp + 0x122], ax
fldcw word [esp + 0x122]
fistp dword [esp + 0x134]
fldcw word [esp + 0x112]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x24], eax
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x41486f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0xab66e2c6
and eax, 0x2b66e2c6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x22
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x414830
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404570
add esp, 8
mov word [esp + 0x98], 0xa3aa
mov byte [esp + 0x9a], 0xce
lea eax, [esp + 0x9a]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
fnstcw word [esp + 0x110]
movzx eax, word [esp + 0x110]
or eax, 0xc00
mov word [esp + 0x120], ax
fldcw word [esp + 0x120]
fistp dword [esp + 0x130]
fldcw word [esp + 0x110]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x100], eax
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x414955
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
lea edx, [ecx + ecx]
and edx, 0x6caf549a
mov edi, ecx
xor edi, 0x49a855b2
mov ebx, ecx
or ebx, 0x3657aa4d
and ebx, edi
sub ecx, edx
lea ecx, [ecx + ebx*2]
add ecx, 0x3657aa4d
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0x7f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x414900
lea eax, [esp + 0x98]
push eax
push esi
call fcn.004047d0
add esp, 8
mov dword [esp + 0x104], eax
xor eax, eax
mov ecx, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
jne 0x414980
add eax, ecx
dec eax
mov edx, ecx
not edx
and edx, eax
xor eax, ecx
add edx, edx
sub edx, eax
mov ebx, ecx
add ebx, edx
xor edi, edi
mov dword [esp + 0x30], edx
test edx, edx
jle 0x4149ed
cmp byte [ecx], 0
je 0x4149ed
xor edi, edi
mov esi, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
push ebx
push esi
call fcn.00411290
add esp, 0xc
lea ecx, [esi + eax]
inc edi
cmp ecx, ebx
jae 0x4149ed
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x4149c0
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4149fb
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x98], 0
lea ecx, [eax + edi*2]
mov esi, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov ecx, dword [esp + 0x1c]
jae 0x414fb6
mov esi, dword [esp + 0x44]
cmp dword [esp + 0x30], 0
jle 0x414fb6
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], edi
nop
cmp byte [ecx], 0
je 0x414fb6
lea eax, [esp + 0x98]
push eax
push ebx
push ecx
mov edi, ebx
mov ebx, ecx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x414fb2
add ebx, eax
cmp ebx, edi
mov ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0x14]
jb 0x414a40
jmp 0x414fb6
mov word [esp + 0x38], 0x626e
mov byte [esp + 0x3a], 0xf2
lea eax, [esp + 0x3b]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 5
ja 0x414b0f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x38]
mov edx, eax
xor edx, 0xe98e6fac
and eax, 0xe98e6fac
lea eax, [edx + eax*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 + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xa4
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 6
jb 0x414ac0
push 3
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44a714]
mov dword [esp], 0x117f
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x414b9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0xff896d84
and eax, 0xff896d84
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov ecx, eax
xor ecx, 0x94
and eax, 0x6b
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x414b50
mov eax, esp
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp], 0x3bac
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x414c12
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0xb2246c0b
and eax, 0x32246c0b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0xc9
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x414bd0
mov eax, esp
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp], 0x4fa3
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 3
ja 0x414c93
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx]
mov edx, eax
xor edx, 0x612f0a0d
and eax, 0xe12f0a0d
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
add al, 0xbf
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 4
jb 0x414c40
mov eax, esp
push eax
push esi
call fcn.004046a0
add esp, 8
mov dword [esp + 0x1c], eax
mov word [esp + 0x98], 0x4fb6
lea eax, [esp + 0x9a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x414d32
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
lea edx, [ecx + ecx]
and edx, 0xb48bdb1a
mov edi, ecx
xor edi, 0x25ba1272
mov ebx, ecx
or ebx, 0x5a45ed8d
and ebx, edi
sub ecx, edx
lea ecx, [ecx + ebx*2]
add ecx, 0xda45ed8d
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
mov ecx, eax
xor ecx, 0xc1
and eax, 0x3e
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x414cd0
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404440
add esp, 8
mov dword [esp + 0x104], eax
mov word [esp + 0x98], 0x61c4
lea eax, [esp + 0x9a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x414dc7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x98]
mov edx, ecx
not edx
or edx, 0x45acc018
add edx, ecx
xor ecx, 0xc5acc018
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
add al, 0x88
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x414d80
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404570
add esp, 8
mov word [esp + 0x98], 0xfaea
mov byte [esp + 0x9a], 0x4e
mov word [esp + 0x9b], 0
fnstcw word [esp + 0x10a]
movzx eax, word [esp + 0x10a]
or eax, 0xc00
mov word [esp + 0x11a], ax
fldcw word [esp + 0x11a]
fistp dword [esp + 0x12c]
fldcw word [esp + 0x10a]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x34], eax
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x414e90
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x98]
mov edx, eax
xor edx, 0x468d22ed
and eax, 0xc68d22ed
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x5f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x98], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x414e40
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404570
add esp, 8
xor eax, eax
mov edx, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx + eax], 0
lea eax, [eax + 1]
jne 0x414eb0
fnstcw word [esp + 0x10e]
movzx ecx, word [esp + 0x10e]
or ecx, 0xc00
mov word [esp + 0x11e], cx
fldcw word [esp + 0x11e]
fistp dword [esp + 0x128]
fldcw word [esp + 0x10e]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x30], ecx
add eax, edx
dec eax
mov ebx, edx
not ebx
and ebx, eax
xor eax, edx
add ebx, ebx
sub ebx, eax
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x414f13
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x14], eax
lea edx, [eax + ebx*2]
add edx, 2
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x414f3e
mov eax, 0xffffffff
lea ebx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ebx
jne 0x414f33
mov dword [esp + 0x98], 0
add edx, 0xfffffffe
mov eax, dword [esp + 0x14]
mov edi, eax
mov dword [esp + 0x10], edx
cmp eax, edx
jae 0x414f9f
mov edi, dword [esp + 0x14]
test ebx, ebx
jle 0x414f9f
mov esi, ecx
add esi, ebx
mov edi, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x414f9f
lea eax, [esp + 0x98]
push eax
push esi
push ecx
mov ebx, ecx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x10]
jae 0x414f9f
add ebx, eax
cmp ebx, esi
mov ecx, ebx
jb 0x414f6a
mov word [edi], 0
lea esi, [esp + 0x48]
mov ebx, dword [esp + 0x14]
jmp dword [0x44a720]
mov edi, dword [esp + 0x14]
mov word [esi], 0
mov eax, esp
push eax
push 0
push 0
push edi
mov ebx, dword [esp + 0x54]
push ebx
push 0
call dword [0x450700]
mov esi, dword [esp]
lea eax, [esi + esi]
test esi, esi
jns 0x414fdf
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov ecx, eax
mov eax, esp
push eax
push esi
mov dword [esp + 0x38], ecx
push ecx
push edi
push ebx
push 0
call dword [0x450700]
jmp dword [0x44a67c]
push ebx
call fcn.0040c9a0
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, edx
jmp 0x415b54
mov edx, dword [esp + 0x18]
mov eax, edx
jmp 0x415b4c
mov eax, dword [esp + 0x38]
add eax, 2
push eax
call fcn.0043def0
add esp, 4
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x98], 0x80b0a0d
mov dword [esp + 0x9c], 0
add edx, 2
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
cmp ecx, 7
ja 0x4150d1
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
movzx ebx, byte [esp + esi + 0x98]
mov esi, ecx
xor esi, 0x9f6bee83
and ecx, 0x1f6bee83
lea edi, [esi + ecx*2]
lea esi, [edi + ebx]
and edi, ebx
mov ecx, esi
not ecx
and ecx, edi
mov ebx, edi
not ebx
and esi, ebx
sub esi, ecx
xor edi, esi
and esi, ebx
add esi, esi
sub esi, edi
mov dword [esp], esi
mov ecx, dword [esp]
mov esi, ecx
xor esi, 0x8f
and ecx, 0x70
add ecx, ecx
sub ecx, esi
mov esi, dword [esp + 0x28]
mov byte [esp + esi + 0x98], cl
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
cmp ecx, 8
jb 0x415068
mov esi, dword [0x450704]
test esi, esi
je case.0x4153b2.3
mov edi, dword [esp + 0x98]
xor ebx, ebx
mov ecx, dword [0x450708]
cmp dword [ecx + ebx*8], 0x1b788dcf
je 0x415101
inc ebx
cmp esi, ebx
jne 0x4150ee
jmp case.0x4153b2.3
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, edi
je case.0x4153b2.3
push 0
push edx
push eax
push 0x2b
push dword [esp + 0x20]
push 5
push dword [0x45070c]
push ecx
call fcn.00441120
add esp, 0x20
jmp case.0x4153b2.3
jmp dword [0x44a68c]
push dword [esp + 0x1c]
call fcn.0040c9a0
add esp, 4
mov edi, dword [esp + 0x40]
jmp dword [0x44a6c4]
jmp dword [0x44a6d0]
mov edi, dword [esp + 0x40]
jmp dword [0x44a6c4]
push dword [esp + 0x30]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a6d0]
mov edi, dword [esp + 0x40]
jmp dword [0x44a72c]
push ebx
call fcn.0040c9a0
add esp, 4
mov ecx, esi
push 0x400
call fcn.0043e2c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a734]
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], 0x80b0a0d
mov dword [esp + 0x9c], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
cmp ecx, 7
ja 0x415232
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
movzx esi, byte [esp + edx + 0x98]
mov edx, ecx
xor edx, 0x9f6bee83
and ecx, 0x1f6bee83
lea edx, [edx + ecx*2]
lea ecx, [edx + esi]
and edx, esi
mov esi, ecx
not esi
and esi, edx
mov edi, edx
not edi
and ecx, edi
sub ecx, esi
xor edx, ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
mov edx, ecx
xor edx, 0x8f
and ecx, 0x70
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x28]
mov byte [esp + edx + 0x98], cl
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
cmp ecx, 8
jb 0x4151c9
mov ecx, dword [esp + 0x98]
mov edx, dword [0x450704]
test edx, edx
je case.default.0x4153b2
xor esi, esi
mov edi, dword [0x450708]
cmp dword [edi + esi*8], 0x1b788dcf
je 0x41525b
inc esi
cmp edx, esi
jne 0x41524b
jmp case.default.0x4153b2
mov edx, dword [edi + esi*8 + 4]
cmp edx, ecx
jne 0x41538b
xor eax, eax
cmp ecx, 0xc0000004
sete al
jmp dword [eax*4 + 0x44a73c]
jmp dword [0x44a748]
mov eax, dword [esp + 0x38]
add eax, 2
push eax
call fcn.0043def0
add esp, 4
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x98], 0x80b0a0d
mov dword [esp + 0x9c], 0
add edx, 2
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, 7
ja 0x41532d
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
movzx edi, byte [esp + esi + 0x98]
mov esi, eax
xor esi, 0x9f6bee83
and eax, 0x1f6bee83
lea esi, [esi + eax*2]
lea eax, [esi + edi]
and esi, edi
mov edi, eax
not edi
and edi, esi
mov ebx, esi
not ebx
and eax, ebx
sub eax, edi
xor esi, eax
and eax, ebx
add eax, eax
sub eax, esi
mov dword [esp], eax
mov eax, dword [esp]
mov esi, eax
xor esi, 0x8f
and eax, 0x70
add eax, eax
sub eax, esi
mov esi, dword [esp + 0x28]
mov byte [esp + esi + 0x98], al
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, 8
jb 0x4152c5
mov eax, dword [esp + 0x98]
mov esi, dword [0x450704]
test esi, esi
je 0x41535e
xor edi, edi
mov ebx, dword [0x450708]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x415356
inc edi
cmp esi, edi
jne 0x415346
jmp 0x41535e
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
jne 0x4153b9
jmp dword [0x44a750]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a754]
mov ebx, dword [esp + 0x24]
mov eax, ebx
not eax
mov dword [esp + 0x14], eax
mov eax, ebx
jmp dword [0x44a75c]
mov esi, ebx
jmp 0x4156ae
lea ecx, [esp + 0x38]
push ecx
push 0
push 0
push 0x2b
push eax
push 5
push dword [0x45070c]
push edx
call fcn.00441120
add esp, 0x20
xor ecx, ecx
cmp eax, 0xc0000004
sete cl
jmp dword [ecx*4 + 0x44a73c]
push 0
push edx
push dword [esp + 0x4c]
push 0x2b
push ecx
push 5
push dword [0x45070c]
push esi
call fcn.00441120
add esp, 0x20
jmp dword [0x44a750]
jmp dword [0x44a7f4]
push dword [esp + 0x100]
call fcn.0040c9a0
add esp, 4
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0040dce0
mov ecx, esi
call fcn.0040d3c0
push dword [esp + 0x44]
call fcn.0043df90
add esp, 4
mov edi, dword [esp + 0x40]
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.0043e480
jmp case.0x412b00.4
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 4]
movzx eax, word [eax]
and eax, 0xfffffffe
add eax, edi
add eax, 0xfffffffe
xor ebx, ebx
cmp eax, edi
setae bl
mov edx, eax
mov ecx, eax
jmp dword [ebx*4 + 0x44a76c]
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
mov edx, eax
jmp dword [ebx*4 + 0x44a774]
xor ebx, ebx
cmp si, 0x5c
sete bl
mov edx, ecx
jmp dword [ebx*4 + 0x44a77c]
add ecx, 0xfffffffe
xor ebx, ebx
cmp ecx, edi
setae bl
mov edx, eax
jmp dword [ebx*4 + 0x44a76c]
mov eax, edx
xor eax, edi
not edi
and edi, edx
add edi, edi
mov ebx, edi
mov dword [esp + 0x14], eax
sub ebx, eax
sar ebx, 1
mov ecx, dword [esp + 0x100]
add ecx, ebx
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x4154aa
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
mov dword [esp + 0x10], eax
cmp edi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
je 0x41556e
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
lea ecx, [ebx - 1]
mov edx, ebx
and edx, 3
je 0x415513
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ecx
xor edi, edi
mov esi, dword [esp + 0x10]
movzx ecx, word [eax]
mov ebx, edx
xor edx, edx
test cx, cx
setne dl
lea eax, [eax + edx*2]
mov edx, ebx
mov word [esi], cx
add esi, 2
inc edi
cmp ebx, edi
jne 0x4154e6
mov ebx, dword [esp + 0x24]
sub ebx, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x415517
mov esi, dword [esp + 0x10]
cmp ecx, 3
jb 0x41556e
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [esi], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [esi + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [esi + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov word [esi + 6], dx
add esi, 8
add ebx, 0xfffffffc
jne 0x41551c
movzx eax, word [edi]
test ax, ax
je 0x4155fe
mov ecx, edi
add ecx, 2
mov ebx, dword [esp + 0x10]
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415583
mov word [esi], 0
jmp dword [0x44a784]
push edi
call fcn.0040c9a0
add esp, 4
sub esi, ebx
mov eax, 0xffffffff
cmp esi, 0xfffffffe
jl 0x4155b9
add esi, 2
mov eax, esi
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x100], eax
push eax
push ebx
call fcn.0043b850
add esp, 8
jmp dword [0x44a78c]
push ebx
call fcn.0040c9a0
add esp, 4
mov edx, dword [esp + 0x104]
mov ecx, edx
jmp 0x415a7a
mov edx, dword [esp + 0x104]
mov eax, edx
jmp 0x415a72
mov ebx, dword [esp + 0x10]
mov word [esi], 0
jmp dword [0x44a784]
mov edi, eax
inc eax
cmp byte [edi], 0
jne case.0x4153b2.9
mov eax, edi
xor eax, ebx
and edi, dword [esp + 0x14]
add edi, edi
sub edi, eax
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41562f
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov esi, eax
lea ecx, [eax + edi*2]
add ecx, 2
test ebx, ebx
jne 0x415654
mov eax, 0xffffffff
lea edi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edi
jne 0x415649
mov dword [esp + 0x98], 0
add ecx, 0xfffffffe
mov dword [esp + 0x10], ecx
cmp esi, ecx
jae 0x4156a1
test edi, edi
jle 0x4156a1
add edi, ebx
cmp byte [ebx], 0
je 0x4156a1
lea eax, [esp + 0x98]
push eax
push edi
push ebx
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x4156a1
add ebx, eax
cmp ebx, edi
jb 0x415670
mov word [esi], 0
mov ebx, dword [esp + 0x24]
mov eax, ebx
mov esi, eax
lea eax, [esi + 1]
cmp byte [esi], 0
jne 0x4156ac
mov eax, esi
xor eax, ebx
and esi, dword [esp + 0x14]
add esi, esi
sub esi, eax
mov eax, esi
inc eax
mov dword [esp + 0x100], eax
lea eax, [esi + esi + 2]
jns 0x4156d7
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
lea edx, [eax + esi*2]
add edx, 2
test ebx, ebx
jne 0x4156fa
mov ecx, 0xffffffff
lea esi, [ecx + 1]
cmp byte [ecx + 1], 0
mov ecx, esi
jne 0x4156ef
mov dword [esp + 0x98], 0
add edx, 0xfffffffe
mov ebx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
cmp eax, edx
jae 0x415759
mov ebx, dword [esp + 0x18]
test esi, esi
jle 0x415759
mov edi, dword [esp + 0x24]
add esi, edi
mov ebx, dword [esp + 0x18]
cmp byte [edi], 0
je 0x415759
lea eax, [esp + 0x98]
push eax
push esi
push edi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x10]
jae 0x415759
add edi, eax
cmp edi, esi
jb 0x415728
mov word [ebx], 0
mov ebx, dword [esp + 0x24]
mov eax, ebx
jmp dword [0x44a764]
push edi
call fcn.00404bf0
add esp, 4
jmp dword [0x44a7a0]
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x44a7a4]
push ebx
push edi
call fcn.00404bd0
add esp, 8
push eax
call fcn.00404550
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44a7b4]
mov ecx, esi
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x4157b0
mov ecx, eax
xor ecx, esi
mov edi, esi
not edi
and edi, eax
add edi, edi
sub edi, ecx
mov eax, edi
inc eax
jns 0x4157e2
mov dword [esp + 0x18], ebx
mov eax, 0xffffffff
jmp 0x4157ed
mov eax, dword [case.0x4153b2.34]
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x18], ebx
lea eax, [edi*2 + 2]
push eax
call fcn.0040c990
add esp, 4
mov edx, edi
test esi, esi
jne 0x41581b
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ecx + 1]
cmp byte [ecx + 1], 0
mov ecx, edx
jne 0x415810
lea ecx, [eax + edi*2]
add ecx, 2
mov dword [esp], 0
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x415878
mov edi, dword [esp + 0x14]
test edx, edx
jle 0x415878
mov ebx, esi
add ebx, edx
mov edi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x415878
mov eax, esp
push eax
push ebx
push esi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x10]
jae 0x415878
add esi, eax
cmp esi, ebx
jb 0x415850
mov word [edi], 0
push 0
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x114]
push dword [esp + 0x3c]
lea eax, [esp + 0xb4]
push eax
call fcn.00421340
add esp, 0x20
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp dword [0x44a7cc]
push esi
call fcn.0040c9a0
add esp, 4
mov eax, dword [case.0x4153b2.41]
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44a794]
push edi
call fcn.00404bf0
add esp, 4
jmp case.0x4153b2.22
jmp dword [0x44a7ac]
push dword [esp + 0x24]
call fcn.0040c9a0
add esp, 4
jmp dword [0x44a7ec]
inc ebx
push esi
call fcn.00404bf0
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x44a684]
push ebx
push esi
call fcn.00404bd0
add esp, 8
push eax
call fcn.00404550
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44a6a4]
mov ecx, edi
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne 0x415940
mov ecx, eax
xor ecx, edi
mov esi, edi
not esi
and esi, eax
add esi, esi
sub esi, ecx
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x415964
mov eax, 0xffffffff
mov dword [esp + 0x18], ebx
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x14], eax
lea ecx, [eax + esi*2]
add ecx, 2
test edi, edi
jne 0x41599b
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea esi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, esi
jne 0x415990
mov dword [esp + 0x48], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 0x14]
mov ebx, eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x415a00
mov ebx, dword [esp + 0x14]
test esi, esi
jle 0x415a00
mov eax, edi
add eax, esi
mov esi, eax
mov ebx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x415a00
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x10]
jae 0x415a00
add edi, eax
cmp edi, esi
jb 0x4159d0
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x104], 0
setg al
mov word [ebx], 0
push 0
push eax
push dword [esp + 0x2c]
push dword [esp + 0x10c]
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x44]
push dword [esp + 0x34]
lea eax, [esp + 0xb4]
push eax
call fcn.00421340
add esp, 0x20
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
jmp dword [0x44a6bc]
push edi
call fcn.0040c9a0
add esp, 4
jmp case.0x410cb2.107
mov eax, dword [case.0x410cb2.107]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea ecx, [eax + 1]
cmp byte [eax], 0
je 0x415a7e
mov eax, ecx
jmp 0x415a72
mov ecx, eax
xor ecx, edx
mov edi, edx
not edi
and edi, eax
add edi, edi
sub edi, ecx
add edi, edx
push edi
push edx
call fcn.00419a40
add esp, 8
mov esi, eax
inc eax
lea eax, [esi + esi + 2]
jns 0x415aa6
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x24], eax
lea edx, [eax + esi*2]
add edx, 2
mov esi, dword [esp + 0x104]
test esi, esi
jne 0x415ad4
mov eax, 0xffffffff
lea edi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edi
jne 0x415ac9
mov dword [esp + 0x98], 0
add edx, 0xfffffffe
mov eax, dword [esp + 0x24]
mov ebx, eax
mov dword [esp + 0x10], edx
cmp eax, edx
jae 0x415b2d
mov ebx, dword [esp + 0x24]
cmp esi, edi
jae 0x415b2d
mov ebx, dword [esp + 0x24]
cmp byte [esi], 0
je 0x415b2d
lea eax, [esp + 0x98]
push eax
push edi
push esi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x10]
jae 0x415b2d
add esi, eax
cmp esi, edi
jb 0x415afc
mov word [ebx], 0
lea ecx, [esp + 0x98]
push 1
call fcn.0040d380
xor ebx, ebx
mov edi, dword [esp + 0x1c]
jmp dword [0x44a794]
lea ecx, [eax + 1]
cmp byte [eax], 0
je 0x415b58
mov eax, ecx
jmp 0x415b4c
mov ecx, eax
xor ecx, edx
mov edi, edx
not edi
and edi, eax
add edi, edi
sub edi, ecx
mov esi, edx
add esi, edi
xor ebx, ebx
mov dword [esp + 0x14], edi
test edi, edi
jle 0x415bad
cmp byte [edx], 0
je 0x415bad
xor ebx, ebx
mov edi, dword [esp + 0x18]
nop
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
push esi
push edi
call fcn.00411290
add esp, 0xc
lea ecx, [edi + eax]
inc ebx
cmp ecx, esi
jae 0x415bad
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x415b80
mov eax, ebx
and eax, 1
xor ebx, 1
lea edi, [ebx + eax*2]
lea eax, [edi + edi]
test edi, edi
jns 0x415bc4
mov eax, 0xffffffff
push eax
call fcn.0040c990
add esp, 4
mov dword [esp + 0x98], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov ebx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov edi, dword [esp + 0x18]
jae 0x415c31
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jle 0x415c31
mov ebx, dword [esp + 0x1c]
nop
cmp byte [edi], 0
je 0x415c31
lea eax, [esp + 0x98]
push eax
push esi
push edi
call fcn.00411290
add esp, 0xc
movzx ecx, word [esp + 0x98]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x10]
jae 0x415c31
add edi, eax
cmp edi, esi
jb 0x415c00
mov word [ebx], 0
lea ecx, [esp + 0x98]
push 1
call fcn.0040d380
xor ebx, ebx
mov esi, dword [esp + 0x34]
jmp case.0x410cb2.98
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov ecx, esi
push ebx
call fcn.0043e050
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov ecx, esi
push ebx
call fcn.0043e050
jmp dword [0x44a724]
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0040dce0
mov ecx, esi
call fcn.0040d3c0
jmp dword [0x44a6d8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [edi]
xor edx, edx
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x1f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00444ed0
add esp, 0x10
mov eax, dword [edi]
mov dword [esi + 0x28c], eax
mov al, byte [esi + 0x108]
mov byte [esi + 0x1c8], al
mov byte [esi + 0x10c], 0xd
mov byte [esi + 0x10d], 0xa
mov byte [esi + 0x10e], 0xb
mov byte [esi + 0x10f], 8
mov eax, 4
mov byte [esi + eax + 0x10c], 0
add eax, 1
cmp eax, 8
jne 0x416677
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 8
jae 0x4166c9
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x10c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x10c], al
mov eax, dword [esi + 0x38]
inc eax
mov dword [esi + 0x38], eax
jmp 0x41668e
mov edx, dword [esi + 0x10c]
xor edi, edi
mov eax, 2
cmp edi, dword [0x450704]
jb 0x4166e0
jmp 0x416755
mov ecx, dword [0x450708]
cmp dword [ecx + edi*8], 0x625b6034
sete bl
xor eax, eax
test bl, 1
jne 0x4166f9
jmp 0x416740
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, edx
je 0x416740
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x28c]
mov dword [esp + 0xc], eax
mov dword [esi + 0x274], edx
call fcn.00441120
mov edx, dword [esi + 0x274]
add esp, 0x10
mov eax, 1
test bl, 1
je 0x41674a
mov ebx, dword [esi + 8]
jmp 0x416755
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x4166d1
cmp eax, 2
mov edi, dword [esi + 0x30]
jne 0x41675d
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2c8]
mov al, byte [eax]
mov byte [esi + 0x164], al
mov edx, dword [esi + 0x228]
mov byte [edx], 0x24
mov byte [edx + 1], 0x2b
mov byte [edx + 2], 0x28
mov byte [edx + 3], 0xa8
mov eax, 4
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x416967
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 7
jae 0x4169b3
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.0041a0f0
mov edx, dword [esi + 0x228]
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 0x41697a
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.0040d080
add esp, 4
call fcn.0040d090
and eax, 0xf
or eax, 0x10
mov edx, dword [esi + 0x668]
mov ecx, dword [esi + 0x66c]
mov ecx, dword [ecx + edx*4]
xor edi, edi
mov ebx, dword [esi + 0x224]
jmp ecx
mov cl, 0x54
add byte es:[ebx + 0x468b04ec], 0x18
mov dword [esp], eax
call fcn.00419a10
add esp, 4
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x670]
mov ecx, dword [esi + 0x674]
mov eax, dword [ecx + eax*4]
jmp eax
les esi, [esi]
mov dword [ebx - 0x7d], 0x868b04ec
rol byte [eax], 0
add byte [ecx - 0x4517dbfc], cl
das
add byte [eax], al
add esp, 4
mov eax, dword [esi + 0x330]
mov ecx, dword [esi + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x6a8]
mov ecx, dword [esi + 0x6ac]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 8]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x450], 0
mov eax, dword [esi + 0x454]
mov ecx, dword [esi + 0x450]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x5b8]
mov ecx, dword [esi + 0x5bc]
mov ecx, dword [ecx + eax*4]
mov eax, 4
mov dword [esi + 0x10], 0
mov edi, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
jmp ecx
mov eax, dword [0x4506f8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
call fcn.00443d90
add esp, 8
cmp eax, 0
setne cl
test cl, 1
jne 0x416b0e
jmp 0x416b0e
test cl, 1
jne 0x416b15
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
sub esp, 0x18
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x423290
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
xor ecx, ecx
mov dword [esi + 0xc4], eax
test eax, eax
setne cl
mov dword [esi + 0x458], ecx
mov eax, dword [esi + 0x45c]
mov ecx, dword [esi + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
xor eax, eax
cmp dword [esi + 4], 0
sete cl
mov dword [esi + 0x3e0], 0
mov edx, dword [esi + 0x3e4]
mov edi, dword [esi + 0x3e0]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040e4a0
mov dword [esi + 0x3e8], 0
mov eax, dword [esi + 0x3ec]
mov ecx, dword [esi + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x490], 1
mov eax, dword [esi + 0x494]
mov ecx, dword [esi + 0x490]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x780]
mov ecx, dword [esi + 0x784]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esi + 0x460]
mov ecx, dword [esi + 0x464]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, dword [esi + 0xc8]
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xb8797400
mov al, byte [esi + 0x1a4]
mov byte [esi + 0x1b0], al
mov byte [esi + 0x1a8], 0xd
mov byte [esi + 0x1a9], 0xa
mov byte [esi + 0x1aa], 0xb
mov byte [esi + 0x1ab], 8
mov eax, 4
mov byte [esi + eax + 0x1a8], 0
add eax, 1
cmp eax, 8
jne 0x416c40
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x50]
cmp eax, 8
jae 0x416c92
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x50]
movzx ecx, byte [esi + ecx + 0x1a8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x50]
mov byte [esi + ecx + 0x1a8], al
mov eax, dword [esi + 0x50]
inc eax
mov dword [esi + 0x50], eax
jmp 0x416c57
mov edi, dword [esi + 0x1a8]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x450704]
jb 0x416ca9
jmp 0x416d26
mov ecx, dword [0x450708]
cmp dword [ecx + ebx*8], 0x7e28bda7
sete dl
xor eax, eax
test dl, 1
jne 0x416cc2
jmp 0x416d17
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x416d17
mov eax, dword [0x45070c]
mov byte [esi + 0x25], dl
xor edx, edx
sub esp, 0x18
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
mov eax, dword [esi + 0xc4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x14], eax
call fcn.00441120
mov dl, byte [esi + 0x25]
add esp, 0x18
mov eax, 1
test dl, 1
je 0x416d1e
jmp 0x416d26
add ebx, 1
jmp 0x416c9a
cmp eax, 2
jne 0x416d2b
mov al, byte [esi + 0x120]
mov byte [esi + 0x1c0], al
mov byte [esi + 0x124], 0xd
mov byte [esi + 0x125], 0xa
mov byte [esi + 0x126], 0xb
mov byte [esi + 0x127], 8
mov eax, 4
mov byte [esi + eax + 0x124], 0
add eax, 1
cmp eax, 8
jne 0x416d58
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x40]
cmp eax, 8
jae 0x416daa
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [esi + ecx + 0x124]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x40]
mov byte [esi + ecx + 0x124], al
mov eax, dword [esi + 0x40]
inc eax
mov dword [esi + 0x40], eax
jmp 0x416d6f
mov edi, dword [esi + 0x124]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x450704]
jb 0x416dc1
jmp 0x416e27
mov ecx, dword [0x450708]
cmp dword [ecx + ebx*8], 0x625b6034
sete dl
xor eax, eax
test dl, 1
jne 0x416dda
jmp 0x416e1b
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x416e1b
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0xc4]
mov dword [esp + 0xc], eax
mov byte [esi + 0x23], dl
call fcn.00441120
mov dl, byte [esi + 0x23]
add esp, 0x10
mov eax, 1
test dl, 1
je 0x416e22
jmp 0x416e27
add ebx, 1
jmp 0x416db2
cmp eax, 2
mov ebx, dword [esi + 8]
jne 0x416e2f
mov dword [esi + 0x448], 1
mov eax, dword [esi + 0x44c]
mov ecx, dword [esi + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x3a8], 1
mov eax, dword [esi + 0x3ac]
mov ecx, dword [esi + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x4d0]
mov ecx, dword [esi + 0x4d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x770], 0
mov eax, dword [esi + 0x774]
mov ecx, dword [esi + 0x770]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov edx, dword [esi + 0x28]
mov ecx, edx
sub ecx, 1
sete al
mov dword [esi + 0x5b0], eax
mov eax, dword [esi + 0x5b4]
mov ecx, dword [esi + 0x5b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x3f8], ecx
mov ecx, dword [esi + 0x3fc]
mov edx, dword [esi + 0x3f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x6d8]
mov ecx, dword [esi + 0x6dc]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
setl al
mov dword [esi + 0x4b0], eax
mov eax, dword [esi + 0x4b4]
mov ecx, dword [esi + 0x4b0]
mov eax, dword [eax + ecx*4]
jmp eax
movsd dword es:[edi], dword [esi]
mov esi, 0x868b75d6
enter 0, 0
mov dword [eax + 4], 0xffffffff
mov dword [eax], 0xb8797400
mov al, byte [esi + 0x198]
mov byte [esi + 0x1b4], al
mov byte [esi + 0x19c], 0xd
mov byte [esi + 0x19d], 0xa
mov byte [esi + 0x19e], 0xb
mov byte [esi + 0x19f], 8
mov eax, 4
mov byte [esi + eax + 0x19c], 0
add eax, 1
cmp eax, 8
jne 0x416f73
mov dword [esi + 0x4c], 0
mov eax, dword [esi + 0x4c]
cmp eax, 8
jae 0x416fc5
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
movzx ecx, byte [esi + ecx + 0x19c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x4c]
mov byte [esi + ecx + 0x19c], al
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x4c], eax
jmp 0x416f8a
mov edi, dword [esi + 0x19c]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x450704]
jb 0x416fdc
jmp 0x417059
mov ecx, dword [0x450708]
cmp dword [ecx + ebx*8], 0x7e28bda7
sete dl
xor eax, eax
test dl, 1
jne 0x416ff5
jmp 0x41704a
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x41704a
mov eax, dword [0x45070c]
mov byte [esi + 0x24], dl
xor edx, edx
sub esp, 0x18
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
mov eax, dword [esi + 0xc4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x14], eax
call fcn.00441120
mov dl, byte [esi + 0x24]
add esp, 0x18
mov eax, 1
test dl, 1
je 0x417051
jmp 0x417059
add ebx, 1
jmp 0x416fcd
cmp eax, 2
jne 0x41705e
mov al, byte [esi + 0xfc]
mov byte [esi + 0x1cc], al
mov byte [esi + 0x100], 0xd
mov byte [esi + 0x101], 0xa
mov byte [esi + 0x102], 0xb
mov byte [esi + 0x103], 8
mov eax, 4
mov byte [esi + eax + 0x100], 0
add eax, 1
cmp eax, 8
jne 0x41708b
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 8
jae 0x4170dd
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x100]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x100], al
mov eax, dword [esi + 0x34]
inc eax
mov dword [esi + 0x34], eax
jmp 0x4170a2
mov edi, dword [esi + 0x100]
xor ebx, ebx
mov eax, 2
cmp ebx, dword [0x450704]
jb 0x4170f4
jmp 0x41715a
mov ecx, dword [0x450708]
cmp dword [ecx + ebx*8], 0x625b6034
sete dl
xor eax, eax
test dl, 1
jne 0x41710d
jmp 0x41714e
mov ecx, dword [ecx + ebx*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x41714e
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0xc4]
mov dword [esp + 0xc], eax
mov byte [esi + 0x22], dl
call fcn.00441120
mov dl, byte [esi + 0x22]
add esp, 0x10
mov eax, 1
test dl, 1
je 0x417155
jmp 0x41715a
add ebx, 1
jmp 0x4170e5
cmp eax, 2
jne 0x41715f
mov eax, dword [esi + 0x308]
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x610], 0
mov eax, dword [esi + 0x614]
mov ecx, dword [esi + 0x610]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 0xf4]
mov byte [esi + 0x150], al
mov byte [esi + 0x238], 0x5b
mov byte [esi + 0x239], 0xff
mov eax, 2
mov byte [esi + eax + 0x238], 0
add eax, 1
cmp eax, 5
jne 0x4171af
mov dword [esi + 0x60], 0
mov eax, dword [esi + 0x60]
cmp eax, 5
jae 0x417201
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x60]
movzx ecx, byte [esi + ecx + 0x238]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419fe0
add esp, 8
mov ecx, dword [esi + 0x60]
mov byte [esi + ecx + 0x238], al
mov eax, dword [esi + 0x60]
inc eax
mov dword [esi + 0x60], eax
jmp 0x4171c6
mov dword [esi + 8], ebx
sub esp, 0xc
lea eax, [esi + 0x238]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404ad0
add esp, 0xc
sub eax, 1
mov bl, 1
sbb bl, 0xff
mov eax, dword [esi + 0x720]
mov ecx, dword [esi + 0x724]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov eax, dword [ecx + eax*4]
jmp eax
mov bl, cl
and ebx, 1
mov dword [esi + 0x5f0], ebx
mov eax, dword [esi + 0x5f4]
mov ecx, dword [esi + 0x5f0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 8]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x3b0], 0
mov eax, dword [esi + 0x3b4]
mov ecx, dword [esi + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esi + 0xf], dl
call fcn.0040e4a0
mov dword [esi + 0x590], 1
mov eax, dword [esi + 0x594]
mov ecx, dword [esi + 0x590]
mov eax, dword [eax + ecx*4]
jmp eax
invalid
mov eax, dword [esi + 0x360]
mov ecx, dword [esi + 0x364]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x570], 0
mov eax, dword [esi + 0x574]
mov ecx, dword [esi + 0x570]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x430], 1
mov eax, dword [esi + 0x434]
mov ecx, dword [esi + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.0040c9a0
add esp, 4
mov eax, dword [esi + 0x3d0]
mov ecx, dword [esi + 0x3d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x438], 1
mov eax, dword [esi + 0x43c]
mov ecx, dword [esi + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xe0]
mov eax, dword [eax]
mov dword [esi + 0x288], eax
mov al, byte [esi + 0x12c]
mov byte [esi + 0x1bc], al
mov byte [esi + 0x130], 0xd
mov byte [esi + 0x131], 0xa
mov byte [esi + 0x132], 0xb
mov byte [esi + 0x133], 8
mov eax, 4
mov byte [esi + eax + 0x130], 0
add eax, 1
cmp eax, 8
jne 0x417488
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x44]
cmp eax, 8
jae 0x4174da
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
movzx ecx, byte [esi + ecx + 0x130]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x44]
mov byte [esi + ecx + 0x130], al
mov eax, dword [esi + 0x44]
inc eax
mov dword [esi + 0x44], eax
jmp 0x41749f
mov edx, dword [esi + 0x130]
xor edi, edi
mov eax, 2
cmp edi, dword [0x450704]
jb 0x4174f1
jmp 0x417566
mov ecx, dword [0x450708]
cmp dword [ecx + edi*8], 0x625b6034
sete bl
xor eax, eax
test bl, 1
jne 0x41750a
jmp 0x417551
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, edx
je 0x417551
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x288]
mov dword [esp + 0xc], eax
mov dword [esi + 0x270], edx
call fcn.00441120
mov edx, dword [esi + 0x270]
add esp, 0x10
mov eax, 1
test bl, 1
je 0x41755b
mov ebx, dword [esi + 8]
jmp 0x417566
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x4174e2
cmp eax, 2
jne 0x41756b
mov eax, dword [esi + 0x468]
mov ecx, dword [esi + 0x46c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x410], 1
mov eax, dword [esi + 0x414]
mov ecx, dword [esi + 0x410]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x6f0]
mov ecx, dword [esi + 0x6f4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00404c00
add esp, 8
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x750]
mov ecx, dword [esi + 0x754]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
sub esp, 4
mov eax, dword [esi + 0xc0]
mov dword [esp], eax
call fcn.00419a10
add esp, 4
inc eax
mov dword [esi + 0x588], 0
mov edx, dword [esi + 0x58c]
mov ecx, dword [esi + 0x588]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
mov dword [esi + 0x1f4], eax
mov eax, dword [esi + 0x5e8]
mov ecx, dword [esi + 0x5ec]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edx
call fcn.0040c9a0
add esp, 4
mov eax, dword [esi + 0x3b8]
mov ecx, dword [esi + 0x3bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call fcn.0043df90
add esp, 4
mov dword [edi], 0
mov eax, dword [esi + 0x1ec]
not eax
shr eax, 0x1f
mov dword [esi + 0x5c0], eax
mov eax, dword [esi + 0x5c4]
mov ecx, dword [esi + 0x5c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x398]
mov ecx, dword [esi + 0x39c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x6d0]
mov ecx, dword [esi + 0x6d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x480], 0
mov eax, dword [esi + 0x484]
mov ecx, dword [esi + 0x480]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xe4]
jmp eax
xor eax, eax
mov edx, dword [esi + 0x10]
test edx, edx
sete al
mov dword [esi + 0x3c0], eax
mov eax, dword [esi + 0x3c4]
mov ecx, dword [esi + 0x3c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x440]
mov ecx, dword [esi + 0x444]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x500]
mov ecx, dword [esi + 0x504]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.0040e4a0
sub esp, 4
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call fcn.00419a10
add esp, 4
mov dword [esi + 0x568], 0
mov ecx, dword [esi + 0x56c]
mov edx, dword [esi + 0x568]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor eax, eax
mov cl, byte [esi + 0x26]
mov al, cl
and eax, 1
mov dword [esi + 0x528], eax
mov eax, dword [esi + 0x52c]
mov ecx, dword [esi + 0x528]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esi + 0x560]
mov edx, dword [esi + 0x564]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esi + 0x27c], eax
call fcn.0040d090
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 ecx, ebx
add ecx, 2
mov word [ebx], ax
inc edi
mov eax, dword [esi + 0x650]
mov edx, dword [esi + 0x654]
mov edx, dword [edx + eax*4]
mov eax, dword [esi + 0x27c]
mov ebx, ecx
jmp edx
xor eax, eax
test edx, edx
sete al
mov dword [esi + 0x4a0], eax
mov eax, dword [esi + 0x4a4]
mov ecx, dword [esi + 0x4a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x738]
mov ecx, dword [esi + 0x73c]
mov eax, dword [ecx + eax*4]
jmp eax
push 0xca7bf702
invalid
mov al, byte [esi + 0xf8]
mov byte [esi + 0x14c], al
mov byte [esi + 0x1d4], 0x52
mov byte [esi + 0x1d5], 0x5d
mov byte [esi + 0x1d6], 0xce
mov eax, 3
mov byte [esi + eax + 0x1d4], 0
add eax, 1
cmp eax, 6
jne 0x41787e
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 6
jae 0x4178d0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x5c]
movzx ecx, byte [esi + ecx + 0x1d4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419fb0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x1d4], al
mov eax, dword [esi + 0x5c]
inc eax
mov dword [esi + 0x5c], eax
jmp 0x417895
sub esp, 0xc
lea eax, [esi + 0x1d4]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 3
call fcn.00404ad0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x728], ecx
mov eax, dword [esi + 0x72c]
mov ecx, dword [esi + 0x728]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], eax
call fcn.0043df90
add esp, 4
mov eax, dword [esi + 0x3f0]
mov ecx, dword [esi + 0x3f4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x6f8], 1
mov eax, dword [esi + 0x6fc]
mov ecx, dword [esi + 0x6f8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.00419a10
add esp, 4
mov edi, ebx
add edi, eax
sub esp, 8
mov dword [esi + 0xa8], ebx
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.00419a40
add esp, 8
mov dword [esi + 0x1e4], eax
add eax, 1
mov ecx, 2
mov dword [esi + 0x254], eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41799f
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x254]
shl eax, 1
mov ecx, ebx
add ecx, eax
cmp edi, 0
jne 0x4179e2
sub esp, 4
mov edi, dword [esi + 0xa8]
mov dword [esp], edi
mov dword [esi + 0xd8], ecx
call fcn.00419a10
mov ecx, dword [esi + 0xd8]
add esp, 4
add edi, eax
mov dword [esi + 0x24c], 0
mov dword [esi + 0x1e8], ebx
mov eax, ecx
add eax, 0xfffffffe
cmp ebx, eax
jae 0x417a56
cmp dword [esi + 0xa8], edi
jae 0x417a56
mov eax, dword [esi + 0xa8]
cmp byte [eax], 0
je 0x417a56
lea eax, [esi + 0x24c]
sub esp, 0xc
mov edx, dword [esi + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esi + 0xd8], ecx
call fcn.00411290
add esp, 0xc
mov edx, eax
mov ecx, ebx
add ecx, 2
mov eax, dword [esi + 0x24c]
add dword [esi + 0xa8], edx
mov word [ebx], ax
mov ebx, ecx
mov ecx, dword [esi + 0xd8]
jmp 0x4179f2
mov word [ebx], 0
mov eax, dword [0x450700]
sub esp, 0x18
mov edi, dword [esi + 0x22c]
mov dword [esp + 0x14], edi
mov ecx, dword [esi + 0x1e4]
mov dword [esp + 8], ecx
mov ebx, dword [esi + 0x1e8]
mov dword [esp + 4], ebx
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 0x417aa7
mov eax, ecx
sub esp, 4
mov dword [esp], eax
call fcn.0040c990
add esp, 4
mov edi, dword [0x450700]
mov edx, dword [esi + 0x22c]
mov ecx, dword [edx]
sub esp, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esi + 4], eax
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1e4]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0
call edi
mov dword [esi + 0x690], 0
mov eax, dword [esi + 0x694]
mov ecx, dword [esi + 0x690]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x30]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x778], 0
mov eax, dword [esi + 0x77c]
mov ecx, dword [esi + 0x778]
mov eax, dword [eax + ecx*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 edi, dword [esi + 0x2c]
jmp eax
mov eax, dword [esi + 0x2bc]
mov al, byte [eax]
mov byte [esi + 0x16c], al
mov edx, dword [esi + 0x218]
mov byte [edx], 0x66
mov byte [edx + 1], 0x11
mov byte [edx + 2], 0xaf
mov byte [edx + 3], 0x13
mov byte [edx + 4], 0xe4
mov byte [edx + 5], 0x6d
mov byte [edx + 6], 0xd3
mov byte [edx + 7], 0x6f
mov byte [edx + 8], 0x68
mov byte [edx + 9], 0x69
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xd
jne 0x417b9a
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 0xd
jae 0x417be6
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a170
mov edx, dword [esi + 0x218]
add esp, 8
mov ecx, dword [esi + 0x7c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x7c]
inc eax
mov dword [esi + 0x7c], eax
jmp 0x417bad
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419e80
add esp, 8
mov eax, dword [esi + 0x648]
mov ecx, dword [esi + 0x64c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
mov eax, ebx
inc eax
mov dword [esi + 0x388], 0
mov ecx, dword [esi + 0x38c]
mov edx, dword [esi + 0x388]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor eax, eax
mov cl, byte [esi + 0x27]
mov al, cl
and eax, 1
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x48c]
mov ecx, dword [esi + 0x488]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x5d0]
mov ecx, dword [esi + 0x5d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1f8]
mov eax, dword [eax]
mov dword [esi + 0x284], eax
mov al, byte [esi + 0x114]
mov byte [esi + 0x1c4], al
mov byte [esi + 0x118], 0xd
mov byte [esi + 0x119], 0xa
mov byte [esi + 0x11a], 0xb
mov byte [esi + 0x11b], 8
mov eax, 4
mov byte [esi + eax + 0x118], 0
add eax, 1
cmp eax, 8
jne 0x417d28
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x3c]
cmp eax, 8
jae 0x417d7a
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [esi + ecx + 0x118]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x3c]
mov byte [esi + ecx + 0x118], al
mov eax, dword [esi + 0x3c]
inc eax
mov dword [esi + 0x3c], eax
jmp 0x417d3f
mov edx, dword [esi + 0x118]
xor edi, edi
mov eax, 2
cmp edi, dword [0x450704]
jb 0x417d91
jmp 0x417e06
mov ecx, dword [0x450708]
cmp dword [ecx + edi*8], 0x625b6034
sete bl
xor eax, eax
test bl, 1
jne 0x417daa
jmp 0x417df1
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, edx
je 0x417df1
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x284]
mov dword [esp + 0xc], eax
mov dword [esi + 0x26c], edx
call fcn.00441120
mov edx, dword [esi + 0x26c]
add esp, 0x10
mov eax, 1
test bl, 1
je 0x417dfb
mov ebx, dword [esi + 8]
jmp 0x417e06
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x417d82
cmp eax, 2
jne 0x417e0b
mov eax, dword [esi + 0x418]
mov ecx, dword [esi + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x4c8]
mov ecx, dword [esi + 0x4cc]
mov eax, dword [ecx + eax*4]
mov dword [esi + 4], 0
mov edx, dword [esi + 0x28]
jmp eax
call fcn.0040e4a0
sub esp, 4
mov dword [esp], edi
call fcn.0040c9a0
add esp, 4
mov dword [esi + 0x4d8], 0
mov eax, dword [esi + 0x4dc]
mov ecx, dword [esi + 0x4d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00419ef0
add esp, 8
mov ebx, eax
add ebx, 0x910142bd
add ebx, 1
sub ebx, 0x910142bd
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417f1c
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x1c]
mov edx, dword [eax]
mov edi, edx
mov eax, dword [esi + 0xd4]
add edi, dword [eax]
shl ebx, 1
mov dword [esi + 0x1f0], ecx
add ecx, ebx
cmp edi, 0
jne 0x417f64
sub esp, 4
mov dword [esp], edx
mov edi, edx
mov ebx, ecx
call fcn.00419a10
mov ecx, ebx
mov edx, edi
add esp, 4
mov edi, edx
add edi, eax
mov dword [esi + 0x240], 0
mov ebx, dword [esi + 0x1f0]
mov eax, ecx
add eax, 0xfffffffe
cmp ebx, eax
jae 0x417fd2
cmp edx, edi
jae 0x417fd2
cmp byte [edx], 0
je 0x417fd2
lea eax, [esi + 0x240]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esi + 0x1e0], edx
mov dword [esi + 0x268], ecx
call fcn.00411290
add esp, 0xc
mov ecx, ebx
add ecx, 2
mov edx, dword [esi + 0x240]
add dword [esi + 0x1e0], eax
mov word [ebx], dx
mov edx, dword [esi + 0x1e0]
mov ebx, ecx
mov ecx, dword [esi + 0x268]
jmp 0x417f74
mov word [ebx], 0
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
add eax, 0x18
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x417ffb
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x29c]
mov al, byte [eax]
mov byte [esi + 0x194], al
mov edx, dword [esi + 0x200]
mov byte [edx], 0x14
mov byte [edx + 1], 0xe7
mov byte [edx + 2], 0x17
mov byte [edx + 3], 0xe1
mov byte [edx + 4], 0x69
mov byte [edx + 5], 0xe3
mov byte [edx + 6], 0x1d
mov byte [edx + 7], 0xfd
mov byte [edx + 8], 0xe
mov byte [edx + 9], 0xff
mov byte [edx + 0xa], 0x73
mov byte [edx + 0xb], 0xf9
mov byte [edx + 0xc], 0
mov byte [edx + 0xd], 0xfb
mov byte [edx + 0xe], 5
mov byte [edx + 0xf], 0xf5
mov byte [edx + 0x10], 0
mov byte [edx + 0x11], 0xf7
mov byte [edx + 0x12], 2
mov byte [edx + 0x13], 0xf1
mov byte [edx + 0x14], 0xd0
mov byte [edx + 0x15], 0xf3
mov byte [edx + 0x16], 0xc5
mov byte [edx + 0x17], 0x8d
mov byte [edx + 0x18], 0x73
mov byte [edx + 0x19], 0x8f
mov byte [edx + 0x1a], 6
mov byte [edx + 0x1b], 0x89
mov byte [edx + 0x1c], 0x77
mov byte [edx + 0x1d], 0x8b
mov byte [edx + 0x1e], 0x77
mov byte [edx + 0x1f], 0x85
mov byte [edx + 0x20], 0xa4
mov byte [edx + 0x21], 0x87
mov byte [edx + 0x22], 0x64
mov byte [edx + 0x23], 0x81
mov byte [edx + 0x24], 0xb
mov byte [edx + 0x25], 0x83
mov byte [edx + 0x26], 0x72
mov byte [edx + 0x27], 0x9d
mov byte [edx + 0x28], 0x7f
mov byte [edx + 0x29], 0x9f
mov byte [edx + 0x2a], 0x13
mov byte [edx + 0x2b], 0x99
mov byte [edx + 0x2c], 0x15
mov byte [edx + 0x2d], 0x9b
mov byte [edx + 0x2e], 0xba
mov byte [edx + 0x2f], 0x95
mov byte [edx + 0x30], 0x94
mov byte [edx + 0x31], 0x97
mov eax, 0x32
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x1f0]
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x36
jne 0x4180f5
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 0x36
jae 0x418156
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa4]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a330
mov edx, dword [esi + 0x200]
add esp, 8
mov ecx, dword [esi + 0xa4]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xa4]
inc eax
mov dword [esi + 0xa4], eax
jmp 0x41810b
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.0040f7c0
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov dword [esi + 0x4e8], 0
mov eax, dword [esi + 0x4ec]
mov ecx, dword [esi + 0x4e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x618], 0
mov eax, dword [esi + 0x61c]
mov ecx, dword [esi + 0x618]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
sete al
mov dword [esi + 0x510], eax
mov eax, dword [esi + 0x514]
mov ecx, dword [esi + 0x510]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x10], 0
mov edi, dword [esi + 0x2c]
jmp eax
jns 0x418218
cmp al, 0xa
pop edi
mov al, byte [0x868b6b4b]
call 0x8b41820e
mov gs, esp
add al, byte [eax]
add byte [ebx - 0x1f007efc], cl
add edi, ebp
test eax, 0x8820468a
xchg byte [ecx + eax], al
add dh, al
xchg byte [eax + 0x1b000000], bh
mov byte [esi + 0xb9], 0x8f
mov eax, 2
mov byte [esi + eax + 0xb8], 0
add eax, 1
cmp eax, 8
jne 0x418236
mov dword [esi + 0x58], 0
mov eax, dword [esi + 0x58]
cmp eax, 8
jae 0x418288
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x58]
movzx ecx, byte [esi + ecx + 0xb8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f80
add esp, 8
mov ecx, dword [esi + 0x58]
mov byte [esi + ecx + 0xb8], al
mov eax, dword [esi + 0x58]
inc eax
mov dword [esi + 0x58], eax
jmp 0x41824d
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x768]
mov ecx, dword [esi + 0x76c]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
mov edi, dword [esi + 0x2c]
jmp eax
mov eax, dword [esi + 0x2cc]
mov al, byte [eax]
mov byte [esi + 0x160], al
mov ecx, dword [esi + 0xd0]
mov byte [ecx], 0x9c
mov byte [ecx + 1], 0xf
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 5
jne 0x4182cf
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x70]
cmp eax, 5
jae 0x418327
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0xd0]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a0c0
add esp, 8
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0xd0]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xd0]
mov eax, dword [esi + 0x70]
inc eax
mov dword [esi + 0x70], eax
jmp 0x4182e2
sub esp, 8
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404440
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 0x698], eax
mov eax, dword [esi + 0x69c]
mov ecx, dword [esi + 0x698]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x758]
mov ecx, dword [esi + 0x75c]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
mov al, byte [esi + 0xf0]
mov byte [esi + 0x154], al
mov byte [esi + 0xb0], 0x15
mov byte [esi + 0xb1], 0x99
mov eax, 2
mov byte [esi + eax + 0xb0], 0
add eax, 1
cmp eax, 4
jne 0x41838e
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x64]
cmp eax, 4
jae 0x4183e0
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x64]
movzx ecx, byte [esi + ecx + 0xb0]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a020
add esp, 8
mov ecx, dword [esi + 0x64]
mov byte [esi + ecx + 0xb0], al
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x64], eax
jmp 0x4183a5
lea eax, [esi + 0xb0]
sub esp, 8
mov ecx, dword [esi + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00404440
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x2d4]
mov al, byte [eax]
mov byte [esi + 0x158], al
mov edx, dword [esi + 0x234]
mov byte [edx], 0xea
mov byte [edx + 1], 0xfb
mov byte [edx + 2], 0x4e
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 8
jne 0x418425
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 8
jae 0x418471
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.0041a040
mov edx, dword [esi + 0x234]
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 0x418438
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404570
add esp, 8
mov eax, dword [esi + 0x6c8]
mov ecx, dword [esi + 0x6cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x470], ecx
mov eax, dword [esi + 0x474]
mov ecx, dword [esi + 0x470]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 8]
jmp eax
xor eax, eax
sub esp, 0xc
mov edi, dword [esi + 0x1fc]
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0040ca10
add esp, 0xc
mov dword [edi], 0x44
mov eax, dword [0x4506f8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00443d90
add esp, 8
cmp eax, 0
setne cl
test cl, 1
jne 0x41850a
jmp 0x41850c
jmp 0x41850c
test cl, 1
mov ecx, dword [esi + 0x1fc]
jne 0x418519
xor eax, eax
sub esp, 0x28
mov edx, dword [esi + 0x1f8]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x420], ecx
mov eax, dword [esi + 0x424]
mov ecx, dword [esi + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x5a8], 0
mov eax, dword [esi + 0x5ac]
mov ecx, dword [esi + 0x5a8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x2b0]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
sete cl
mov edx, dword [esi + 0x630]
mov edi, dword [esi + 0x634]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040e4a0
sub esp, 4
mov dword [esp], ebx
call fcn.0040c9a0
add esp, 4
mov dword [esi + 0x680], 0
mov eax, dword [esi + 0x684]
mov ecx, dword [esi + 0x680]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
sub esp, 8
mov dword [esi + 0x2b0], esp
push eax
mov dword [esi + 0x20c], esp
push eax
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x208], esp
sub esp, 0x18
mov dword [esi + 0x2ac], esp
push eax
mov dword [esi + 0x2a8], esp
push eax
mov dword [esi + 0xe8], esp
push eax
mov dword [esi + 0x2a4], esp
sub esp, 0x40
mov dword [esi + 0x204], esp
push eax
mov dword [esi + 0x2a0], esp
sub esp, 0x38
mov dword [esi + 0x200], esp
push eax
mov dword [esi + 0x29c], esp
sub esp, 0x44
mov dword [esi + 0xe4], esp
sub esp, 0x10
mov dword [esi + 0xe0], esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
sub esp, 0x40
mov dword [esi + 0x1fc], esp
sub esp, 0x10
mov dword [esi + 0x1f8], esp
sub esp, 4
mov dword [esp], ebx
call fcn.004047b0
add esp, 4
mov dword [esi + 0x2c], eax
test eax, eax
sete byte [esi + 0x21]
mov dword [esi + 0x790], 0
mov edx, dword [esi + 0x794]
mov ecx, ebx
mov ebx, dword [esi + 0x790]
mov edx, dword [edx + ebx*4]
mov ebx, ecx
jmp edx
call fcn.0040e4a0
mov dword [esi + 0x408], 1
mov eax, dword [esi + 0x40c]
mov ecx, dword [esi + 0x408]
mov eax, dword [eax + ecx*4]
jmp eax
retf
mov word [ebx], 0
mov eax, dword [esi + 0x2c0]
mov al, byte [eax]
mov byte [esi + 0x168], al
mov edi, dword [esi + 0x2c4]
mov byte [edi], 0x85
mov byte [edi + 1], 0xe1
mov byte [edi + 2], 0x56
mov byte [edi + 3], 0xe3
mov byte [edi + 4], 0xa1
mov byte [edi + 5], 0xe5
mov byte [edi + 6], 0x5b
mov byte [edi + 7], 0xe7
mov byte [edi + 8], 0x68
mov byte [edi + 9], 0xd9
mov byte [edi + 0xa], 0xbf
mov byte [edi + 0xb], 0xdb
mov byte [edi + 0xc], 0x70
mov byte [edi + 0xd], 0xdd
mov byte [edi + 0xe], 0xde
mov byte [edi + 0xf], 0xdf
mov eax, 0x10
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x11
jne 0x418884
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x78]
cmp eax, 0x11
jae 0x4188ca
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.0041a130
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 0x418897
sub esp, 8
mov dword [esp + 4], edi
mov edi, dword [esi + 0x220]
mov dword [esp], edi
call fcn.0040f7c0
mov ecx, dword [esi + 0x224]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
sub eax, edi
sar eax, 1
mov ecx, dword [0x450700]
sub esp, 0x18
mov ebx, dword [esi + 0x21c]
mov dword [esp + 0x14], ebx
mov dword [esi + 0x264], eax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call ecx
mov eax, dword [ebx]
mov ecx, eax
and ecx, 4
xor eax, 4
lea ecx, [eax + ecx*2]
add ecx, ecx
mov eax, 0xffffffff
jb 0x41894a
mov eax, ecx
sub esp, 4
mov dword [esp], eax
call fcn.0040c990
add esp, 4
mov edi, dword [0x450700]
mov edx, dword [esi + 0x21c]
mov ecx, dword [edx]
sub esp, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esi + 4], eax
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x264]
mov dword [esp + 8], eax
mov ecx, dword [esi + 0x220]
mov dword [esp + 4], ecx
mov dword [esp], 0
call edi
xor eax, eax
mov edx, dword [esi + 0x28]
test edx, edx
sete al
mov dword [esi + 0x658], eax
mov eax, dword [esi + 0x65c]
mov ecx, dword [esi + 0x658]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x30]
jmp eax
xor byte [edx + 0x62], dl
test byte [ebx + 0x31886], 0
mov ecx, dword [esi + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x608]
mov ecx, dword [esi + 0x60c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x518]
mov ecx, dword [esi + 0x51c]
mov eax, dword [ecx + eax*4]
mov dword [esi + 4], 0
xor edx, edx
mov edi, dword [esi + 0x2c]
jmp eax
mov eax, dword [esi + 0x3a0]
mov ecx, dword [esi + 0x3a4]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, dl
and eax, 1
mov dword [esi + 0x598], eax
mov eax, dword [esi + 0x59c]
mov ecx, dword [esi + 0x598]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xdc], 0
mov edi, dword [esi + 0x2ac]
jmp eax
mov edi, dword [esi + 0x280]
test edi, edi
sete al
mov byte [esi + 0x27], al
movzx eax, al
mov dword [esi + 0x6a0], eax
mov eax, dword [esi + 0x6a4]
mov ecx, dword [esi + 0x6a0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 8]
jmp eax
xor edi, 1
mov edx, dword [esi + 0x28]
mov eax, edx
xor eax, 2
xor ecx, ecx
or edi, eax
sete cl
mov dword [esi + 0x4f0], ecx
mov eax, dword [esi + 0x4f4]
mov ecx, dword [esi + 0x4f0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
jmp eax
xor eax, eax
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0040ca10
add esp, 0xc
mov dword [ebx], 0x44
mov eax, dword [0x4506f8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.00443d90
add esp, 8
cmp eax, 0
setne cl
test cl, 1
jne 0x418aea
jmp 0x418aef
mov edx, dword [esi + 4]
jmp 0x418af2
mov edx, dword [esi + 4]
test cl, 1
mov ebx, dword [esi + 0xe4]
jne 0x418aff
xor eax, eax
sub esp, 0x28
mov ecx, dword [esi + 0xe0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ebx
mov ecx, dword [esi + 0x10]
mov dword [esp + 4], ecx
mov dword [esp], edx
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 + 0x478], 1
mov edx, dword [esi + 0x47c]
mov edi, dword [esi + 0x478]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040e4a0
mov dword [esi + 0x498], 0
mov eax, dword [esi + 0x49c]
mov ecx, dword [esi + 0x498]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x20c]
mov al, byte [eax]
mov byte [esi + 0x17c], al
mov byte [edi], 0xea
mov byte [edi + 1], 0xe1
mov byte [edi + 2], 0x8e
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 5
jne 0x418bca
mov dword [esi + 0x88], 0
mov eax, dword [esi + 0x88]
cmp eax, 5
jae 0x418c25
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x88]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a200
add esp, 8
mov ecx, dword [esi + 0x88]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x88]
inc eax
mov dword [esi + 0x88], eax
jmp 0x418be0
sub esp, 8
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404440
add esp, 8
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x208]
mov al, byte [eax]
mov byte [esi + 0x184], al
mov edx, dword [esi + 0xcc]
mov byte [edx], 0x67
mov byte [edx + 1], 0x75
mov byte [edx + 2], 6
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 4
jne 0x418c64
mov dword [esi + 0x90], 0
mov eax, dword [esi + 0x90]
cmp eax, 4
jae 0x418cc5
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x90]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a240
mov edx, dword [esi + 0xcc]
add esp, 8
mov ecx, dword [esi + 0x90]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x90]
inc eax
mov dword [esi + 0x90], eax
jmp 0x418c7a
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404440
add esp, 8
mov dword [esi + 0x18], eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419ed0
add esp, 4
mov dword [esi + 0x294], eax
cmp dword [esi + 0xc0], 0
setne dl
mov dword [esi + 0x5a0], 1
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a0]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419ed0
add esp, 4
add eax, 0x21375ea
add eax, 0xfdec8a33
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x418d4d
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x2a4]
mov al, byte [eax]
mov byte [esi + 0x18c], al
mov edx, dword [esi + 0xe8]
mov byte [edx], 0xf2
mov byte [edx + 1], 0x1b
mov byte [edx + 2], 0x1a
mov byte [edx + 3], 0x19
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 0xa0]
cmp eax, 4
jae 0x418dd6
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa0]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a2f0
mov edx, dword [esi + 0xe8]
add esp, 8
mov ecx, dword [esi + 0xa0]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
jmp 0x418d8b
mov eax, dword [esi + 0x2a0]
mov al, byte [eax]
mov byte [esi + 0x190], al
mov edx, dword [esi + 0x204]
mov byte [edx], 0xf4
mov byte [edx + 1], 0x6b
mov byte [edx + 2], 0xfb
mov byte [edx + 3], 0x69
mov byte [edx + 4], 0xf1
mov byte [edx + 5], 0x6f
mov byte [edx + 6], 0xc5
mov byte [edx + 7], 0x6d
mov byte [edx + 8], 0xfa
mov byte [edx + 9], 0x53
mov byte [edx + 0xa], 0xc7
mov byte [edx + 0xb], 0x51
mov byte [edx + 0xc], 0xf8
mov byte [edx + 0xd], 0x57
mov byte [edx + 0xe], 0xfd
mov byte [edx + 0xf], 0x55
mov byte [edx + 0x10], 0xf8
mov byte [edx + 0x11], 0x5b
mov byte [edx + 0x12], 0xf6
mov byte [edx + 0x13], 0x59
mov byte [edx + 0x14], 0xb8
mov byte [edx + 0x15], 0x5f
mov byte [edx + 0x16], 0x8d
mov byte [edx + 0x17], 0x5d
mov byte [edx + 0x18], 0xf7
mov byte [edx + 0x19], 0x43
mov byte [edx + 0x1a], 0xda
mov byte [edx + 0x1b], 0x41
mov byte [edx + 0x1c], 0xeb
mov byte [edx + 0x1d], 0x47
mov byte [edx + 0x1e], 0xe3
mov byte [edx + 0x1f], 0x45
mov byte [edx + 0x20], 0xa4
mov byte [edx + 0x21], 0x4b
mov byte [edx + 0x22], 0xec
mov byte [edx + 0x23], 0x49
mov byte [edx + 0x24], 0xd7
mov byte [edx + 0x25], 0x4f
mov byte [edx + 0x26], 0xde
mov byte [edx + 0x27], 0x4d
mov byte [edx + 0x28], 0xeb
mov byte [edx + 0x29], 0x33
mov byte [edx + 0x2a], 0xa7
mov byte [edx + 0x2b], 0x31
mov byte [edx + 0x2c], 0xa5
mov byte [edx + 0x2d], 0x37
mov byte [edx + 0x2e], 0xd6
mov byte [edx + 0x2f], 0x35
mov byte [edx + 0x30], 0xe7
mov byte [edx + 0x31], 0x3b
mov byte [edx + 0x32], 0x90
mov byte [edx + 0x33], 0x39
mov byte [edx + 0x34], 0xd8
mov byte [edx + 0x35], 0x3f
mov byte [edx + 0x36], 0xd8
mov byte [edx + 0x37], 0x3d
mov byte [edx + 0x38], 0x3c
mov byte [edx + 0x39], 0x23
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3e
jne 0x418ed6
mov dword [esi + 0x9c], 0
mov eax, dword [esi + 0x9c]
cmp eax, 0x3e
jae 0x418f37
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x9c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a2c0
mov edx, dword [esi + 0x204]
add esp, 8
mov ecx, dword [esi + 0x9c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x9c]
inc eax
mov dword [esi + 0x9c], eax
jmp 0x418eec
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.0040f7c0
mov ecx, dword [esi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f7c0
mov ecx, dword [esi + 0xe8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f7c0
add esp, 8
mov eax, dword [esi + 0x508]
mov ecx, dword [esi + 0x50c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + 0x28]
jmp eax
pop es
invalid
mov eax, dword [esi + 0x4c0]
mov ecx, dword [esi + 0x4c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 0x20]
mov byte [esi + 0x148], al
mov byte [esi + 0xb8], 0x1b
mov byte [esi + 0xb9], 0x8f
mov eax, 2
mov byte [esi + eax + 0xb8], 0
add eax, 1
cmp eax, 8
jne 0x418fc7
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x54]
cmp eax, 8
jae 0x419019
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x54]
movzx ecx, byte [esi + ecx + 0xb8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f80
add esp, 8
mov ecx, dword [esi + 0x54]
mov byte [esi + ecx + 0xb8], al
mov eax, dword [esi + 0x54]
inc eax
mov dword [esi + 0x54], eax
jmp 0x418fde
mov dword [esi + 0x740], 0
mov eax, dword [esi + 0x744]
mov ecx, dword [esi + 0x740]
mov eax, dword [eax + ecx*4]
jmp eax
popal
les eax, [ecx]
pop ds
and eax, 0x831e7104
in al, dx
sbb al, 0x89
jl 0x419066
add al, 0x8b
inc esi
add al, 0x89
add al, 0x24
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
add byte [eax], al
add bh, al
inc esp
and al, 8
add al, byte [eax]
adc byte [eax], al
call fcn.00444700
add esp, 0x1c
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x34c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.0040c9a0
add esp, 4
mov eax, dword [esi + 0x540]
mov ecx, dword [esi + 0x544]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, 0x5096a53c
push eax
push eax
push eax
push eax
sub esp, 0x18
push eax
push eax
push eax
sub esp, 0x40
push eax
sub esp, 0x38
push eax
sub esp, 0x44
sub esp, 0x10
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
sub esp, 0x40
sub esp, 0x14
mov dword [esp], ebx
call fcn.004047b0
add esp, 4
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [esi + 0xf], dl
cmp dword [esi + 0x18], 0
setne al
mov byte [esi + 0x26], al
movzx eax, al
mov dword [esi + 0x578], eax
mov eax, dword [esi + 0x57c]
mov ecx, dword [esi + 0x578]
mov eax, dword [eax + ecx*4]
xor edx, edx
jmp eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [edi]
xor edx, edx
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x1f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00444ed0
add esp, 0x10
mov edx, dword [edi]
mov cl, byte [esi + 0x138]
mov byte [esi + 0x1b8], cl
mov byte [esi + 0x13c], 0xd
mov byte [esi + 0x13d], 0xa
mov byte [esi + 0x13e], 0xb
mov byte [esi + 0x13f], 8
mov ecx, 4
mov byte [esi + ecx + 0x13c], 0
add ecx, 1
cmp ecx, 8
jne 0x41917b
mov dword [esi + 0x290], edx
mov dword [esi + 0x1ec], eax
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x48]
cmp eax, 8
jae 0x4191d9
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
movzx ecx, byte [esi + ecx + 0x13c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419f30
add esp, 8
mov ecx, dword [esi + 0x48]
mov byte [esi + ecx + 0x13c], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
jmp 0x41919e
mov edx, dword [esi + 0x13c]
xor edi, edi
mov eax, 2
cmp edi, dword [0x450704]
jb 0x4191f0
jmp 0x419265
mov ecx, dword [0x450708]
cmp dword [ecx + edi*8], 0x625b6034
sete bl
xor eax, eax
test bl, 1
jne 0x419209
jmp 0x419250
mov ecx, dword [ecx + edi*8 + 4]
mov eax, 2
cmp ecx, edx
je 0x419250
mov eax, dword [0x45070c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x290]
mov dword [esp + 0xc], eax
mov dword [esi + 0x278], edx
call fcn.00441120
mov edx, dword [esi + 0x278]
add esp, 0x10
mov eax, 1
test bl, 1
je 0x41925a
mov ebx, dword [esi + 8]
jmp 0x419265
add edi, 1
mov ebx, dword [esi + 8]
jmp 0x4191e1
cmp eax, 2
mov edi, dword [esi + 0x30]
jne 0x41926d
mov dword [esi + 0x5d8], 1
mov eax, dword [esi + 0x5dc]
mov ecx, dword [esi + 0x5d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x678]
mov ecx, dword [esi + 0x67c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2b8]
mov al, byte [eax]
mov byte [esi + 0x170], al
mov edx, dword [esi + 0x214]
mov byte [edx], 0x56
mov byte [edx + 1], 0x2b
mov byte [edx + 2], 0x8e
mov byte [edx + 3], 0x29
mov byte [edx + 4], 0x84
mov byte [edx + 5], 0x2f
mov byte [edx + 6], 0x82
mov byte [edx + 7], 0x2d
mov byte [edx + 8], 0x2c
mov byte [edx + 9], 0x33
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x4192d9
mov dword [esi + 0x80], 0
mov eax, dword [esi + 0x80]
cmp eax, 0x10
jae 0x41933a
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.0041a1a0
mov edx, dword [esi + 0x214]
add esp, 8
mov ecx, dword [esi + 0x80]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
jmp 0x4192ef
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419e80
add esp, 8
mov eax, dword [esi + 0x638]
mov ecx, dword [esi + 0x63c]
mov eax, dword [ecx + eax*4]
jmp eax
jo 0x41939d
xchg ecx, eax
stc
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2b4]
mov al, byte [eax]
mov byte [esi + 0x174], al
mov edx, dword [esi + 0x210]
mov byte [edx], 0x86
mov byte [edx + 1], 0x71
mov byte [edx + 2], 0xc2
mov byte [edx + 3], 0x73
mov byte [edx + 4], 0xcf
mov byte [edx + 5], 0x7d
mov byte [edx + 6], 0x8f
mov byte [edx + 7], 0x7f
mov byte [edx + 8], pe_nt_image_headers32
mov byte [edx + 9], 0x79
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xe
jne 0x4193d5
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x84]
cmp eax, 0xe
jae 0x419436
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.0041a1d0
mov edx, dword [esi + 0x210]
add esp, 8
mov ecx, dword [esi + 0x84]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x84]
inc eax
mov dword [esi + 0x84], eax
jmp 0x4193eb
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419e80
add esp, 8
mov eax, dword [esi + 0x620]
mov ecx, dword [esi + 0x624]
mov eax, dword [ecx + eax*4]
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 + 0x258], ecx
sub esp, 4
mov edi, dword [esi + 0xc0]
mov dword [esp], edi
call fcn.00419a10
mov edx, edi
add esp, 4
mov ecx, edx
add ecx, eax
mov dword [esi + 0x1dc], ecx
mov dword [esi + 0x248], 0
mov edi, ebx
mov eax, dword [esi + 0x258]
add eax, 0xfffffffe
cmp edi, eax
jae 0x4194f8
cmp edx, dword [esi + 0x1dc]
jae 0x4194f8
cmp byte [edx], 0
je 0x4194f8
lea eax, [esi + 0x248]
sub esp, 0xc
mov dword [esp], edx
mov ebx, dword [esi + 0x1dc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov ebx, edx
call fcn.00411290
add esp, 0xc
mov ecx, edi
add ecx, 2
mov edx, dword [esi + 0x248]
add ebx, eax
mov word [edi], dx
mov edx, ebx
mov edi, ecx
jmp 0x4194a4
mov word [edi], 0
mov eax, dword [esi + 0x530]
mov ecx, dword [esi + 0x534]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 8]
jmp eax
xor eax, eax
mov cl, byte [esi + 0xf]
mov al, cl
and eax, 1
mov dword [esi + 0x538], eax
mov eax, dword [esi + 0x53c]
mov ecx, dword [esi + 0x538]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x380]
mov edx, dword [esi + 0x384]
mov ecx, dword [edx + ecx*4]
mov ebx, eax
jmp ecx
mov eax, dword [esi + 0x428]
mov ecx, dword [esi + 0x42c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0xc8], edi
mov cl, byte [esi + 0x21]
xor eax, eax
mov al, cl
and eax, 1
mov dword [esi + 0x788], eax
mov eax, dword [esi + 0x78c]
mov ecx, dword [esi + 0x788]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
sub esp, 0x1c
mov dword [esp + 4], edi
mov eax, dword [esi + 4]
mov dword [esp], eax
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
call fcn.00444700
add esp, 0x1c
xor ebx, ebx
mov dword [esi + 0x1ec], eax
test eax, eax
setns cl
mov dword [esi + 0x5f8], 0
mov edx, dword [esi + 0x5fc]
mov edi, dword [esi + 0x5f8]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x30]
jmp edx
mov eax, dword [esi + 0x400]
mov ecx, dword [esi + 0x404]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
sub edx, 2
sete al
mov dword [esi + 0x4a8], eax
mov eax, dword [esi + 0x4ac]
mov ecx, dword [esi + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x20c]
mov al, byte [eax]
mov byte [esi + 0x178], al
mov byte [edi], 0xea
mov byte [edi + 1], 0xe1
mov byte [edi + 2], 0x8e
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 5
jne 0x419649
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 5
jae 0x4196a4
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a200
add esp, 8
mov ecx, dword [esi + 0x8c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x8c]
inc eax
mov dword [esi + 0x8c], eax
jmp 0x41965f
sub esp, 8
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404440
add esp, 8
mov eax, dword [esi + 0x208]
mov al, byte [eax]
mov byte [esi + 0x180], al
mov edx, dword [esi + 0xcc]
mov byte [edx], 0x67
mov byte [edx + 1], 0x75
mov byte [edx + 2], 6
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 4
jne 0x4196dd
mov dword [esi + 0x94], 0
mov eax, dword [esi + 0x94]
cmp eax, 4
jae 0x41973e
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x94]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a240
mov edx, dword [esi + 0xcc]
add esp, 8
mov ecx, dword [esi + 0x94]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x94]
inc eax
mov dword [esi + 0x94], eax
jmp 0x4196f3
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.00404440
add esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00419ed0
add esp, 4
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub ecx, dword [esi + 0x294]
add ecx, 0xfffffff7
xor eax, eax
sub eax, ecx
add eax, 0x76669aec
add eax, dword [esi + 0xdc]
sub eax, 0x76669aec
mov dword [esi + 0x298], edx
add eax, edx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4197b5
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c990
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x2a8]
mov al, byte [eax]
mov byte [esi + 0x188], al
mov byte [edi], 0x32
mov byte [edi + 1], 0x81
mov byte [edi + 2], 0x37
mov byte [edi + 3], 0x83
mov byte [edi + 4], 0x2a
mov byte [edi + 5], 0x85
mov byte [edi + 6], 0x22
mov byte [edi + 7], 0x87
mov byte [edi + 8], 0x24
mov byte [edi + 9], 0x89
mov byte [edi + 0xa], 0x26
mov byte [edi + 0xb], 0x8b
mov byte [edi + 0xc], 0xff
mov byte [edi + 0xd], 0x8d
mov byte [edi + 0xe], 0xfc
mov byte [edi + 0xf], 0x8f
mov byte [edi + 0x10], 0x90
mov byte [edi + 0x11], 0x91
mov eax, 0x12
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x18
jne 0x41981f
mov dword [esi + 0x98], 0
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0x98]
cmp eax, 0x18
jae 0x419880
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.0041a270
mov edx, dword [esi + 0x10]
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 0x419838
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.0040f7c0
add esp, 8
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
sub esp, 8
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0040f7c0
add esp, 8
mov edi, eax
add edi, 2
mov word [eax], 0x22
mov dword [esi + 0x548], 0
mov eax, dword [esi + 0x54c]
mov ecx, dword [esi + 0x548]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x688], 1
mov eax, dword [esi + 0x68c]
mov ecx, dword [esi + 0x688]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x1e8]
jmp eax
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0x580]
mov ecx, dword [esi + 0x584]
mov eax, dword [ecx + eax*4]
mov dl, byte [esi + 0xf]
jmp eax
mov eax, edi
mov edi, eax
add edi, 2
mov word [eax], 0x2c
mov eax, dword [esi + 0x298]
shl eax, 1
mov ebx, edi
add ebx, eax
sub esp, 4
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call fcn.00419a10
mov ecx, dword [esi + 0x18]
add esp, 4
mov edx, ecx
add edx, eax
mov dword [esi + 0x244], 0
mov eax, ebx
add eax, 0xfffffffe
cmp edi, eax
jae 0x4199ab
cmp ecx, edx
jae 0x4199ab
cmp byte [ecx], 0
je 0x4199ab
lea eax, [esi + 0x244]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esi + 0x18], ecx
mov dword [esi + 0x25c], edx
call fcn.00411290
add esp, 0xc
mov ecx, edi
add ecx, 2
mov edx, dword [esi + 0x244]
add dword [esi + 0x18], eax
mov word [edi], dx
mov edx, dword [esi + 0x25c]
mov edi, ecx
mov ecx, dword [esi + 0x18]
jmp 0x419956
mov word [edi], 0
mov eax, dword [esi + 0x520]
mov ecx, dword [esi + 0x524]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 8]
jmp eax
call fcn.0040e4a0
mov dword [esi + 0x4e0], 0
mov eax, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 1
sete al
mov dword [esi + 0x640], eax
mov eax, dword [esi + 0x644]
mov ecx, dword [esi + 0x640]
mov eax, dword [eax + ecx*4]
jmp eax
or al, 0x41
add al, al
or al, 0x41
add byte [edx + 0xd], ah
inc ecx
add byte [ecx + 0xd], ch
inc ecx
add dh, dl
push cs
inc ecx
add byte [esi - 0x6ffbef3], dh
cmovno eax, dword [eax]
salc
push cs
inc ecx
add byte [edi], al
adc byte [ecx], al
adc byte [eax], dl
inc ecx
add byte [eax], dl
adc byte [ecx], al
adc byte [eax], dl
inc ecx
add byte [esi], dl
adc byte [ecx], al
adc byte [eax], dl
inc ecx
add byte [0x3b004110], ch
adc byte [ecx], al
out dx, al
adc dword [ecx], eax
push esi
adc byte [ecx], al
sub al, 0x12
inc ecx
add byte [eax], dh
adc al, byte [ecx]
pop esp
adc al, byte [ecx]
jae 0x449f73
inc ecx
add byte [eax + 0x7900410d], dl
or eax, 0xd9f0041
inc ecx
add byte [eax + 0x5c00410d], dl
adc al, byte [ecx]
scasd eax, dword es:[edi]
or eax, 422248513
inc ecx
add byte [ecx + 0x14], al
inc ecx
add byte [0x63004119], ah
adc al, 0x41
add byte [0x75004119], dh
sbb dword [ecx], eax
mov bl, byte [ecx]
inc ecx
add byte [ecx], dl
sbb dword [ecx], eax
and eax, 0xa7004119
sbb dword [ecx], eax
les ebp, [eax]
inc ecx
add byte [eax - 0x3effbee7], bh
sbb dword [ecx], eax
cdq
sbb al, byte [ecx]
les ebp, [eax]
inc ecx
add byte [ebp + 0x23], dh
inc ecx
add byte [eax - 0x6dffbee6], ch
sbb al, 0x41
add byte [0x8300411d], ch
sbb eax, 0x1d8c0041
inc ecx
add ah, bl
and al, byte [ecx]
inc ebp
and eax, dword [ecx]
pushal
and eax, dword [ecx]
outsd dx, dword [esi]
and eax, dword [ecx]
outsd dx, dword [esi]
and eax, dword [ecx]
cmpsd dword [esi], dword es:[edi]
sub byte [ecx], al
mov dh, 0x28
inc ecx
add byte [edx], cl
sub byte [ecx], al
daa
sub byte [ecx], al
daa
sub byte [ecx], al
mov dword [ebx], esp
inc ecx
add byte [ebx], bh
sub byte [ecx], al
insd dword es:[edi], dx
and al, 65
add byte [ebp + 0x3c004124], al
daa
inc ecx
add byte [eax], cl
sub byte [ecx], al
dec edi
sub byte [ecx], al
dec edi
sub byte [ecx], al
dec edi
sub byte [ecx], al
les ebp, [eax]
inc ecx
add ah, al
sub byte [ecx], al
les ebp, [eax]
inc ecx
add ah, al
sub byte [ecx], al
sub ebx, dword [ecx]
inc ecx
add byte [ebx + 0x23], cl
inc ecx
add byte [esi - 0x2affbed8], bl
pop esp
inc ecx
add byte [esi + 0x29], dh
inc ecx
add byte [esi + 0x29], dh
inc ecx
add ch, dl
pop esp
inc ecx
add byte [ecx - 0x7fffbed7], ah
sub dword [ecx], eax
inc eax
sub al, byte [ecx]
fstp qword [ecx + eax*2]
pop es
sub eax, dword [ecx]
push ss
sub eax, dword [ecx]
sub byte [ecx + eax*2], 0
push es
xor dword [ecx], eax
adc esi, dword [ecx]
inc ecx
add byte [ebx + 0x2c004131], ch
xor al, byte [ecx]
stosb byte es:[edi], al
xor al, byte [ecx]
test byte [ecx + eax*2], 0x39
xor eax, dword [ecx]
fstp qword [ecx + eax*2]
fstp qword [ecx + eax*2]
scasd eax, dword es:[edi]
inc ebp
inc ecx
add byte [ebx], al
push eax
inc ecx
add byte [edi], dl
push eax
inc ecx
add byte [ecx], al
pop ecx
inc ecx
add byte [0x18004151], ch
pop ecx
inc ecx
add ch, bl
pop esp
inc ecx
add byte [ecx], al
add byte [eax], al
add ch, bl
pop esp
inc ecx
add ch, bl
pop esp
inc ecx
add byte [eax + 0x5a], ah
inc ecx
add byte [eax + 0x5a], dh
inc ecx
add byte [eax], al
pop ecx
inc ecx
add byte [ebx], bh
pop ecx
inc ecx
add byte [ebx + 0x5a], cl
inc ecx
add byte [eax], al
pop ecx
inc ecx
add byte [eax], al
pop ecx
inc ecx
add byte [ebx], dh
push ecx
inc ecx
add byte [edi + 0x51], cl
inc ecx
add byte [edi + 0x51], cl
inc ecx
add byte [ecx + 0x51], bl
inc ecx
add byte [ecx + 0x51], cl
inc ecx
add byte [edx + 0x1000415c], bh
inc ecx
inc ecx
add byte [ebx], ah
sub eax, dword [ecx]
jmp 0x3e44e220
push esp
inc ecx
add byte [ecx + 0x52], bh
inc ecx
add byte [edx], ah
push eax
inc ecx
add byte [edi + 0x52], bh
inc ecx
add byte [edx], ah
push eax
inc ecx
add byte [ebx + edx*2 + 0x41], ah
add byte [esp + edx*2], al
inc ecx
add byte [eax + 0x53], dh
inc ecx
add byte [ebx + edx*2 + 0x560d0041], al
inc ecx
add byte [esp + edx*2], ah
inc ecx
add byte [0x81004156], cl
push esp
inc ecx
add byte [eax + 0x54], cl
inc ecx
add byte [ecx + 0x5c004154], al
push esp
inc ecx
add byte [esi + 0x54], ch
inc ecx
add byte [ecx - 0x60ffbeac], al
push ebp
inc ecx
add byte [eax - 0x26ffbeab], ch
push ebp
inc ecx
add al, dh
push ebp
inc ecx
add byte [edx + 0x57], ch
inc ecx
add al, bl
pop eax
inc ecx
add al, bl
pop eax
inc ecx
add byte [ecx + 0x57], bh
inc ecx
add dh, ah
pop eax
inc ecx
add byte [edi - 0x13ffbea9], al
pop eax
inc ecx
add al, bh
pop eax
inc ecx
add byte [edx - 0x29ffbea9], ch
push edi
inc ecx
add al, ah
push edi
inc ecx
add al, ah
push edi
inc ecx
add al, al
pop eax
inc ecx
add al, ah
push edi
inc ecx
add byte [edi - 0x3fffbea8], dh
pop eax
inc ecx
add al, dl
pop eax
inc ecx
add al, dl
pop eax
inc ecx
add al, dl
pop eax
inc ecx
add dl, dl
pop eax
inc ecx
add al, bh
pop eax
inc ecx
add al, bh
pop eax
inc ecx
add dl, bl
push ebx
inc ecx
add al, bh
pop eax
inc ecx
add al, ah
push ebx
inc ecx
add bh, ch
push ebx
inc ecx
add byte [esi + 0x6900412d], ah
inc ecx
add byte [ebx + 0x37], ah
inc ecx
add ah, ah
cmp dword [ecx], eax
aaa
cmp al, byte [ecx]
mov al, byte [0x7000413a]
cmp al, byte [ecx]
mov al, byte [0xa000413a]
cmp al, byte [ecx]
mov al, byte [0xa000413a]
cmp al, byte [ecx]
cmpsb byte [esi], byte es:[edi]
cmp al, byte [ecx]
arpl word [edi], si
inc ecx
add cl, dl
cmp al, byte [ecx]
lahf
cmp al, 65
add bh, dl
cmp al, byte [ecx]
sar byte [edx], 0x41
add byte [edi - 1627373252], bl
aaa
inc ecx
add byte [edi], dl
inc ecx
add byte [0xcc00413e], ah
cmp dword [ecx], eax
mov dword [0x3f00413e], eax
inc ecx
add byte [ebx + 0x3f00413e], ah
inc ecx
add dl, dl
cmp dword [ecx], eax
dec esi
inc ecx
add byte [esi + edi + 0x41], dl
add byte [ebp + 0x3e], bl
inc ecx
add byte [eax - 0x7fffbec2], al
inc ecx
add byte [eax + 0x1000413e], al
inc ecx
inc ecx
add cl, ch
das
inc ecx
add dl, ch
inc eax
inc ecx
add byte [edx + 0x40], ah
inc ecx
add byte [edi + 0x41], al
inc ecx
add byte [esi + 0x5004141], bl
inc edx
inc ecx
add al, ah
inc ecx
inc ecx
add byte [0x62004142], al
inc eax
inc ecx
add byte [edx], bh
inc edx
inc ecx
add byte [ecx - 0x21ffbec0], ah
inc esp
inc ecx
add byte [ecx], dh
inc ecx
inc ecx
add byte [ebp + 0x31004140], bh
inc ecx
inc ecx
add byte [ebp - 0x1bffbec0], bh
inc esp
inc ecx
add ah, cl
inc eax
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, cl
inc eax
inc ecx
add dl, dl
inc eax
inc ecx
add dh, bl
inc eax
inc ecx
add byte [eax], al
inc ecx
inc ecx
add byte [eax], al
inc ecx
inc ecx
add byte [eax], dl
inc ecx
inc ecx
add byte [eax], al
inc ecx
inc ecx
add byte [eax], dl
inc ecx
inc ecx
add byte [eax], dl
inc ecx
inc ecx
add byte [eax], dl
inc ecx
inc ecx
add byte [eax - 0x53ffbed7], al
nop
inc ecx
add byte [ebx - 0x7a], dl
inc ecx
add byte [edi - 0x6b], ah
inc ecx
add byte [eax + edx*4 + 0x7b1b0041], ch
inc ecx
add bh, dl
imul eax, dword [ecx], 0xffffff96
outsb dx, byte [esi]
inc ecx
add byte [ecx - 0x66ffbe71], al
add byte [ecx], 0x96
outsb dx, byte [esi]
inc ecx
add byte [ebx + eax*4 + 0x41], bl
add byte [ebp - 0x54ffbe8b], ch
pop dword [ecx]
push ss
add byte [ecx], 0
js 0x44a980
add byte [ebx - 0x2ffbe71], ch
outsb dx, byte [esi]
inc ecx
add byte [eax + 0x78], bl
inc ecx
add ch, bh
outsb dx, byte [esi]
inc ecx
add byte [eax + 0x30004171], dl
jns 0x44a998
add byte [eax - 0x67ffbe8d], bl
jae 0x44a9a0
add byte [ebp + esi*2 - 0x7c90ffbf], bl
inc ecx
add byte [ecx + 0x6a004176], dh
push 0x41
add byte [edx], bh
mov al, byte [ecx]
mov al, byte gs:[ecx]
scasd eax, dword es:[edi]
add byte [ecx], 63
imul eax, dword [ecx], case.0x414233.55
fcomp qword [eax + 0x6a300041]
inc ecx
push eax
jns 4499908
add ah, bl
cwde
inc ecx
add byte [eax], dh
push 0x41
add byte [ecx], dh
js 0x44a9d0
add byte [0x88004186], ah
xchg edx, eax
inc ecx
add byte [0x27004186], ah
and eax, 0x27004186
mov byte [ecx], al
nop
ja 4499940
add ah, ah
cdq
inc ecx
add byte [edx + 0x7b], bl
inc ecx
add cl, bh
test dword [ecx], eax
cdq
xchg edx, eax
inc ecx
add byte [edx - 0x6affbe7f], dl
xchg ebx, eax
inc ecx
add byte [eax + 0x71], dh
inc ecx
add byte [eax + 0x72], al
inc ecx
add dh, cl
into
mov dword [ecx], eax
inc eax
jb 4499980
add byte [eax + edx*4], dh
inc ecx
add byte [esi + 0x51004195], cl
jb 0x44aa18
mov ss, word [ebp + 0x72510041]
inc ecx
add byte [esi + 0x65004195], cl
jbe 0x44aa20
add byte [edi], ah
jbe 0x44aa24
add byte [edi], bl
pop ds
xchg ecx, eax
inc ecx
add byte [0x15004166], dl
inc cx
add ah, bl
jl 0x44aa34
add byte [edx - 0x49ffbe96], dh
outsb dx, byte [esi]
inc ecx
add dl, dl
add dword [ecx], case.0x414233.87
lodsb al, byte [esi]
mov eax, dword [ecx]
sub edx, dword [esi - 0x7453ffbf]
inc ecx
add byte [0xf600418a], cl
lodsb al, byte [esi]
mov eax, dword [ecx]
or eax, 0xf600418a
nop
inc ecx
add byte [eax + 0x41004172], dl
push 0x41
nop
jb 4500060
add byte [ecx + 0x6a], al
inc ecx
add dl, dh
jne 0x44aa64
bnd jne 0x44aa64
add byte [edx], al
cdq
inc ecx
add byte [ecx + 0x6a], al
add bl, byte [ecx + 0x6a410041]
inc ecx
add byte [edx - 0x69], dh
inc ecx
add byte [edx + 0x2d004173], bh
ja 0x44aa78
sub eax, 0xa004177
add byte [edx], cl
push 0x41
add byte [edi + 0x77], bh
inc ecx
add byte [edx], cl
push 0x41
add byte [edx + 0x11004190], cl
xchg ebp, eax
inc ecx
add byte [esi + 0x77], bl
inc ecx
add byte [esp + edx*4 + 0x41], bl
add bh, bl
mov dword [ecx], eax
sbb al, 0x99
inc ecx
add byte [edx], bl
ja 0x44aaa0
sbb dh, byte [edi + 0x41]
add byte [ecx], bl
lea eax, [ecx]
mov al, byte [0x9a004176]
pop dword [ecx]
lcall 0x417e, 0xd600418f
add ah, al
cdq
inc ecx
add byte [esi + edi*2], bl
sbb al, 0x7e
inc ecx
add byte [edi + 0x7e], dh
inc ecx
add byte [eax + ecx*4], al
inc ecx
add byte [edx + 0x6e], ch
inc ecx
add byte [eax + ecx*4], al
inc ecx
add byte [esi], cl
outsd dx, dword [esi]
inc ecx
add dl, ah
ja 0x44aad4
add byte [esi + edx*4], cl
inc ecx
add dh, ah
push 0x41
add dl, bl
outsb dx, byte [esi]
inc ecx
add byte [esi - 0x25ffbe7c], dh
mov dh, 0x84
inc ecx
add dl, bl
outsb dx, byte [esi]
inc ecx
add byte [esi - 0x75], ch
inc ecx
add byte [edi - 0x46ffbe95], dh
mov dword [ecx], eax
mov ecx, 0xbb004189
jl 4500220
add dh, ah
push 0x41
add dl, al
jbe 0x44ab04
add byte [edx + ecx*4 + 0x72b30041], bl
inc ecx
add byte [edx + ecx*4 - 0x7b68ffbf], bl
inc ecx
add dl, ch
imul eax, dword [ecx], 0x4d
je 0x44ab1c
ljmp 0x4174:0x4d00416b
add byte [0x92004174], ch
push 0x41
add bl, bh
imul eax, dword [ecx], 0x2f
outsd dx, dword [esi]
inc ecx
add byte [edi], ch
outsd dx, dword [esi]
inc ecx
add byte [ecx], cl
ja 0x44ab34
add byte [edx], dh
xchg ebp, eax
inc ecx
add dl, bl
jae 0x44ab3c
add dl, bl
jae 0x44ab40
fidiv dword [ebx + 0x41]
add byte [esi - 0x6b], dl
inc ecx
add byte [ebp + esi*2 + 0x41], bh
jl 0x44ab7b
inc ecx
add ch, ch
jl 0x44ab4c
add byte [esi + eax*4], dl
inc ecx
add ah, ah
xchg dword [ecx], eax
adc al, 0x86
inc ecx
add bl, bh
xchg ebp, eax
inc ecx
add byte [edi + 0x1100416b], dl
xchg edi, eax
imul eax, dword [ecx], 17
jns 0x44ab64
add byte [esi + 0x6b], ch
inc ecx
add byte [eax + 0x3b004193], al
jnp 0x44ab70
add byte [eax - 0x5ffbe6d], al
cli
jae 0x44ab78
add al, ch
jbe 0x44ab7c
add byte [esi + 0x76], al
inc ecx
inc esi
jbe 4500352
add byte [eax + 0x72], dh
jo 0x44abb4
inc ecx
add byte [edx + 0x6e], cl
inc ecx
add ch, bh
add dword [ecx], case.0x414233.168
cld
dec edx
outsb dx, byte [esi]
inc ecx
add ah, bh
mov dword [ecx], eax
sub al, 0x7c
inc ecx
add byte [esp + esi*2], bl
inc ecx
add byte [ebx - 0x6b], al
inc ecx
add byte [esp + edi*2], ch
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp - 0x3fffbe5d], ch
mov dword [0xa3c20041], eax
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
lodsd eax, dword [esi]
mov dword [0xa3c00041], eax
inc ecx
add dl, al
mov dword [0xa3c20041], eax
inc ecx
add bl, bl
mov dword [0xa3f00041], eax
inc ecx
add al, dh
mov dword [0xa3f00041], eax
inc ecx
add dl, dh
mov dword [0xa3f20041], eax
inc ecx
add dl, dh
mov dword [0xa85b0041], eax
ret 0x41a3
add dl, al
mov dword [0xa3db0041], eax
inc ecx
add al, dh
mov dword [0xa3f00041], eax
inc ecx
add al, dh
mov dword [0xa3f20041], eax
inc ecx
add dl, dh
mov dword [0xa3f20041], eax
inc ecx
add byte [ebx - 0x58], bl
ret 0x41a3
invalid
inc ecx
add dl, al
movsb byte es:[edi], byte [esi]
inc ecx
add bl, dh
movsb byte es:[edi], byte [esi]
inc ecx
add byte [ecx], al
movsd dword es:[edi], dword [esi]
inc ecx
add byte [edx], ah
movsd dword es:[edi], dword [esi]
inc ecx
add byte [ecx - 0x5b], dl
inc ecx
add byte [ebp - 0x5a], bl
pop ebp
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [eax - 0x5a], dh
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [ebp - 0x68ffbe5a], al
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [edi - 0x15ffbe5a], dl
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [ebp - 0x58], dl
inc ecx
add byte [ebp - 0x58], dl
inc ecx
add byte [ebp - 0x56ffbe5a], bl
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [ecx - 0x56ffbe5a], ch
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx - 0x3fffbe5a], ch
mov dword [0xa3f00041], eax
inc ecx
add byte [ebx - 0x5c], dl
inc ecx
add byte [ebx - 0x5a], ah
inc ecx
add byte [edx + 0x10041a7], ah
add byte [eax], al
add al, al
mov dword [0xa3c00041], eax
inc ecx
add al, al
mov dword [0xa3c20041], eax
inc ecx
add al, dh
mov dword [0xa3f00041], eax
inc ecx
add dl, dh
mov dword [0xa3f00041], eax
inc ecx
add byte [ebx - 0x5c], dl
inc ecx
add dl, al
movsb byte es:[edi], byte [esi]
inc ecx
add bl, dh
movsb byte es:[edi], byte [esi]
inc ecx
add dl, al
movsb byte es:[edi], byte [esi]
inc ecx
add byte [ebp - 0x58], dl
inc ecx
add byte [ecx], al
movsd dword es:[edi], dword [esi]
inc ecx
add byte [edi + 0x220041a6], dl
movsd dword es:[edi], dword [esi]
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [ecx - 0x5b], dl
inc ecx
add byte [ebp - 0x5a], bl
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [ebx - 0x5a], ah
inc ecx
add byte [eax - 0x5a], dh
inc ecx
add byte [edi - 0x5a], bh
inc ecx
add byte [eax - 0x5a], dh
inc ecx
add byte [ebp - 0x68ffbe5a], al
cmpsb byte [esi], byte es:[edi]
inc ecx
add dl, ch
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [edx - 0x5dffbe59], ah
cmpsd dword [esi], dword es:[edi]
inc ecx
add byte [ebp - 0x58], dl
inc ecx
add byte [ebp - 0x56ffbe5a], bl
cmpsb byte [esi], byte es:[edi]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x10041a6], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + ebp*4], bh
inc ecx
add byte [ecx - 0x56], ah
inc ecx
add byte [edx + 0x1d0041aa], dl
lodsb al, byte [esi]
inc ecx
add byte [esp + ebp*4], ch
inc ecx
add byte [esp + ebp*4], ch
inc ecx
add byte [edx], dh
lodsb al, byte [esi]
inc ecx
add byte [ebx], bh
lodsb al, byte [esi]
inc ecx
add byte [ebx], bh
lodsb al, byte [esi]
inc ecx
add byte [edx], bl
lodsd eax, dword [esi]
inc ecx
add byte [eax], ah
lodsd eax, dword [esi]
inc ecx
add byte [edx], ah
lodsd eax, dword [esi]
inc ecx
add byte [edx], ah
lodsd eax, dword [esi]
inc ecx
add byte [eax], ch
lodsd eax, dword [esi]
inc ecx
add byte [ecx], dh
lodsd eax, dword [esi]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], dh
lodsd eax, dword [esi]
inc ecx
add byte [ecx], dh
lodsd eax, dword [esi]
inc ecx
add byte [esi - 0x52], al
inc ecx
add byte [ecx + 0x10041ae], bl
add byte [eax], al
add byte [ecx - 0x60ffbe52], bl
scasb al, byte es:[edi]
inc ecx
add byte [ecx], ch
scasd eax, dword es:[edi]
inc ecx
add byte [edi], ch
scasd eax, dword es:[edi]
inc ecx
add byte [eax], bh
scasd eax, dword es:[edi]
inc ecx
add byte [ecx - 0x48ffbe52], dh
scasb al, byte es:[edi]
inc ecx
add al, al
scasb al, byte es:[edi]
inc ecx
add dl, ch
scasb al, byte es:[edi]
inc ecx
add byte [edi], bh
scasd eax, dword es:[edi]
inc ecx
add byte [ebx], bl
scasd eax, dword es:[edi]
inc ecx
add byte [ebp - 0x51], bl
inc ecx
add byte [eax - 0x51], dh
inc ecx
add byte [eax - 0x7fffbe51], al
scasd eax, dword es:[edi]
inc ecx
add byte [eax - 0x7fffbe51], al
scasd eax, dword es:[edi]
inc ecx
add byte [esi - 0x79ffbe51], al
scasd eax, dword es:[edi]
inc ecx
add byte [ecx - 0x4f], ch
inc ecx
add byte [ecx], ah
mov bl, 0x41
add byte [edx], ch
mov bl, 0x41
add byte [ecx + ecx*8 + 0x41], dl
add byte [ebp - 0x37], al
inc ecx
add byte [edx - 0x37], bl
inc ecx
add byte [eax - 0x60ffbe37], al
leave
inc ecx
add byte [edi - 0x5affbe37], bl
leave
inc ecx
add byte [ecx - 0x4effbe37], dh
leave
inc ecx
add byte [ebx + 0x360041ca], ch
int3