Function at 0x427120
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4a06db
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x968
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov dword [esp + 0x8c], ecx
test eax, eax
jne 0x427156
lea eax, [esp + 0x78]
mov esi, dword [0x4c6a44]
mov edx, eax
mov ebx, ecx
mov dword [esp + 0x38], eax
mov dword [edx], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0x10], ebx
test ecx, ecx
je case.0x427485.116
mov edi, dword [esp + 0x78]
mov edi, edi
cmp dword [0x4cc060], 0
je 0x4271ba
cmp dword [0x4cc050], 0
je 0x4271a8
mov eax, dword [0x4cc048]
push eax
call dword [0x4a12d0]
mov dword [0x4cc050], 0
call dword [0x4a1588]
xor eax, eax
mov dword [0x4cc060], eax
mov dword [0x4cc048], eax
call dword [0x4a12f0]
mov edx, dword [0x4c6a44]
mov ecx, eax
sub ecx, dword [0x4cc004]
cmp ecx, dword [edx + 0xd8]
jbe 0x427207
push 0
push 0
push 0
push 0
lea eax, [esp + 0x134]
push eax
call dword [0x4a1610]
test eax, eax
je 0x4271fc
push 1
push 0xffffffffffffffff
call fcn.004013d0
add esp, 8
call dword [0x4a12f0]
mov dword [0x4cc004], eax
cmp byte [esi + 0xec], 0
jne 0x427238
cmp byte [esi + 0xee], 0
jne 0x427238
mov edx, dword [0x4cbff8]
cmp edx, 0xffffffff
jle 0x427238
mov ecx, dword [esi + 0x28]
cmp ecx, edx
jle 0x427234
mov byte [esi + 0xec], 1
jmp 0x427238
inc ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
cmp ecx, 0xffffffff
jl 0x42725b
jg 0x427249
cmp edx, 0xffffffff
jbe 0x42725b
cmp dword [0x4cbff4], ecx
jg 0x42726d
jl 0x42725b
cmp dword [0x4cbff0], edx
jae 0x42726d
mov ecx, dword [esi + 0x24]
cmp ecx, 0xffffffff
jle 0x427279
sub eax, dword [0x4cc000]
cmp eax, ecx
jb 0x427279
push 1
push 0xa
call fcn.004013d0
add esp, 8
cmp byte [esi + 0xf8], 0
je 0x42729a
push 1
push 0x8000012f
call fcn.004013d0
add esp, 8
cmp byte [esi + 0xf8], 0
jne 0x427282
mov dword [0x4cbb3c], ebx
cmp byte [esi + 0xf9], 0
je 0x4272e2
mov ecx, dword [0x4cb480]
mov dword [ecx*4 + 0x4cae40], ebx
call dword [0x4a12f0]
mov ecx, dword [0x4cb480]
mov dword [ecx*4 + 0x4c9e70], eax
inc ecx
mov dword [0x4cb480], ecx
cmp ecx, 0x190
jl 0x4272e2
mov dword [0x4cb480], 0
mov al, byte [ebx]
cmp al, 1
je 0x427309
cmp al, 0x6b
je 0x427309
cmp al, 0x72
je 0x427309
mov edx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push edx
push ebx
call fcn.0045c600
mov edi, eax
cmp edi, 1
jne 0x42b7cf
mov cl, byte [ebx]
mov byte [esp + 0xdc], cl
cmp cl, 9
jb 0x42746d
cmp cl, 0x20
ja 0x42746d
add dword [0x4cbff0], 1
push ebx
adc dword [0x4cbff4], 0
call fcn.0042c130
cmp eax, 3
jne 0x4273cf
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x42736f
mov esi, dword [ebp + 0xc]
lea esp, [esp]
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x28]
push eax
push esi
push 2
call fcn.00427120
mov ecx, dword [ebx + 0x14]
mov edi, eax
mov eax, dword [esp + 0x28]
cmp eax, ecx
je 0x427350
jmp 0x427385
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x28]
push edx
push eax
push 3
call fcn.00427120
mov edi, eax
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x4285ae
cmp dword [ebp + 8], 3
je 0x42b7c9
cmp edi, 1
jne 0x42b7c9
test eax, eax
je 0x4273b5
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x42b812
jmp 0x4285aa
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x21
mov dword [esp + 0x10], ebx
jne 0x4285ae
mov edx, ebx
mov eax, dword [edx + 0x18]
jmp 0x4285aa
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x21
mov dword [esp + 0x10], ebx
jne 0x427447
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x427405
mov esi, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x28]
push edx
push esi
push 2
call fcn.00427120
mov ecx, dword [ebx + 0x14]
mov edi, eax
mov eax, dword [esp + 0x28]
cmp eax, ecx
je 0x4273e6
jmp 0x42741b
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
push edx
push 3
call fcn.00427120
mov edi, eax
mov eax, dword [esp + 0x28]
cmp dword [ebp + 8], 3
je 0x42b7c9
cmp edi, 1
jne 0x42b7c9
test eax, eax
je 0x42823a
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x42b812
jmp 0x4285aa
cmp dword [ebp + 8], 3
jne 0x4285ae
mov eax, 1
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, cl
add eax, 0xffffffa0
cmp eax, 0x80
ja case.0x427485.98
movzx eax, byte [eax + 0x42bc30]
jmp dword [eax*4 + 0x42bbec]
mov edi, 1
add dword [0x4cbff0], edi
adc dword [0x4cbff4], 0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x427519
xor ecx, ecx
cmp dword [ebx + 0xc], edi
mov edx, eax
sete cl
mov dword [esp + 0x60], edx
mov ebx, ecx
test ebx, ebx
je 0x4274cf
mov eax, dword [esi + 0xb4]
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb4], 0
mov ecx, edx
call fcn.00401290
mov edi, eax
test ebx, ebx
je 0x4274f2
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb8], 0
test edi, edi
je 0x42b7cf
cmp edi, 8
je 0x42b7cf
cmp dword [ebp + 8], 3
je 0x42b7e8
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
jmp 0x4285aa
mov edx, dword [esp + 0x10]
push edx
mov bl, 1
call fcn.00444ae0
mov edx, eax
mov dword [esp + 0x60], edx
test edx, edx
je 0x42bb26
cmp dword [esi + 0xb4], 0
je 0x42754f
mov eax, dword [edx + 8]
call fcn.00444ba0
test eax, eax
je 0x42754f
mov ebx, edi
jmp 0x4274b9
xor ebx, ebx
jmp 0x4274cf
add dword [0x4cbff0], 1
adc dword [0x4cbff4], 0
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x427587
mov ecx, dword [esp + 0x10]
push ecx
mov bl, 1
call fcn.00444ae0
mov dword [esp + 0x60], eax
test eax, eax
je 0x42bb26
cmp dword [ebp + 8], 3
mov dword [esi + 0xbc], eax
je 0x42b80f
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [edx + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x42b80f
mov dword [esp + 0x10], ecx
jmp 0x4285ae
add dword [0x4cbff0], 1
mov eax, dword [esp + 0x8c]
adc dword [0x4cbff4], 0
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x4275ff
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], bx
je 0x4275fd
mov ebx, dword [0x4cb540]
test ebx, ebx
je 0x4275fd
mov ecx, dword [ebx + 4]
push edi
push ecx
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x4275ff
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x4275e5
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x40], 0
test ebx, ebx
je 0x427707
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x427635
push 0x4a6e94
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x427635
mov al, 1
jmp 0x427637
xor al, al
lea edx, [esp + 0x60]
push edx
push eax
push ebx
xor eax, eax
call int.0047c7f0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x427707
mov eax, dword [eax + 8]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x4276a5
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x1c]
test edx, edx
je 0x42767b
lea ebx, [ebx]
cmp edi, edx
je 0x4276a5
mov edx, dword [edx + 0x1c]
test edx, edx
jne 0x427670
push 0x4a3920
push 0
push 0x4ade48
call fcn.004306a0
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esi + 0xb4]
test edx, edx
je 0x42773a
call fcn.00444ba0
test eax, eax
je 0x42773a
mov ebx, 1
mov dword [esi + 0xb8], edx
mov dword [esi + 0xb4], 0
mov ecx, dword [esp + 0x60]
call fcn.00401290
mov edi, eax
test ebx, ebx
je 0x4276f6
mov eax, dword [esi + 0xb8]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], 0
test edi, edi
je 0x42b7cf
cmp edi, 8
je 0x42b7cf
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0x8c]
sete cl
movzx edx, cl
push edx
push eax
call fcn.00430340
cmp dword [ebp + 8], 3
je 0x42b7e8
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x10], edx
jmp 0x4285ae
xor ebx, ebx
jmp 0x4276d1
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], eax
dec eax
je 0x427792
sub eax, 3
je 0x427774
sub eax, 5
jne 0x427832
push eax
push eax
mov eax, dword [0x4ca504]
push eax
mov eax, 1
call fcn.00415ca0
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x427832
mov ecx, dword [0x4ca500]
push 0
push 0
push ecx
xor eax, eax
call fcn.00415ca0
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x427832
movzx eax, byte [ebx + 1]
sub eax, 0
je 0x42782a
dec eax
je 0x4277ec
mov edx, dword [0x4ca500]
push 0x4a98ec
push edx
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x4277c4
mov dword [esp + 0x18], 5
jmp 0x427832
mov eax, dword [0x4ca500]
push 0
push 0
push eax
xor eax, eax
call fcn.00415ca0
xor ecx, ecx
add esp, 0xc
test eax, eax
setne cl
mov dword [esp + 0x64], eax
add ecx, 3
mov dword [esp + 0x18], ecx
jmp 0x427832
mov eax, dword [0x4ca500]
push 0
push 1
push 1
push 1
call fcn.004765a0
add esp, 0x10
test eax, eax
jne 0x42782a
mov edx, dword [0x4ca500]
push eax
push eax
push edx
call fcn.00415ca0
xor ecx, ecx
add esp, 0xc
test eax, eax
setne cl
mov dword [esp + 0x64], eax
add ecx, 3
mov dword [esp + 0x18], ecx
jmp 0x427832
mov dword [esp + 0x18], 2
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 3]
cmp eax, 7
ja case.0x427849.5
movzx edx, byte [eax + 0x42bcc0]
jmp dword [edx*4 + 0x42bcb4]
mov esi, dword [0x4ca504]
call fcn.00416530
mov dword [esp + 0x58], eax
test eax, eax
je 0x42b8fe
mov eax, dword [0x4ca508]
cmp word [eax], 0x31
jne 0x42788b
cmp word [eax + 2], 0
jne 0x42788b
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x5c], 1
jmp case.0x427849.5
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x5c], 0
jmp case.0x427849.5
cmp ecx, 4
jne 0x4278de
mov esi, dword [0x4ca508]
call fcn.00416530
mov dword [esp + 0x58], eax
mov eax, dword [0x4ca50c]
cmp word [eax], 0x31
jne 0x4278cf
cmp word [eax + 2], 0
jne 0x4278cf
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x5c], 1
jmp 0x4278fc
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x5c], 0
jmp 0x4278fc
mov eax, dword [0x4ca508]
call fcn.00416580
mov dword [esp + 0x58], eax
shr eax, 2
and al, 1
mov byte [esp + 0x5c], al
je 0x4278fc
and dword [esp + 0x58], 0xfffffffb
cmp dword [esp + 0x58], 0
je 0x42b92c
mov byte [esp + 0x1f], 0
mov dword [esp + 0x28], 0
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x6c
mov dword [esp + 0x24], ebx
jne 0x427929
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x24], eax
jmp 0x42792b
xor ebx, ebx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xac], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
cmp eax, 8
je 0x427972
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
lea ecx, [eax - 2]
cmp ecx, 8
ja case.default.0x42797e
jmp dword [ecx*4 + 0x42bcc8]
mov esi, dword [esp + 0x10]
cmp byte [esi + 1], 0
jbe 0x4279a2
xor edi, edi
mov ecx, esi
call fcn.00423490
mov byte [esp + 0x84], 0
jmp 0x4279ae
xor eax, eax
xor edx, edx
mov byte [esp + 0x84], 1
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ebx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x33]
push eax
push ecx
mov edi, esi
call fcn.0042d790
mov edi, eax
jmp case.default.0x42797e
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x23]
push eax
call fcn.0042d8f0
mov edi, eax
jmp case.default.0x42797e
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x27]
push edx
push eax
push ecx
call fcn.0042dae0
mov edi, eax
jmp case.default.0x42797e
mov edx, dword [0x4ca508]
push 0x4aaedc
push edx
call fcn.0048fff9
add esp, 8
push ebx
test eax, eax
je 0x427a4a
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x27]
push ecx
push edx
push eax
call fcn.0042ead0
mov edi, eax
jmp case.default.0x42797e
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x27]
push edx
push eax
push ecx
call fcn.0042edc0
mov edi, eax
jmp case.default.0x42797e
lea esi, [esp + 0xec]
call fcn.00416bd0
mov dword [esp + 0x97c], 0
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x427ad6
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0xfc]
and eax, 0x7fffffff
push 0x30c
mov ecx, esi
call fcn.004741f0
test al, al
je 0x427ad6
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x27]
push eax
push ecx
mov edx, ebx
mov ebx, dword [esp + 0x20]
mov ecx, esi
call fcn.0042f0d0
mov edi, eax
call fcn.00416b30
jmp 0x427adb
mov edi, 1
lea ecx, [esp + 0xec]
mov dword [esp + 0x97c], 0xffffffff
call fcn.00416c20
jmp case.default.0x42797e
cmp eax, 3
mov eax, dword [0x4ca500]
je 0x427b06
mov eax, dword [0x4ca504]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push edx
push eax
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x33]
push edx
push eax
call fcn.0042df50
mov edi, eax
jmp case.default.0x42797e
lea ecx, [esp + 0x4f]
push ecx
cmp eax, 4
jne 0x427b5a
mov edx, dword [0x4ca500]
push 0
push edx
xor eax, eax
call fcn.00415ca0
mov esi, eax
mov eax, dword [0x4ca504]
mov dword [esp + 0x94], eax
jmp 0x427b74
mov eax, dword [0x4ca504]
lea edx, [esp + 0x8c]
push edx
push eax
mov eax, 1
call fcn.00415ca0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x427bbd
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x5c]
push esi
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x3b]
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0042e6c0
cmp byte [esp + 0x4f], 0
mov edi, eax
je case.default.0x42797e
push esi
call dword [0x4a1040]
jmp case.default.0x42797e
mov edi, 1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
test edi, edi
je 0x42b7cf
cmp edi, 7
je 0x42b7cf
cmp edi, 8
je 0x42b7cf
cmp byte [esp + 0x1f], 0
jne 0x4285ae
mov eax, dword [esp + 0x28]
test eax, eax
je 0x427c52
mov edx, dword [eax + 0x1c]
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x1c]
je 0x4285aa
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 3
je case.0x427485.116
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
jmp 0x4285ae
mov eax, dword [esi + 0x100]
mov dword [esp + 0x40], eax
cmp cl, 0x70
jne 0x427cbf
mov ebx, dword [0x4ca4b0]
mov eax, dword [esi + 0x104]
mov dword [esp + 0x30], eax
mov dword [esi + 0x104], 0
test ebx, ebx
je 0x427c9f
call fcn.004790e0
mov edi, eax
jmp 0x427ca4
mov edi, 1
lea esi, [esp + 0x30]
call fcn.00430ea0
test edi, edi
je 0x42bb26
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x10]
jmp 0x427cd9
or eax, 1
mov dword [esi + 0x100], eax
mov ecx, dword [ebx + 0x18]
cmp byte [ecx], 0x71
je 0x427cd9
or eax, 2
mov dword [esi + 0x100], eax
mov dword [esp + 0x28], 0
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x427d12
lea esp, [esp]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x28]
push edx
push eax
push 2
call fcn.00427120
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x28]
mov edi, eax
cmp edx, ecx
je 0x427cf0
jmp 0x427d28
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x28]
push edx
push eax
push 3
call fcn.00427120
mov edx, dword [esp + 0x28]
mov edi, eax
mov al, byte [esp + 0xdc]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x10], ecx
cmp al, 0x6f
jne 0x427d8c
mov eax, dword [esp + 0x40]
mov dword [esi + 0x100], eax
xor al, al
cmp byte [ecx], 0x70
jne 0x427d61
cmp dword [esi + 0x104], 0
mov al, 1
jne 0x4285ae
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x10], ecx
cmp byte [ecx], 0x71
je 0x427d9d
test al, al
jne 0x427e4e
add esi, 0x104
cmp dword [esi], 0
je 0x427e4e
call fcn.00430ea0
mov edi, 1
jmp 0x427e4a
cmp al, 0x70
jne 0x427e4e
cmp byte [ecx], 0x71
jne 0x427e4e
cmp edi, 1
jne 0x427dae
test edx, edx
je 0x4285ae
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x104]
mov ebx, dword [0x4cb488]
mov dword [esp + 0x40], edx
mov edx, dword [0x4cb48c]
xor eax, eax
mov dword [esp + 0x30], edx
lea edx, [esp + 0xd0]
push edx
push eax
push 3
mov dword [esi + 0x104], eax
mov dword [0x4cb488], eax
mov dword [0x4cb48c], eax
call fcn.00427120
mov dword [esp + 0x24], eax
test ebx, ebx
je 0x427e25
mov eax, dword [0x4cb488]
test eax, eax
je 0x427e16
push eax
call fcn.00490941
add esp, 4
cmp dword [0x4cb48c], 0x400000
jbe 0x427e16
dec dword [0x4cb490]
mov eax, dword [esp + 0x30]
mov dword [0x4cb488], ebx
mov dword [0x4cb48c], eax
mov ebx, dword [esp + 0x24]
cmp ebx, 1
jne 0x42b958
cmp dword [esp + 0xd0], 0
jne 0x42b958
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x104], ecx
mov edx, dword [esp + 0x28]
cmp dword [ebp + 8], 3
je 0x42b9b2
cmp edi, 1
jne 0x42b9b2
test edx, edx
je 0x4285ae
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x1c]
jne 0x42b9a7
mov dword [esp + 0x10], edx
jmp 0x4285ae
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x10], edx
jmp 0x4285ae
mov ebx, dword [0x4cb488]
mov ecx, dword [0x4cb48c]
mov esi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
mov dword [0x4cb488], eax
mov dword [0x4cb48c], eax
mov dword [esp + 0x9c], eax
cmp dword [esi + 0xc], eax
jne 0x427ed2
mov dword [esp + 0x98], 0x41
lea edi, [eax + 1]
jmp 0x427f28
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x94]
push ecx
push eax
push esi
lea ebx, [esp + 0x30]
call fcn.0045c060
mov ebx, dword [esp + 0x18]
mov edi, eax
cmp edi, 1
jne 0x428142
cmp dword [esp + 0x98], 0
jne 0x427f28
cmp dword [esp + 0x90], ebx
jne 0x427f28
mov edx, dword [esp + 0x20]
mov dword [esp + 0x9c], ebx
xor ebx, ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0x74
mov dword [esp + 0x14], eax
jne 0x4280f0
jmp 0x427f40
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
test eax, eax
jne 0x427f5b
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x24], ecx
jmp 0x4280d4
xor esi, esi
cmp dword [esp + 0x40], esi
jle 0x4280d4
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x6c]
push eax
push esi
push ecx
lea ebx, [esp + 0x30]
call fcn.0045c060
mov edi, eax
cmp edi, 1
jne 0x4280b9
cmp dword [esp + 0x70], 0
jne 0x427fa2
mov dword [esp + 0x70], 5
mov dword [esp + 0x6c], 0
cmp dword [esp + 0x98], 0x41
jne 0x42807c
lea edx, [esp + 0x68]
push edx
call fcn.00451060
add esp, 4
dec eax
je 0x42805f
dec eax
je 0x42800a
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
cmp ecx, 6
je 0x428071
cmp ecx, 4
jne 0x427ff0
cmp byte [eax + 0x17], 0
jne 0x427fe6
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x428071
xor ecx, ecx
lea eax, [esp + 0x68]
call fcn.004512f0
xor ecx, ecx
cmp word [eax], cx
setne cl
mov eax, ecx
jmp 0x428090
mov eax, dword [esp + 0x70]
dec eax
cmp eax, 5
ja case.0x428014.3
jmp dword [eax*4 + 0x42bcec]
fild qword [esp + 0x68]
jmp 0x42804d
fld qword [esp + 0x68]
jmp 0x42804d
mov eax, dword [esp + 0x68]
push 1
call fcn.004152a0
jmp 0x42804d
mov eax, dword [esp + 0x6c]
test eax, eax
je case.0x428014.3
fild qword [eax]
jmp 0x42804d
mov edx, dword [esp + 0x68]
push edx
call fcn.00491df2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x428014.6
mov eax, 1
jmp 0x428090
push 1
lea ecx, [esp + 0x6c]
call fcn.004511b0
add esp, 4
or eax, edx
je case.0x428014.6
mov eax, 1
jmp 0x428090
xor eax, eax
jmp 0x428090
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x94]
call fcn.004515a0
add esp, 4
test eax, eax
setne bl
cmp dword [esp + 0x70], 6
jne 0x4280a8
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test bl, bl
jne 0x4280c3
inc esi
cmp esi, dword [esp + 0x40]
jl 0x427f67
jmp 0x4280d4
mov dword [esp + 0x24], 0
jmp 0x4280ce
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
cmp esi, dword [esp + 0x40]
jl 0x4280e8
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x18]
cmp byte [eax], 0x74
mov dword [esp + 0x14], eax
je 0x427f40
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x98], 6
jne 0x428109
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x9c], 0
je 0x428142
test ebx, ebx
je 0x428130
push ebx
call fcn.00490941
add esp, 4
cmp dword [esp + 0x20], 0x400000
jbe 0x428130
dec dword [0x4cb490]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x428180
cmp dword [0x4cb488], 0
je 0x428170
mov ecx, dword [0x4cb488]
push ecx
call fcn.00490941
add esp, 4
cmp dword [0x4cb48c], 0x400000
jbe 0x428170
dec dword [0x4cb490]
mov edx, dword [esp + 0x20]
mov dword [0x4cb488], ebx
mov dword [0x4cb48c], edx
cmp dword [esp + 0x24], 0
je 0x4281a3
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push 2
call fcn.00427120
mov edi, eax
mov eax, dword [esp + 0x28]
jmp 0x4281a9
xor eax, eax
mov dword [esp + 0x28], eax
cmp edi, 1
jne 0x427c33
cmp dword [ebp + 8], 3
je 0x427c33
test eax, eax
je 0x4281d7
mov edx, dword [eax + 0x1c]
cmp edx, dword [esi + 0x1c]
je 0x4285aa
mov edx, dword [esp + 0x38]
mov dword [edx], eax
jmp case.0x427485.116
mov eax, dword [esi + 0x18]
jmp 0x4285aa
cmp dword [ebx + 0xc], 1
jne 0x4281f1
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x10], ecx
jmp 0x4285ae
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x14]
lea edx, [esp + 0x28]
push edx
push eax
push 2
call fcn.00427120
mov edi, eax
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x4285ae
cmp dword [ebp + 8], 3
je 0x42b7c9
cmp edi, 1
jne 0x42b7c9
test eax, eax
je 0x42823a
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [eax + 0x1c]
jne 0x42b812
jmp 0x4285aa
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x10], edx
jmp 0x4285ae
add dword [0x4cbff0], 1
mov ebx, dword [esp + 0x10]
mov esi, dword [0x4ca4b0]
adc dword [0x4cbff4], 0
mov cl, byte [ebx]
mov edi, dword [0x4c6a44]
movzx edx, cl
dec edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edi
cmp edx, 0xe1
ja case.0x428285.8
movzx eax, byte [edx + 0x42bf88]
jmp dword [eax*4 + 0x42bd04]
push ebx
call fcn.0043e420
jmp 0x428593
cmp byte [ebx + 1], 1
mov edx, dword [0x4ca504]
jbe 0x428308
mov eax, dword [ebx + 8]
cmp byte [eax + 0x11], 0
je 0x4282b6
mov edi, 1
jmp 0x42859d
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x4282c9
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
jmp 0x42858d
mov eax, dword [0x4ca4b4]
test eax, eax
je 0x428308
cmp word [edx], 0
jne 0x428308
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4282e5
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x4282fc
sub ecx, 2
jne 0x428308
mov eax, esi
call fcn.004791f0
jmp 0x428593
mov ecx, esi
call fcn.00478f60
jmp 0x428593
push 1
push 0
push 0xffffffffffffffff
push edx
push esi
call fcn.004797c0
jmp 0x428593
mov eax, dword [ebx + 8]
cmp dword [eax + 0x1c], 0
je 0x428336
cmp byte [eax + 0x11], 0
jne 0x428336
mov eax, 1
mov dword [esp + 0x18], eax
xor edi, edi
jmp 0x428377
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x18], 0
test edi, edi
je 0x428365
cmp word [eax], 0
jne 0x428365
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x428360
mov edx, dword [edi + 0xc]
mov cl, byte [edx + 0x17]
cmp cl, 1
je 0x4283c8
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
push 1
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00415170
mov dword [esp + 0x30], eax
mov eax, dword [0x4ca508]
movzx eax, word [eax]
test ax, ax
je 0x42851a
call fcn.00409a80
movzx ecx, ax
push ecx
push 0x4aafac
call fcn.00490e21
add esp, 8
test eax, eax
je 0x42851a
cmp dword [esp + 0x24], 0
jne 0x4283d7
mov edi, 1
jmp 0x42859d
test edi, edi
je 0x428367
push 1
mov ecx, edi
call fcn.00415170
jmp 0x428377
cmp dword [esp + 0x18], 0
je 0x4283e8
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x42840a
test edi, edi
je 0x4283f7
push 0
mov eax, edi
call fcn.004152a0
jmp 0x42840a
mov esi, dword [0x4ca504]
call fcn.00415070
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
push 1
mov ecx, esi
call fcn.00401220
cmp word [eax], 0
je 0x428450
lea ecx, [esp + 0x7c]
push ecx
push 0
push 1
mov ecx, esi
call fcn.00401220
call fcn.00476160
add esp, 4
test eax, eax
jne 0x428471
push 1
push eax
push 0xffffffffffffffff
push 0x4a3920
push esi
call fcn.004797c0
jmp 0x428593
lea edx, [esp + 0xe4]
push edx
call dword [0x4a110c]
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0xe8]
push ecx
call dword [0x4a1134]
mov edx, dword [0x4ca508]
mov ax, word [edx]
call fcn.00409a80
movzx eax, ax
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x428491.69
movzx eax, byte [eax + 0x42c080]
jmp dword [eax*4 + 0x42c06c]
fld qword [esp + 0x30]
fmul qword [0x4c0ec8]
jmp 0x4284cc
fld qword [esp + 0x30]
fmul qword [0x4c0ec0]
jmp 0x4284cc
fld qword [esp + 0x30]
fmul qword [0x4c0eb8]
jmp 0x4284cc
fld qword [esp + 0x30]
fmul qword [0x4c0eb0]
jmp 0x4284cc
fld qword [esp + 0x30]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
call fcn.0049e746
add esi, eax
adc edi, edx
mov dword [esp + 0x7c], esi
push 0
lea eax, [esp + 0x80]
lea esi, [esp + 0x144]
mov dword [esp + 0x84], edi
call fcn.00476410
mov ecx, dword [esp + 0x24]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov eax, 2
cmp dword [esp + 0x24], eax
je 0x4285c3
cmp dword [esp + 0x30], eax
je 0x4285c3
cmp dword [esp + 0x18], 0
je 0x42854e
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
jmp 0x428579
test edi, edi
je 0x42855d
push 0
mov eax, edi
call fcn.00415220
jmp 0x428570
mov esi, dword [0x4ca504]
call fcn.00415040
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xbc], edx
mov edi, eax
push 0
mov eax, esi
call fcn.00415220
add eax, edi
adc edx, dword [esp + 0xbc]
push edx
push eax
push esi
call fcn.00415110
mov edi, eax
test edi, edi
je 0x42b7cf
cmp dword [ebp + 8], 3
je 0x42b7cf
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
test ebx, ebx
je case.0x427485.116
mov esi, dword [esp + 0x50]
jmp 0x427180
cmp dword [esp + 0x18], 0
je 0x4285d4
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x4285f6
test edi, edi
je 0x4285e3
push 0
mov eax, edi
call fcn.004152a0
jmp 0x4285f6
mov esi, dword [0x4ca504]
call fcn.00415070
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
mov eax, esi
call fcn.004152a0
fadd qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00415140
jmp 0x428593
mov eax, dword [0x4ca508]
movzx eax, word [eax]
test ax, ax
je 0x428712
call fcn.00409a80
movzx ecx, ax
push ecx
push 0x4aafac
call fcn.00490e21
add esp, 8
test eax, eax
je 0x428712
mov ecx, dword [0x4ca4b4]
mov edi, dword [0x4ca504]
test ecx, ecx
je 0x42867d
cmp word [edi], 0
jne 0x42867d
mov al, byte [ecx + 0x17]
test al, al
jne 0x42866a
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x42867d
test ecx, ecx
je 0x42867d
push 0
push 1
call fcn.00401220
mov edi, eax
push 0
push 1
mov ecx, esi
call fcn.00401220
push eax
lea ebx, [esp + 0x5b]
mov eax, edi
call fcn.004764c0
add esp, 4
cmp byte [esp + 0x57], 0
mov edi, eax
mov ebx, edx
je 0x4286be
push 1
push 0
push 0xffffffffffffffff
push 0x4a3920
mov eax, esi
push eax
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, dword [0x4ca508]
mov ax, word [ecx]
call fcn.00409a80
movzx eax, ax
cmp eax, 0x44
je 0x4286ed
cmp eax, 0x48
je 0x4286e4
cmp eax, 0x4d
jne 0x4286ff
push 0
push 0x3c
jmp 0x4286f4
push 0
push 0xe10
jmp 0x4286f4
push 0
push 0x15180
push ebx
push edi
call fcn.0049e7c0
mov edi, eax
mov ebx, edx
push ebx
push edi
mov edx, esi
push edx
call fcn.00415110
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x428730
cmp byte [eax + 0x11], dl
jne 0x428730
mov edi, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
jmp 0x428783
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x18], edx
cmp edi, edx
je 0x42876d
cmp word [eax], dx
jne 0x42876d
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x428755
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x42876d
mov dword [esp + 0x14], edi
cmp edi, edx
je 0x428771
push 1
mov ecx, edi
call fcn.00415170
jmp 0x428781
mov dword [esp + 0x14], edx
push 1
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00415170
cmp edi, 2
je 0x42880e
cmp eax, 2
je 0x42880e
cmp dword [esp + 0x18], 0
je 0x4287ca
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xcc], eax
push 0
mov eax, esi
call fcn.00415220
sub eax, edi
sbb edx, dword [esp + 0xcc]
jmp 0x42858b
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4287db
push 0
call fcn.00415220
jmp 0x4287ee
mov esi, dword [0x4ca504]
call fcn.00415040
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov edi, eax
push 0
mov eax, esi
mov dword [esp + 0xd0], edx
call fcn.00415220
sub eax, edi
sbb edx, dword [esp + 0xcc]
jmp 0x42858b
cmp dword [esp + 0x18], 0
je 0x42881f
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x428843
mov eax, dword [esp + 0x14]
test eax, eax
je 0x428830
push 0
call fcn.004152a0
jmp 0x428843
mov esi, dword [0x4ca504]
call fcn.00415070
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
mov eax, esi
call fcn.004152a0
fsub qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00415140
jmp 0x428593
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x428883
cmp byte [eax + 0x11], dl
jne 0x428883
mov edi, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
jmp 0x4288d6
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x18], edx
cmp edi, edx
je 0x4288c0
cmp word [eax], dx
jne 0x4288c0
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x4288a8
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x4288c0
mov dword [esp + 0x14], edi
cmp edi, edx
je 0x4288c4
push 1
mov ecx, edi
call fcn.00415170
jmp 0x4288d4
mov dword [esp + 0x14], edx
push 1
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00415170
cmp edi, 2
je 0x42894f
cmp eax, 2
je 0x42894f
cmp dword [esp + 0x18], 0
je 0x428904
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xb4], eax
jmp 0x428931
mov eax, dword [esp + 0x14]
test eax, eax
je 0x428915
push 0
call fcn.00415220
jmp 0x428928
mov esi, dword [0x4ca504]
call fcn.00415040
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xb4], edx
mov edi, eax
push 0
mov eax, esi
call fcn.00415220
mov ecx, dword [esp + 0xb4]
push ecx
push edi
push edx
push eax
call fcn.00496930
jmp 0x42858b
cmp dword [esp + 0x18], 0
je 0x428960
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428984
mov eax, dword [esp + 0x14]
test eax, eax
je 0x428971
push 0
call fcn.004152a0
jmp 0x428984
mov esi, dword [0x4ca504]
call fcn.00415070
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push 0
fstp qword [esp + 0x34]
mov eax, esi
call fcn.004152a0
fmul qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00415140
jmp 0x428593
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x4289c4
cmp byte [eax + 0x11], dl
jne 0x4289c4
mov edi, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
jmp 0x428a17
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x18], edx
cmp edi, edx
je 0x428a01
cmp word [eax], dx
jne 0x428a01
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x4289e9
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x428a01
mov dword [esp + 0x14], edi
cmp edi, edx
je 0x428a05
push 1
mov ecx, edi
call fcn.00415170
jmp 0x428a15
mov dword [esp + 0x14], edx
push 1
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00415170
cmp edi, 2
je 0x428ab2
cmp eax, 2
je 0x428ab2
cmp dword [esp + 0x18], 0
je 0x428a4d
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xa4], eax
jmp 0x428a7d
cmp dword [esp + 0x14], 0
je 0x428a61
mov eax, dword [esp + 0x14]
push 0
call fcn.00415220
jmp 0x428a74
mov esi, dword [0x4ca504]
call fcn.00415040
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xa4], edx
mov edi, eax
mov ecx, edi
or ecx, dword [esp + 0xa4]
jne 0x428a94
mov ecx, esi
call fcn.004150b0
jmp 0x428593
push 0
mov eax, esi
call fcn.00415220
mov ecx, dword [esp + 0xa4]
push ecx
push edi
push edx
push eax
call fcn.0049e7c0
jmp 0x42858b
cmp dword [esp + 0x18], 0
je 0x428ac3
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428ae7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x428ad4
push 0
call fcn.004152a0
jmp 0x428ae7
mov esi, dword [0x4ca504]
call fcn.00415070
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
fst qword [esp + 0x30]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x428b02
mov ecx, esi
call fcn.004150b0
jmp 0x428593
push 0
mov eax, esi
call fcn.004152a0
fdiv qword [esp + 0x30]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00415140
jmp 0x428593
mov edi, 2
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x18], eax
test eax, eax
jns 0x428b3e
mov dword [esp + 0x18], 0
jmp 0x428b54
mov edi, 1
mov ecx, ebx
call fcn.00423400
cmp dword [esp + 0x18], eax
jle 0x428b54
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [0x4ca504]
push 1
push 0
push ecx
push edx
push esi
call fcn.004797c0
jmp 0x428593
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423490
mov ebx, eax
test ebx, ebx
jns 0x428b85
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423400
cmp ebx, eax
jbe 0x428b99
mov ebx, eax
mov ecx, dword [0x4ca504]
push 1
push 0
sub eax, ebx
push ebx
lea eax, [ecx + eax*2]
push eax
push esi
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
cmp byte [ebx + 1], 4
jb 0x428bf2
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x34]
cmp word [eax], 0
je 0x428bf2
mov ecx, dword [esp + 0x10]
mov edi, 3
call fcn.00423490
mov esi, eax
cmp esi, 1
jge 0x428bf7
mov ecx, dword [esp + 0x20]
call fcn.004150b0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov esi, 0x7fffffff
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423490
mov ecx, dword [0x4ca510]
mov ebx, eax
mov ax, word [ecx]
call fcn.00409a80
cmp ax, 0x4c
jne 0x428c44
cmp ebx, 1
jge 0x428c32
mov ecx, dword [esp + 0x20]
call fcn.004150b0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edx, 1
sub edx, esi
add ebx, edx
cmp ebx, 1
jge 0x428c4e
lea esi, [esi + ebx - 1]
cmp ebx, 1
jge 0x428c4e
mov ebx, 1
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423400
cmp eax, ebx
jae 0x428c72
mov ecx, dword [esp + 0x20]
call fcn.004150b0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, edi
sub ecx, ebx
add eax, ecx
cmp esi, eax
jbe 0x428c7e
mov esi, eax
mov edx, dword [0x4ca504]
mov eax, dword [esp + 0x20]
push 1
push 0
push esi
lea ebx, [edx + ebx*2 - 2]
push ebx
push eax
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423490
mov ebx, eax
test ebx, ebx
jns 0x428cb7
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423400
cmp ebx, eax
jbe 0x428ccb
mov ebx, eax
mov ecx, dword [0x4ca504]
push 1
push 0
sub eax, ebx
push eax
lea ecx, [ecx + ebx*2]
push ecx
push esi
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edi, 2
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x18], eax
test eax, eax
jns 0x428d07
mov dword [esp + 0x18], 0
mov edi, 1
mov ecx, ebx
call fcn.00423400
cmp dword [esp + 0x18], eax
jbe 0x428d1d
mov dword [esp + 0x18], eax
sub eax, dword [esp + 0x18]
mov edx, dword [0x4ca504]
push 1
push 0
push eax
push edx
push esi
call fcn.004797c0
jmp 0x428593
push 1
push 1
mov ecx, esi
call fcn.00401220
mov edi, eax
cmp edi, dword [0x4ca504]
jne 0x428d5e
mov al, byte [esi + 0x17]
test al, al
jne 0x428d5a
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x428da4
push 1
push 0
mov edi, 1
mov ecx, ebx
call fcn.00423400
push eax
push 0
push esi
call fcn.004797c0
cmp eax, edi
jne case.0x428285.8
push 0
push edi
mov ecx, esi
call fcn.00401220
mov ecx, dword [0x4ca504]
mov edi, eax
mov edx, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x428d93
mov ecx, dword [0x4ca508]
movzx eax, word [ecx]
test ax, ax
je 0x428dd3
call fcn.00409a80
cmp ax, 0x54
jne 0x428dd3
mov edx, dword [0x4ca508]
cmp word [edx + 2], 0
jne 0x428dd3
mov eax, edi
call fcn.00414db0
jmp 0x428de7
cmp byte [ebx], 0x31
push edi
jne 0x428de1
call dword [0x4a1570]
jmp 0x428de7
call dword [0x4a1688]
cmp byte [esi + 0x17], 0
jne 0x428df0
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 2
jne 0x428e0e
cmp dword [0x4cc054], 0
je 0x428e0e
mov ecx, 0x4cc048
call fcn.004046e0
jmp 0x428593
and byte [esi + 0x15], 0x86
mov eax, 1
jmp 0x428593
mov eax, dword [0x4ca4b4]
test eax, eax
je 0x428e47
cmp byte [eax + 0x17], 0
jne 0x428e33
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x15]
jmp 0x428e36
mov cl, byte [eax + 0x15]
test cl, 1
je 0x428e47
call fcn.00415500
push 0
jmp 0x42858c
mov edi, 1
mov ecx, ebx
call fcn.00423400
push 0
jmp 0x42858c
mov esi, dword [0x4ca50c]
movzx eax, word [esi]
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], 0xffffffff
test ax, ax
je 0x428ef7
call fcn.00409a80
movzx edx, ax
push edx
push 0x4aafb8
call fcn.00490e21
add esp, 8
test eax, eax
je 0x428ef7
add esi, 2
cmp word [esi], 0
je 0x428ef7
call fcn.0040efb0
mov dword [esp + 0x24], eax
test eax, eax
jle 0x428fee
mov esi, dword [0x4ca508]
cmp word [esi], 0
jne 0x428f01
mov dword [esp + 0x18], 0
mov eax, 0x4a3930
push 1
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [0x4cad6c]
push eax
call fcn.004797c0
mov eax, dword [esp + 0x18]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x2c]
call fcn.004010e0
mov ebx, dword [esp + 0x10]
mov edi, 1
jmp 0x42859d
mov dword [esp + 0x24], 1
jmp 0x428eac
mov eax, dword [0x4ca504]
mov ecx, dword [esp + 0x10]
mov edi, 4
mov dword [esp + 0x40], eax
call fcn.00423490
mov ebx, eax
test ebx, ebx
jns 0x428f20
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423400
mov edi, eax
cmp ebx, edi
jge 0x428fee
mov ecx, dword [esp + 0x30]
movzx eax, word [ecx]
cmp eax, 0x31
je 0x428fb7
call fcn.00409a80
cmp ax, 0x52
je 0x428fb7
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423400
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov edi, 1
lea ecx, [edx + ebx*2]
lea ecx, [ecx]
mov eax, dword [0x4c6a44]
mov al, byte [eax + 0xf2]
test al, al
jne 0x428f88
mov eax, esi
call fcn.00476af0
jmp 0x428fa3
cmp al, 2
jne 0x428f99
push ecx
mov eax, esi
call fcn.00476d60
add esp, 4
jmp 0x428fa3
push esi
push ecx
call fcn.00490e48
add esp, 8
test eax, eax
je 0x428fee
cmp edi, dword [esp + 0x24]
je 0x428fda
mov ecx, dword [esp + 0x30]
inc edi
lea ecx, [eax + ecx*2]
jmp 0x428f70
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 0xf2]
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x44]
push ecx
push esi
mov eax, edi
sub eax, ebx
push edx
call fcn.004768e0
add esp, 0x10
test eax, eax
je 0x428fee
sub eax, dword [esp + 0x40]
sar eax, 1
mov dword [esp + 0x18], eax
jns 0x428ec0
mov eax, 0x4a6334
jmp 0x428ec5
push ebx
call fcn.0043e830
jmp 0x428593
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca504]
call fcn.00434480
jmp 0x428593
mov edx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
mov ecx, dword [0x4ca504]
push edx
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.0043ea40
jmp 0x428593
mov ecx, dword [0x4ca500]
push ecx
mov eax, ebx
call fcn.0043f230
jmp 0x428593
mov edx, dword [0x4ca500]
mov ecx, dword [0x4ca504]
push edx
push ebx
call fcn.0043f8b0
jmp 0x428593
push 0
push ecx
mov edi, 7
mov ecx, ebx
call fcn.00423490
add esp, 4
push eax
mov edi, 6
mov ecx, ebx
call fcn.00423490
push eax
push ecx
mov edi, 5
mov ecx, ebx
call fcn.00423490
add esp, 4
push eax
mov edi, 4
mov ecx, ebx
call fcn.00423490
push eax
push ecx
mov edi, 3
mov ecx, ebx
call fcn.00423490
add esp, 4
push eax
mov edi, 2
mov ecx, ebx
call fcn.00423490
mov ecx, dword [0x4ca520]
push eax
push ebx
call fcn.0043a7e0
jmp 0x428593
mov eax, dword [0x4ca518]
push eax
push ecx
mov edi, 5
mov ecx, ebx
call fcn.00423490
add esp, 4
push eax
mov edi, 4
mov ecx, ebx
call fcn.00423490
push eax
push ecx
mov edi, 3
mov ecx, ebx
call fcn.00423490
add esp, 4
push eax
mov edi, 2
mov ecx, ebx
call fcn.00423490
push eax
push ebx
call fcn.0043aff0
jmp 0x428593
mov ecx, dword [0x4ca50c]
push ecx
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00423490
mov edi, 1
mov ecx, ebx
mov esi, eax
call fcn.00423490
add esp, 4
mov ecx, eax
push ebx
mov eax, esi
call fcn.00453160
jmp 0x428593
mov edx, dword [edi + 0xd4]
xor eax, eax
cmp cl, 0x42
mov ecx, dword [0x4ca500]
sete al
push 0
push edx
push eax
push ecx
call fcn.0040f540
add esp, 0x10
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
xor edx, edx
cmp dword [edi + 0xd4], 3
push 0
sete dl
lea edx, [edx + edx + 1]
push edx
push 0
push eax
call fcn.0040f540
add esp, 0x10
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca500]
push 0
push 2
push 0
push ecx
call fcn.0040f540
add esp, 0x10
mov edi, 1
jmp 0x42859d
mov edx, dword [0x4ca500]
push 0
push 0
push 0
push edx
call fcn.0040f540
add esp, 0x10
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
push eax
call fcn.00411740
add esp, 4
jmp 0x428593
mov edx, dword [0x4ca518]
mov eax, dword [0x4ca514]
push 0x4a3920
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push edx
mov edx, dword [0x4ca508]
push eax
mov eax, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
mov eax, 0x4a3920
push ecx
call fcn.004119b0
add esp, 0x20
jmp 0x428593
mov edx, dword [0x4ca514]
mov eax, dword [0x4ca518]
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push 0x4a3920
push 0x4a3920
push eax
mov eax, dword [0x4ca50c]
push edx
mov edx, dword [0x4ca500]
push ecx
call fcn.004119b0
add esp, 0x20
jmp 0x428593
mov eax, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push 0x4a3920
push eax
mov eax, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push 0x4a3920
push 0x4a3920
push eax
push edx
mov eax, 0x4a3920
mov edx, eax
push ecx
call fcn.004119b0
add esp, 0x20
jmp 0x428593
mov edi, 4
mov ecx, ebx
call fcn.00423490
push eax
mov ecx, ebx
call fcn.0043d840
jmp 0x428593
mov edx, dword [0x4ca504]
mov ebx, dword [0x4ca508]
mov esi, dword [0x4ca500]
cmp cl, 0x78
sete al
push 0
movzx ecx, al
mov eax, dword [0x4ca50c]
push 0
push ecx
push edx
push edi
call fcn.0047a470
add esp, 0x14
test eax, eax
je 0x42932f
mov eax, dword [0x4c6a44]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x42932f
push 1
push eax
call fcn.004013d0
add esp, 8
mov ebx, dword [esp + 0x10]
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca500]
push 9
push 0x4aafc0
push ecx
call fcn.004901fd
add esp, 0xc
test eax, eax
jne 0x429372
mov edx, dword [0x4ca504]
cmp word [edx], ax
jne 0x429372
mov eax, dword [0x4ca50c]
cmp word [eax], 0
mov byte [esp + 0x3f], 1
je 0x429377
mov byte [esp + 0x3f], 0
mov al, byte [ebx]
xor ecx, ecx
cmp byte [esp + 0x3f], cl
setne cl
lea esi, [ecx - 1]
and esi, 0x14
cmp al, 0x84
je 0x4293d7
cmp al, 0x85
je 0x4293d7
mov edx, dword [0x4ca508]
cmp word [edx], 0
je 0x429414
mov ebx, dword [esp + 0x10]
mov al, byte [ebx]
cmp al, 0x84
je 0x42947c
cmp al, 0x85
je 0x42947e
mov edx, dword [0x4ca508]
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca50c]
push eax
call fcn.004363d0
jmp 0x428593
mov eax, dword [0x4ca508]
cmp word [eax], 0
je 0x429408
mov edi, 2
mov ecx, ebx
call fcn.00423540
fmul qword [0x4c0e20]
call fcn.0049e710
mov edi, dword [esp + 0x14]
mov esi, eax
test esi, esi
jne 0x429408
mov esi, 0x1f4
mov ecx, dword [0x4ca510]
cmp word [ecx], 0
jne 0x42939c
cmp byte [esp + 0x3f], 0
je 0x42939c
mov eax, dword [0x4ca500]
add eax, 0x12
call fcn.00409b00
cmp word [eax], 0
mov dword [esp + 0x30], eax
je 0x42939c
mov ebx, dword [0x4cb540]
test ebx, ebx
je 0x42939c
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
push edx
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x429465
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x429444
jmp 0x42939c
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx]
push ebx
mov edx, esi
call fcn.0047c620
mov ebx, dword [esp + 0x10]
jmp 0x428593
cmp al, 0x85
mov ecx, dword [0x4ca510]
mov ebx, dword [0x4ca500]
sete dl
movzx eax, dl
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca50c]
push ecx
push esi
push edx
push edi
call fcn.0047a780
jmp 0x429310
mov ebx, dword [0x4ca504]
call fcn.0043a140
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca500]
push ecx
push edx
call dword [0x4a1138]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.00430340
jmp 0x428593
lea edx, [esp + 0xe0]
push edx
push 0x3a98
push 1
push 0x4aafd4
push 0
push 0x1a
push 0xffff
call dword [0x4a1548]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.00430340
jmp 0x428593
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
push edx
push ebx
call fcn.00454950
jmp 0x428593
mov eax, dword [0x4ca500]
mov ecx, 0x4cc008
call fcn.00473dc0
mov eax, dword [0x4ca504]
mov ecx, 0x4cc014
call fcn.00473dc0
mov eax, dword [0x4ca508]
mov ecx, 0x4cc020
call fcn.00473dc0
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca508]
mov eax, 0x4a6304
call fcn.00476af0
mov ecx, dword [esp + 0x10]
test eax, eax
setne bl
mov al, 3
cmp al, byte [ecx + 1]
mov ecx, dword [0x4ca508]
sbb edx, edx
and edx, dword [0x4ca4bc]
mov byte [esp + 0xd4], bl
mov eax, dword [esp + 0xd4]
push edx
push 1
push eax
push 0
test bl, bl
sete dl
push ecx
mov ecx, dword [0x4ca504]
movzx eax, dl
mov edx, dword [0x4ca500]
push eax
push ecx
push 0
push 0x4cb508
call fcn.00431660
test bl, bl
je 0x4295f3
test eax, eax
mov eax, 0x4a3930
jne 0x4295e0
mov eax, 0x4aafec
mov edx, dword [0x4cad6c]
push 1
push 0
push 0xffffffffffffffff
push eax
push edx
call fcn.004797c0
mov ebx, dword [esp + 0x10]
jmp 0x428593
push ebx
call fcn.004364b0
jmp 0x428593
cmp byte [ebx + 1], 2
jbe 0x429649
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca51c]
call fcn.00436bc0
jmp 0x428593
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
push 0x4a3920
push 0x4a3920
push 0x4a3920
push edx
mov ecx, 0x4a3920
push eax
mov eax, ecx
mov edx, ecx
call fcn.00436bc0
jmp 0x428593
mov ecx, dword [0x4ca528]
mov edx, dword [0x4ca524]
mov eax, dword [0x4ca520]
push ecx
mov ecx, dword [0x4ca51c]
push edx
mov edx, dword [0x4ca518]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca514]
push eax
push ebx
call fcn.004535a0
jmp 0x428593
mov eax, dword [0x4ca510]
xor edx, edx
cmp cl, 0x47
mov ecx, dword [0x4ca50c]
sete dl
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push eax
push ebx
call fcn.00436ce0
jmp 0x428593
mov esi, dword [0x4ca50c]
push 1
xor bl, bl
call fcn.0040efe0
add esp, 4
mov byte [esp + 0xd8], al
test al, al
jne 0x429742
mov ecx, dword [0x4ca50c]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4a990c
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edx, dword [0x4ca510]
cmp word [edx], 0
je 0x42975e
mov ecx, dword [esp + 0x10]
mov edi, 4
call fcn.00423490
jmp 0x429763
mov eax, 1
mov ecx, dword [0x4ca518]
mov edx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca500]
push edx
mov edx, dword [0x4ca514]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [esp + 0xec]
push eax
push ecx
mov ecx, dword [0x4ca51c]
call fcn.00436da0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edx, dword [0x4ca51c]
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca50c]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca520]
push edx
mov edx, dword [0x4ca514]
push ebx
call fcn.00437410
jmp 0x428593
mov eax, dword [0x4ca520]
mov ecx, dword [0x4ca51c]
mov edx, dword [0x4ca518]
push eax
mov eax, dword [0x4ca514]
push ecx
mov ecx, dword [0x4ca510]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00437640
jmp 0x428593
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
push ecx
push edx
push ebx
call fcn.00437790
jmp 0x428593
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca504]
push ebx
call fcn.00437970
jmp 0x428593
mov eax, dword [0x4ca510]
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca504]
mov esi, dword [0x4ca500]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push eax
call fcn.00437a80
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push ebx
call fcn.00437b40
jmp 0x428593
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.00453900
jmp 0x428593
mov edx, dword [0x4ca51c]
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
push eax
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.004540d0
jmp 0x428593
mov edx, dword [0x4ca510]
mov ecx, dword [0x4ca514]
mov eax, dword [0x4ca50c]
mov edi, dword [0x4ca504]
push edx
mov edx, dword [0x4ca508]
call fcn.004382e0
jmp 0x428593
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca51c]
push edx
mov edx, dword [0x4ca50c]
call fcn.00438350
jmp 0x428593
cmp cl, 0x92
sete al
movzx ecx, al
push ecx
mov eax, ebx
call fcn.00438490
jmp 0x428593
mov edx, dword [0x4ca504]
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push ebx
call fcn.004387b0
jmp 0x428593
mov eax, dword [0x4ca514]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ebx
call fcn.00438e40
jmp 0x428593
cmp byte [ebx + 1], 1
jbe 0x429a39
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca500]
call fcn.00439220
jmp 0x428593
mov esi, dword [0x4ca500]
mov ecx, 0x4a3920
push 0x4a3920
mov eax, ecx
mov edx, ecx
call fcn.004449a0
test eax, eax
je 0x429a5e
push esi
push eax
call dword [0x4a1668]
mov eax, 1
jmp 0x428593
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca508]
call fcn.00439250
jmp 0x428593
mov ecx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
mov edx, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca510]
call fcn.004393b0
jmp 0x428593
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca508]
push eax
push ecx
mov ecx, dword [0x4ca514]
push ebx
call fcn.004394d0
jmp 0x428593
mov edx, dword [0x4ca50c]
mov ecx, dword [0x4ca510]
mov eax, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push ebx
call fcn.00439d60
jmp 0x428593
mov eax, dword [0x4ca51c]
mov ecx, dword [0x4ca518]
mov edx, dword [0x4ca514]
push eax
mov eax, dword [0x4ca510]
push ecx
push edx
push eax
mov eax, ebx
call fcn.00439fc0
jmp 0x428593
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.0043a220
jmp 0x428593
push 0
push 0x1a3
push 0x111
push 0
push 0x4a85f0
call dword [str.a_QD]
push eax
call dword [0x4a1594]
mov edx, dword [0x4c6a44]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x429b70
push 1
push eax
call fcn.004013d0
add esp, 8
mov edi, 1
jmp 0x42859d
push 0
push 0x1a0
push 0x111
push 0
push 0x4a85f0
call dword [str.a_QD]
push eax
call dword [0x4a1594]
mov eax, dword [0x4c6a44]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x429b70
push 1
push eax
call fcn.004013d0
add esp, 8
mov edi, 1
jmp 0x42859d
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x429bf5
mov edi, dword [0x4ca500]
cmp word [edi], ax
je 0x429bf5
mov eax, 0x4cb508
call fcn.0041c510
test eax, eax
jne 0x429bf5
mov ecx, dword [0x4ca500]
push ecx
push eax
push 0x4a65b8
mov ecx, ebx
call fcn.004306a0
jmp 0x428593
mov dword [0x4cbf98], eax
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca508]
mov dl, 1
cmp dl, byte [ebx + 1]
mov edx, dword [0x4ca504]
sbb eax, eax
and eax, dword [0x4ca4b4]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [ebx + 0xc]
push edx
push eax
call fcn.0040b010
add esp, 0x10
jmp 0x428593
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x429ce5
push edi
mov edi, dword [0x4ca500]
mov eax, esi
mov ebx, 0x4cb508
call fcn.0041c550
mov edi, eax
test edi, edi
jne 0x429ce5
mov eax, dword [0x4ca500]
mov ecx, dword [esp + 0x10]
cmp word [eax], di
je 0x429c81
push eax
push edi
push 0x4a65b8
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
cmp byte [ecx + 1], 0
jbe 0x429cad
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
cmp word [eax], 0
je 0x429cad
push 0x4a3920
push 0
push 0x4a6ae4
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xbc]
test edi, edi
jne 0x429ce5
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x429ccb
mov edi, dword [eax]
test edi, edi
jne 0x429ce5
push 0x4a3920
push 0
push 0x4aaff8
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov eax, dword [0x4ca504]
push 0
push 1
push 1
push 1
call fcn.004765a0
add esp, 0x10
test eax, eax
jne 0x429d9d
mov esi, dword [0x4ca504]
push eax
call fcn.00409ba0
add esp, 4
test eax, eax
jne 0x429d65
mov eax, dword [0x4ca504]
push 0x4a5910
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x429d45
push edi
push 0x4cb508
call fcn.0041c420
mov ebx, dword [esp + 0x10]
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca504]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4a6b10
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
jle 0x429d9d
cmp eax, 2
jg 0x429d9d
mov ecx, dword [0x4ca508]
cmp eax, 1
sete dl
push 0
movzx eax, dl
push eax
push ecx
push 0x4a3920
push edi
mov edi, 0x4cb508
call fcn.0041c140
mov ebx, dword [esp + 0x10]
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
mov edx, dword [0x4ca508]
jne 0x429db9
cmp word [edx], 0
je 0x429db9
mov al, 1
jmp 0x429dbb
xor al, al
push eax
push 1
push edx
push ecx
push edi
mov edi, 0x4cb508
call fcn.0041c140
mov ebx, dword [esp + 0x10]
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
cmp word [eax], 0
mov esi, 0x10
je 0x429e0e
push 0x4ab054
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x429e0e
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov edi, dword [esp + 0x14]
mov esi, eax
test esi, esi
je 0x429e13
mov eax, 1
mov byte [edi + 0xee], al
test al, al
je 0x429e3d
or eax, 0xffffffff
mov dword [edi + 0xd8], esi
mov byte [edi + 0xec], 0
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 0x24], eax
lea edi, [eax + 2]
jmp 0x42859d
mov dword [edi + 0xd8], 5
mov byte [edi + 0xec], 1
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
call fcn.004162d0
dec eax
je 0x429f0d
dec eax
je 0x429ebe
dec eax
jne 0x42932f
mov edx, dword [0x4ca504]
cmp word [edx], ax
je 0x429eaa
mov ecx, dword [esp + 0x10]
lea edi, [eax + 1]
call fcn.00423490
or eax, edx
jne 0x429ea6
mov ebx, dword [esp + 0x10]
mov eax, edi
mov edi, dword [esp + 0x14]
mov byte [edi + 0xed], al
mov edi, eax
jmp 0x42859d
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
xor eax, eax
mov byte [edi + 0xed], al
lea edi, [eax + 1]
jmp 0x42859d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x429edc
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423490
mov dword [0x4cbffc], eax
mov ecx, dword [0x4ca508]
cmp word [ecx], 0
je 0x42932f
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423490
mov ebx, dword [esp + 0x10]
mov dword [0x4cbff8], eax
mov edi, 1
jmp 0x42859d
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423490
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [edx + 0x2c], eax
jmp 0x42859d
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x429f4e
mov edi, dword [0x4ca500]
push 1
push 0x4cb508
call fcn.00424200
mov esi, eax
test esi, esi
je case.0x428285.8
mov edi, dword [0x4ca50c]
cmp word [edi], 0
je 0x429f8b
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x429f88
mov eax, 0x4cb508
call fcn.0041c510
test eax, eax
jne 0x429f88
mov eax, dword [0x4ca50c]
push eax
push 0
push 0x4a65b8
mov ecx, ebx
call fcn.004306a0
jmp 0x428593
mov dword [esi + 0x10], eax
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
push eax
push ecx
push esi
call fcn.0047c2f0
jmp 0x428593
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x429ff0
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], si
je 0x42a02b
mov esi, dword [0x4cb540]
test esi, esi
je 0x42a02b
mov edi, edi
mov edx, dword [esi + 4]
push edi
push edx
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x429ff0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x429fd0
lea edi, [esi + 1]
jmp 0x42859d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a021
push 0x4a6e94
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x42a021
mov al, 1
mov ecx, esi
push eax
call int.0047c970
mov edi, 1
jmp 0x42859d
xor al, al
mov ecx, esi
push eax
call int.0047c970
mov edi, 1
jmp 0x42859d
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x42a080
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], si
je 0x42a0ea
mov esi, dword [0x4cb540]
test esi, esi
je 0x42a0ea
lea ebx, [ebx]
mov eax, dword [esi + 4]
push edi
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x42a080
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x42a060
lea edi, [esi + 1]
jmp 0x42859d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a0e1
push 0x4a9628
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x42a0b1
push esi
xor edx, edx
mov cl, 0x84
call fcn.0047c620
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a0e1
push 0x4a6e94
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x42a0e1
mov al, 1
push eax
push esi
call fcn.0047c6e0
mov edi, 1
jmp 0x42859d
xor al, al
push eax
push esi
call fcn.0047c6e0
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
call fcn.00440430
jmp 0x428593
test esi, esi
jne 0x42a122
lea edi, [esi + 1]
mov ecx, ebx
call fcn.00423490
call fcn.00414a90
jmp 0x42859d
mov eax, dword [0x4ca504]
push 0
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
cmp eax, 2
je 0x42a15a
mov eax, dword [0x4ca508]
push 0
push 1
push 0
push 1
call fcn.004765a0
add esp, 0x10
cmp eax, 2
jne 0x42a1e6
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x42a174
mov edi, 1
mov ecx, ebx
call fcn.00423540
jmp 0x42a176
fldz
mov eax, dword [0x4ca508]
fst qword [esp + 0x30]
cmp word [eax], 0
je 0x42a1b0
mov edi, 2
fstp st(0)
mov ecx, ebx
call fcn.00423540
fst qword [esp + 0x40]
fld qword [esp + 0x30]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42a1bc
fstp qword [esp + 0x30]
fstp qword [esp + 0x40]
jmp 0x42a1c0
fld qword [0x4c0ea8]
fst qword [esp + 0x40]
jmp 0x42a19d
fstp st(0)
fstp st(0)
call fcn.00414c00
fld qword [esp + 0x40]
fld qword [esp + 0x30]
sub esp, 8
fsub st(1), st(0)
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push esi
call fcn.00415140
jmp 0x428593
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x42a204
mov ecx, dword [esp + 0x10]
mov edi, 1
call fcn.00423490
mov ebx, eax
jmp 0x42a206
xor ebx, ebx
mov edx, dword [0x4ca508]
cmp word [edx], 0
je 0x42a224
mov ecx, dword [esp + 0x10]
mov edi, 2
call fcn.00423490
mov esi, eax
jmp 0x42a229
mov esi, 0x7fffffff
cmp ebx, esi
jle 0x42a233
mov eax, ebx
mov ebx, esi
mov esi, eax
call fcn.00414bb0
mov ecx, eax
mov eax, esi
cdq
mov esi, eax
mov edi, edx
mov eax, ebx
cdq
sub esi, eax
sbb edi, edx
add esi, 1
adc edi, 0
push edi
push esi
push 0
push ecx
call fcn.0049f220
add eax, ebx
jmp 0x428edb
mov ecx, dword [0x4ca504]
push 1
push ebx
call fcn.00440550
jmp 0x428593
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca500]
push edx
push ebx
call fcn.00440690
jmp 0x428593
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push ebx
call fcn.00440940
jmp 0x428593
mov eax, dword [0x4ca50c]
mov edx, dword [0x4ca504]
push eax
xor eax, eax
cmp cl, 0x9d
sete al
push edx
dec eax
and eax, dword [0x4ca500]
push eax
push ebx
call fcn.00440f60
jmp 0x428593
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x42a2e9
mov edi, 1
mov ecx, ebx
call fcn.00423490
dec eax
jmp 0x42a2eb
xor eax, eax
cdq
test edx, edx
jg 0x42a2fc
jl 0x42a2f6
test eax, eax
jae 0x42a2fc
xor eax, eax
mov dword [esp + 0x34], eax
cmp byte [ebx], 0x9f
push eax
jne 0x42a312
mov esi, dword [esp + 0x14]
call fcn.00442070
mov ebx, esi
jmp 0x428593
mov edi, dword [0x4ca500]
mov ebx, dword [esp + 0x14]
call fcn.00442160
jmp 0x428593
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x42a344
mov edi, 1
mov ecx, ebx
call fcn.00423490
mov esi, eax
test esi, esi
jns 0x42a349
mov esi, 0x96
mov eax, dword [0x4ca500]
cmp word [eax], 0
je 0x42a36f
xor edi, edi
mov ecx, ebx
call fcn.00423490
push esi
push eax
call dword [0x4a113c]
mov edi, 1
jmp 0x42859d
mov eax, 0x20b
push esi
push eax
call dword [0x4a113c]
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a3a8
push 0x4ab05c
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x42a3cd
mov eax, dword [0x4ca504]
push 0x4a6334
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
je 0x42a3cd
xor al, al
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.004422c0
jmp 0x428593
mov eax, 1
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.004422c0
jmp 0x428593
cmp byte [ebx + 1], 2
jae 0x42a3ee
mov edi, dword [edi + 0x18]
jmp 0x42a3f0
xor edi, edi
mov ecx, dword [0x4ca500]
mov edx, dword [0x4ca504]
push edi
push ecx
push edx
push ebx
call fcn.00443620
jmp 0x428593
mov ecx, dword [0x4ca504]
push ebx
call fcn.00442d10
jmp 0x428593
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca508]
push eax
push ebx
call fcn.00443290
jmp 0x428593
mov esi, dword [0x4ca500]
mov edi, dword [esp + 0x10]
call fcn.00443a20
mov ebx, edi
jmp 0x428593
mov eax, dword [0x4ca500]
mov edi, ebx
call fcn.004555c0
jmp 0x428593
mov ecx, dword [0x4ca500]
movzx eax, word [ecx]
neg eax
sbb eax, eax
push 7
and eax, ecx
push eax
push 0
call dword [0x4a13c4]
test eax, eax
setne cl
movzx edx, cl
push edx
push ebx
call fcn.00430340
jmp 0x428593
mov eax, dword [0x4ca500]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push eax
push ebx
call fcn.00443a90
jmp 0x428593
add edi, 0x30
push edi
push 0
mov edi, 2
mov ecx, ebx
call fcn.00423490
cmp eax, 1
mov eax, dword [0x4ca504]
sete cl
movzx edx, cl
mov ecx, dword [0x4ca500]
push edx
push eax
call fcn.00455c50
add esp, 0x10
test eax, eax
jne 0x42a524
mov ecx, dword [0x4cad6c]
push 1
push eax
push 0xffffffffffffffff
push 0x4a3930
push ecx
call fcn.004797c0
jmp 0x428593
add edi, 0x30
push edi
push 1
mov edi, 2
mov ecx, ebx
call fcn.00423490
mov ecx, dword [0x4ca504]
cmp eax, 1
sete dl
movzx eax, dl
push eax
push ecx
mov ecx, dword [0x4ca500]
call fcn.00455c50
add esp, 0x10
push eax
push ebx
call fcn.00430400
jmp 0x428593
push 0
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00423490
dec eax
add esp, 4
neg eax
sbb eax, eax
inc eax
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push edx
push eax
call fcn.004558a0
add esp, 0x10
test al, al
sete cl
movzx edx, cl
push edx
push ebx
call fcn.00430340
jmp 0x428593
mov eax, dword [0x4ca508]
mov ax, word [eax]
call fcn.00409a80
cmp ax, 0x52
jne 0x42a5ad
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca500]
push ecx
push edx
call dword [0x4a1140]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.00430340
jmp 0x428593
push 1
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00423490
add esp, 4
jmp 0x42a548
mov eax, dword [0x4ca500]
push 0
push eax
call fcn.00442c30
add esp, 8
test al, al
sete cl
mov byte [esp + 0x78], cl
call dword [0x4a12ac]
mov edx, dword [0x4c6a44]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x78]
push eax
push ebx
call fcn.00430340
jmp 0x428593
mov ecx, dword [0x4ca500]
cmp word [ecx], 0
je 0x42a639
mov edi, 1
mov ecx, ebx
call fcn.00423490
cmp eax, edi
sete dl
movzx eax, dl
push eax
mov eax, dword [0x4ca500]
call fcn.00455b60
add esp, 4
test al, al
je 0x42a639
xor al, al
push eax
push ebx
call fcn.00430340
jmp 0x428593
mov eax, 1
push eax
push ebx
call fcn.00430340
jmp 0x428593
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a667
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a667
mov eax, 0x4a3920
mov edi, ebx
call fcn.00443c40
jmp 0x428593
mov ebx, dword [0x4ca504]
cmp word [ebx], 0
jne 0x42a691
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42a691
mov ebx, 0x4a3920
mov ecx, dword [esp + 0x10]
mov edi, 3
call fcn.00423490
mov esi, dword [0x4ca508]
cmp eax, 1
sete cl
movzx edx, cl
push edx
call fcn.00416530
push eax
mov eax, dword [esp + 0x18]
push ebx
push eax
mov eax, dword [0x4ca500]
call fcn.00443d50
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a6eb
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a6eb
mov eax, 0x4a3920
mov ecx, dword [0x4ca508]
movzx edx, word [ecx]
push edx
mov edi, ebx
call fcn.004443c0
jmp 0x428593
mov ebx, dword [0x4ca504]
cmp word [ebx], 0
jne 0x42a71f
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42a71f
mov ebx, 0x4a3920
mov ecx, dword [esp + 0x10]
mov edi, 4
call fcn.00423490
mov esi, dword [0x4ca50c]
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.00416530
mov edx, dword [0x4ca508]
mov edi, dword [esp + 0x14]
push eax
movzx eax, word [edx]
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.00444540
mov ebx, edi
jmp 0x428593
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a782
mov ecx, dword [0x4ca508]
push ecx
mov edi, eax
push ebx
call fcn.00444700
jmp 0x428593
mov edi, dword [edi + 0x10]
test edi, edi
je 0x42a7a1
mov ecx, dword [0x4ca508]
push ecx
add edi, 0x250
push ebx
call fcn.00444700
jmp 0x428593
mov ecx, dword [0x4ca508]
push ecx
mov edi, 0x4a3920
push ebx
call fcn.00444700
jmp 0x428593
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a7d5
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a7d5
mov eax, 0x4a3920
push ebx
call fcn.004556d0
jmp 0x428593
mov eax, dword [0x4ca500]
call fcn.004424f0
xor edx, edx
cmp dword [edi + 0x104], edx
sete dl
mov edi, edx
jmp 0x428595
mov eax, dword [0x4ca510]
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca508]
push eax
push ecx
mov ecx, dword [0x4ca50c]
push ebx
call fcn.004425b0
jmp 0x428593
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca50c]
push edx
push eax
mov edx, ebx
call fcn.00454cd0
jmp 0x428593
mov ecx, dword [0x4ca500]
push ecx
push ebx
call fcn.00454fe0
jmp 0x428593
mov edx, dword [0x4ca520]
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edi, dword [0x4ca51c]
push edx
mov edx, dword [0x4ca50c]
push eax
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca500]
push edx
mov edx, dword [0x4ca508]
push eax
push ecx
mov ecx, dword [0x4ca510]
push ebx
call fcn.00455370
jmp 0x428593
push 0
mov ecx, 4
call fcn.0043c9b0
add esp, 4
jmp 0x428593
mov esi, dword [0x4ca500]
push 7
call fcn.00409ba0
add esp, 4
cmp eax, 7
jne 0x42a8d5
push 0
lea ecx, [eax - 6]
call fcn.0043c9b0
mov ebx, dword [esp + 0x14]
add esp, 4
jmp 0x428593
cmp byte [edi + 0xf9], 0
je 0x42a901
mov ecx, dword [0x4cb480]
test ecx, ecx
jle 0x42a8eb
dec ecx
jmp 0x42a8f0
mov ecx, 0x18f
mov dword [0x4cb480], ecx
mov dword [ecx*4 + 0x4cae40], 0
mov ebx, dword [esp + 0x10]
cmp eax, 1
sete dl
mov byte [edi + 0xf9], dl
mov edi, 1
jmp 0x42859d
push 0
mov ecx, 2
call fcn.0043c9b0
add esp, 4
jmp 0x428593
push 0
mov ecx, 3
call fcn.0043c9b0
add esp, 4
jmp 0x428593
mov ebx, dword [0x4c6a44]
add ebx, 0x4c
call fcn.0045da80
test eax, eax
je 0x42a962
mov eax, dword [0x4c6a44]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + 4]
jmp 0x42a964
xor esi, esi
mov ebx, dword [esp + 0x10]
mov al, byte [ebx + 1]
test al, al
jne 0x42a986
fldz
sub esp, 8
fstp qword [esp]
push esi
push 0
push 0x10000
push 0x4ab068
jmp 0x42a9cd
cmp al, 1
jne 0x42a9a3
fldz
mov edx, dword [0x4ca500]
sub esp, 8
fstp qword [esp]
push esi
push 0
push 0x10000
push edx
jmp 0x42a9cd
mov edi, 3
mov ecx, ebx
call fcn.00423540
mov eax, dword [0x4ca504]
sub esp, 8
fstp qword [esp]
push esi
push eax
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov ecx, dword [0x4ca508]
push eax
push ecx
call fcn.0047b3a0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x42aa05
call dword [0x4a12ac]
cmp eax, 0x59e
jne 0x42aa05
mov edx, dword [0x4ca500]
push edx
push esi
push 0x4a6ae4
mov ecx, ebx
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ebx, dword [esp + 0x10]
xor eax, eax
test esi, esi
setne al
jmp 0x428593
mov ecx, dword [0x4ca51c]
cmp word [ecx], 0
je 0x42aa33
mov edi, 7
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x40], eax
jmp 0x42aa3b
mov dword [esp + 0x40], 0x80000000
mov edx, dword [0x4ca518]
cmp word [edx], 0
je 0x42aa59
mov edi, 6
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x24], eax
jmp 0x42aa61
mov dword [esp + 0x24], 0x80000000
mov eax, dword [0x4ca514]
cmp word [eax], 0
je 0x42aa7e
mov edi, 5
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x18], eax
jmp 0x42aa86
mov dword [esp + 0x18], 0x80000000
mov ecx, dword [0x4ca510]
cmp word [ecx], 0
je 0x42aaa4
mov edi, 4
mov ecx, ebx
call fcn.00423490
mov dword [esp + 0x20], eax
jmp 0x42aaac
mov dword [esp + 0x20], 0x80000000
mov edi, 9
mov ecx, ebx
call fcn.00423540
mov edx, dword [0x4ca528]
mov eax, dword [0x4ca520]
mov ax, word [eax]
sub esp, 8
fstp qword [esp]
push edx
call fcn.00409a80
cmp ax, 0x4c
mov eax, dword [esp + 0x4c]
sete cl
movzx edx, cl
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [0x4ca50c]
mov ax, word [eax]
push ecx
push edx
call fcn.00409a80
mov edx, dword [0x4ca508]
mov edi, dword [esp + 0x3c]
cmp ax, 0x48
mov eax, dword [0x4ca504]
push edx
push eax
sete cl
push esi
call fcn.0043cc80
add esp, 0x28
jmp 0x428593
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x42ab3b
mov edi, 1
mov ecx, ebx
call fcn.00423490
mov esi, eax
jmp 0x42ab3d
xor esi, esi
mov edx, dword [0x4ca500]
cmp word [edx], 0
je 0x42ab54
xor edi, edi
mov ecx, ebx
call fcn.00423490
jmp 0x42ab59
mov eax, 0xc8
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push ecx
push edx
push esi
push eax
call fcn.00453330
jmp 0x428593
mov eax, dword [0x4ca56c]
test eax, eax
je 0x42ab93
push eax
call dword [0x4a15a0]
test eax, eax
je 0x42ab93
mov eax, dword [0x4ca56c]
push eax
call dword [0x4a14f4]
mov dword [0x4ca56c], 0
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
push 0
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
push edx
push ebx
mov ecx, 0x4a3920
call fcn.00432e10
jmp 0x428593
mov eax, dword [0x4ca514]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
push 1
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
push eax
push ecx
mov ecx, dword [0x4ca500]
push ebx
call fcn.00432e10
jmp 0x428593
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca500]
push edx
push eax
push ecx
mov ecx, dword [0x4ca50c]
push ebx
call fcn.00434070
jmp 0x428593
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
mov edi, dword [0x4ca50c]
mov esi, dword [0x4ca508]
push edx
push eax
call fcn.00434380
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov ecx, ebx
call fcn.004356b0
jmp 0x428593
mov esi, dword [0x4ca504]
call fcn.004167c0
mov esi, dword [0x4ca500]
movzx ebx, ax
call fcn.00416830
movzx ecx, ax
cmp ecx, 0xffffffff
je 0x428ee9
cmp ebx, 0xffffffff
je 0x428ee9
mov eax, 3
shl ax, cl
shl bx, cl
not ax
and ax, word [edi + 0xf0]
or ax, bx
mov ebx, dword [esp + 0x10]
mov word [edi + 0xf0], ax
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0xef], al
cmp al, 0x64
jbe 0x42ace0
mov byte [ecx + 0xef], 2
mov edi, 1
jmp 0x42859d
mov ecx, dword [edi + 0xd4]
mov eax, dword [0x4ca500]
push ecx
call fcn.004164a0
mov dword [edi + 0xd4], eax
add esp, 4
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
cmp eax, 0x64
ja 0x42ad26
mov edx, dword [esp + 0x14]
mov byte [edx + 0xf6], al
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca508]
push 0x4a82d8
push eax
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x42ad85
mov ecx, dword [0x4ca500]
cmp word [ecx], ax
je 0x42ad62
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov edx, dword [esp + 0x14]
mov dword [edx + 0x60], eax
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42adc0
mov edi, 1
mov ecx, ebx
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x68], eax
jmp 0x42859d
mov edx, dword [0x4ca500]
cmp word [edx], 0
je 0x42ada1
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x5c], eax
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x42adc0
mov edi, 1
mov ecx, ebx
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x64], eax
mov edi, 1
jmp 0x42859d
mov edx, dword [0x4ca504]
push 0x4a82d8
push edx
call fcn.0048fff9
add esp, 8
xor edi, edi
mov ecx, ebx
test eax, eax
jne 0x42adfc
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x70], eax
mov edi, 1
jmp 0x42859d
call fcn.00423490
mov edx, dword [esp + 0x14]
mov dword [edx + 0x6c], eax
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x54], eax
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
mov edx, dword [esp + 0x14]
mov dword [edx + 0x58], eax
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca500]
mov eax, 0x4ab094
call fcn.00476af0
mov ecx, ebx
test eax, eax
je 0x42ae81
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
xor edi, edi
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x24], eax
mov edi, 1
jmp 0x42859d
mov dword [edi + 0x24], 0xffffffff
xor edi, edi
call fcn.00423490
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], edx
mov edx, eax
or edx, dword [ecx + 4]
mov dword [ecx], eax
jne 0x42aea8
mov dword [ecx], 0xa
mov dword [ecx + 4], edi
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
push 7
call fcn.00409ba0
add esp, 4
cmp eax, 7
je 0x428ee9
mov ebx, dword [esp + 0x10]
cmp eax, 1
sete al
mov byte [edi + 0xf3], al
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
call fcn.00415fa0
dec eax
cmp eax, 5
ja case.default.0x42aefa
jmp dword [eax*4 + 0x42c090]
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x20], 1
mov edi, 1
jmp 0x42859d
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x20], 2
mov edi, 1
jmp 0x42859d
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x20], 4
mov edi, 1
jmp 0x42859d
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x20], 3
mov edi, 1
jmp 0x42859d
mov ebx, dword [esp + 0x10]
mov byte [edi + 0xe9], 1
mov edi, 1
jmp 0x42859d
mov ebx, dword [esp + 0x10]
mov byte [edi + 0xe9], 0
mov edi, 1
jmp 0x42859d
mov edx, dword [0x4ca500]
push 5
push 0x4a8418
push edx
call fcn.004901fd
add esp, 0xc
test eax, eax
jne 0x42b068
lea edi, [eax + 1]
mov ecx, ebx
call fcn.00423400
cmp eax, 0x1e
jae 0x42859d
mov ecx, dword [esp + 0x10]
call fcn.00423490
mov edi, eax
mov eax, dword [0x4ca504]
push 0x2e
push eax
mov ebx, edx
call fcn.00490e21
mov esi, eax
add esp, 8
mov dword [esp + 0x30], esi
test esi, esi
je 0x42afe5
add esi, 2
call fcn.00415040
mov esi, dword [esp + 0x30]
jmp 0x42afe9
xor eax, eax
xor edx, edx
add edi, eax
adc ebx, edx
add edi, 2
adc ebx, 0
mov dword [esp + 0x34], ebx
js 0x42b00b
jg 0x428ee9
cmp edi, 0xff
ja 0x428ee9
mov eax, dword [0x4ca504]
push 0
push 1
push 1
push 1
call fcn.004765a0
add esp, 0x10
mov ecx, 0x4ab09c
test eax, eax
jne 0x42b02e
mov ecx, 0x4a3920
mov eax, 0x4a3920
test esi, esi
jne 0x42b03c
mov eax, 0x4a9e80
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [0x4ca504]
push eax
push ecx
add edx, 0x74
push 0x4ab0a0
push edx
call fcn.00490586
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
push 7
push 0x4a8408
push eax
call fcn.004901fd
add esp, 0xc
test eax, eax
jne case.0x42b099.69
mov ecx, dword [0x4ca504]
movzx eax, word [ecx]
add eax, 0xffffffbc
cmp eax, 0x24
ja case.0x42b099.69
movzx edx, byte [eax + 0x42c0b4]
jmp dword [edx*4 + 0x42c0a8]
mov byte [edi + 0xf5], 0x44
mov edi, 1
jmp 0x42859d
mov al, byte [ecx]
mov byte [edi + 0xf5], al
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
call fcn.0043dc10
jmp 0x428593
movzx eax, byte [ebx + 1]
mov dl, 4
cmp dl, al
sbb ecx, ecx
and ecx, dword [0x4ca4c0]
mov dl, 3
push ecx
mov ecx, dword [0x4ca514]
cmp dl, al
mov edx, dword [0x4ca510]
sbb eax, eax
and eax, dword [0x4ca4bc]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca504]
push edx
push 0x4cb508
call fcn.0046c040
jmp 0x428593
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push eax
push ecx
mov ecx, dword [0x4ca500]
push edx
push 0x4cb508
call fcn.0045daf0
jmp 0x428593
mov edx, dword [0x4ca504]
mov al, 2
cmp al, byte [ebx + 1]
mov eax, dword [0x4ca500]
sbb ecx, ecx
and ecx, dword [0x4ca4b8]
push ecx
push edx
push eax
mov eax, dword [0x4ca508]
push ebx
call fcn.0045e450
jmp 0x428593
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
push edx
push eax
push ebx
call fcn.0045f420
jmp 0x428593
mov eax, dword [0x4ca500]
mov esi, eax
call fcn.00409c60
test eax, eax
jne 0x42b1cc
push 0x4a8284
push esi
call fcn.0048fff9
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 6
jmp switch.0x0042b1d1
cmp eax, 7
ja case.0x42b1d1.3
jmp dword [eax*4 + 0x42c0dc]
cmp byte [0x4ca6c6], 0
jne case.0x42b1d1.3
call fcn.0042fff0
mov edi, 1
jmp 0x42859d
cmp byte [0x4ca6c6], 0
je case.0x42b1d1.3
call fcn.0042fff0
mov edi, 1
jmp 0x42859d
mov ecx, dword [0x4ca500]
push ecx
push 0
push 0x4a6ae4
mov ecx, ebx
call fcn.004306a0
jmp 0x428593
mov edi, 1
mov ecx, ebx
call fcn.00423490
test eax, eax
setne dl
movzx eax, dl
push eax
mov eax, dword [0x4ca500]
call fcn.00409c60
push eax
push ebx
call fcn.00430040
jmp 0x428593
mov esi, dword [0x4ca500]
push 7
call fcn.00409ba0
add esp, 4
cmp eax, 7
je 0x428ee9
mov ebx, dword [esp + 0x10]
cmp eax, 1
sete cl
mov byte [edi + 0xf4], cl
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
call fcn.00416330
mov byte [edi + 0xf2], al
cmp al, 4
jne 0x428ee9
mov ebx, dword [esp + 0x10]
mov byte [edi + 0xf2], 0
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
push 7
call fcn.00409ba0
add esp, 4
cmp eax, 7
je 0x428ee9
mov ebx, dword [esp + 0x10]
cmp eax, 1
sete dl
mov byte [edi + 0xea], dl
mov edi, 1
jmp 0x42859d
mov esi, dword [0x4ca500]
push 7
call fcn.00409ba0
add esp, 4
cmp eax, 7
je 0x428ee9
mov ebx, dword [esp + 0x10]
cmp eax, 1
sete al
mov byte [edi + 0xeb], al
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
call fcn.004163f0
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x42b331.3
movzx ecx, byte [ecx + 0x42c114]
jmp dword [ecx*4 + 0x42c0fc]
push 1
call dword [0x4a1670]
mov byte [0x4cad7a], 1
mov edi, 1
jmp 0x42859d
push 0
call dword [0x4a1670]
mov byte [0x4cad7a], 0
mov edi, 1
jmp 0x42859d
mov dword [0x4c6a54], eax
mov edi, 1
jmp 0x42859d
or byte [0x4cadac], 2
cmp dword [0x4ca698], 0
mov byte [0x4cad7b], 1
jne case.0x42b331.3
mov edx, dword [0x4c7b80]
movzx eax, word [edx]
push eax
call fcn.00408290
add esp, 4
mov edi, 1
jmp 0x42859d
mov byte [0x4cad7b], 0
mov edi, 1
jmp 0x42859d
mov eax, dword [0x4ca500]
mov edi, str.B__6
mov cl, 0x90
call fcn.004448c0
jmp 0x428593
mov eax, dword [0x4ca500]
mov edi, 0x4c6a4c
mov cl, 0x14
call fcn.004448c0
jmp 0x428593
mov eax, dword [0x4ca500]
mov edi, 0x4c6a50
mov cl, 0x91
call fcn.004448c0
jmp 0x428593
mov al, 1
mov edx, 0x4cb508
call fcn.00417db0
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
jmp 0x429b65
mov ecx, dword [0x4ca504]
mov ebx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca510]
call fcn.00472d70
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edx, dword [0x4ca500]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4ca50c]
mov ebx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
call fcn.00472fb0
mov ebx, dword [esp + 0x10]
jmp 0x428593
cmp byte [ebx + 1], 3
mov edx, dword [0x4ca504]
sbb ecx, ecx
not ecx
and ecx, dword [0x4ca508]
push ecx
push edx
mov edx, dword [0x4ca500]
push ebx
call fcn.00473100
jmp 0x428593
mov eax, 2
cmp byte [ebx + 1], al
jae 0x42b4c6
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42b4c6
lea ecx, [edi + 8]
push ecx
mov ecx, dword [edi + 4]
lea eax, [edi + 0x808]
push ebx
call fcn.00473180
jmp 0x428593
lea edx, [esp + 0x2f]
push edx
mov edx, dword [0x4ca504]
lea ecx, [esp + 0x4c]
push ecx
push edx
call fcn.00415ca0
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov esi, eax
test ecx, ecx
jne 0x42b4fa
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca50c]
mov dword [esp + 0x48], ecx
jmp 0x42b4ff
mov eax, dword [0x4ca508]
push ecx
push ebx
mov ecx, esi
call fcn.00473180
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x428595
test esi, esi
je 0x428595
push esi
call dword [0x4a1040]
jmp 0x428595
mov eax, 2
cmp byte [ebx + 1], al
jae 0x42b55f
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42b55f
mov eax, dword [0x4ca500]
push eax
mov eax, dword [edi + 4]
lea ecx, [edi + 0x808]
push ecx
mov ecx, dword [edi + 0x1008]
lea edx, [edi + 8]
push edx
push ebx
call fcn.00473530
jmp 0x428593
lea ecx, [esp + 0x2f]
push ecx
mov ecx, dword [0x4ca504]
lea edx, [esp + 0x4c]
push edx
push ecx
call fcn.00415ca0
mov ebx, eax
mov eax, dword [esp + 0x54]
add esp, 0xc
test eax, eax
jne 0x42b599
mov eax, dword [0x4ca508]
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca510]
mov dword [esp + 0x48], eax
jmp 0x42b5a5
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca50c]
mov esi, dword [0x4ca500]
push edx
push ecx
push eax
call fcn.00415e70
mov edx, dword [esp + 0x1c]
mov ecx, eax
push edx
mov eax, ebx
call fcn.00473530
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x42b5d5
test ebx, ebx
je 0x42b5d5
push ebx
call dword [0x4a1040]
mov ebx, dword [esp + 0x10]
jmp 0x428595
cmp byte [ebx + 1], 1
jae 0x42b65a
mov eax, dword [edi + 0x14]
test eax, eax
je 0x42b65a
cmp dword [eax + 0x1008], 0xfffffffe
lea ecx, [eax + 8]
jne 0x42b635
cmp word [ecx], 0
je 0x42b62b
add eax, 0x808
push eax
push ecx
push 0x4a85b8
mov esi, 0x400
lea edi, [esp + 0x14c]
call fcn.00476740
add esp, 0xc
mov ecx, edi
mov edi, dword [esp + 0x14]
xor eax, eax
jmp 0x42b63a
lea ecx, [eax + 0x808]
xor eax, eax
jmp 0x42b63a
add eax, 0x808
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + 4]
push edx
mov edi, ecx
mov dword [esp + 0x50], ecx
call fcn.00473940
mov ebx, dword [esp + 0x10]
jmp 0x428593
mov edx, dword [0x4ca500]
lea eax, [esp + 0x2f]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edx
mov eax, 2
call fcn.00415ca0
mov edi, dword [esp + 0x54]
add esp, 0xc
mov ebx, eax
test edi, edi
jne 0x42b694
mov edi, dword [0x4ca504]
mov esi, dword [0x4ca508]
mov dword [esp + 0x48], edi
jmp 0x42b69a
mov esi, dword [0x4ca504]
cmp word [esi], 0
jne 0x42b6a4
xor esi, esi
jmp 0x42b6bb
push 0x4ab0b4
push esi
call fcn.0048fff9
add esp, 8
test eax, eax
jne 0x42b6bb
mov esi, 0x4a3920
mov eax, dword [esp + 0x10]
push esi
push eax
call fcn.00473940
cmp byte [esp + 0x2f], 0
mov edi, eax
je 0x42b5d5
test ebx, ebx
je 0x42b5d5
push ebx
call dword [0x4a1040]
mov ebx, dword [esp + 0x10]
jmp 0x428595
mov esi, dword [0x4ca500]
call fcn.00415ef0
mov esi, eax
cmp esi, 0xffffffff
jne 0x42b71d
mov ecx, dword [0x4ca500]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4a6ae4
call fcn.004306a0
mov ebx, dword [esp + 0x10]
jmp 0x428593
call fcn.00477d80
test eax, eax
je 0x428ee9
mov ebx, dword [esp + 0x10]
mov dword [edi + 0xd0], esi
mov edi, 1
jmp 0x42859d
mov edx, dword [0x4ca500]
push edx
call dword [0x4a1144]
mov edi, 1
jmp 0x42859d
xor edi, edi
mov ecx, ebx
call fcn.00423490
push eax
call fcn.00456230
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov edi, ecx
jmp 0x428595
mov eax, dword [0x4ca500]
call fcn.004169f0
cmp eax, 0xffffffff
jne 0x42b79e
mov edx, dword [0x4ca500]
push edx
push 0
push 0x4a6ae4
mov ecx, ebx
call fcn.004306a0
jmp 0x428593
mov dword [edi + 0xfc], eax
mov edi, 1
jmp 0x42859d
xor edi, edi
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esp + 0x38]
mov dword [edx], eax
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 1
cmp edi, 7
je 0x427456
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
jmp case.0x427485.116
cmp dword [ebp + 0xc], 0
je 0x42b884
mov edx, dword [ebp + 0xc]
cmp dword [edx + 8], 0
jne 0x42b884
mov ecx, dword [0x4ca4b0]
test ecx, ecx
je 0x42b873
cmp byte [ecx + 0x17], 0
jne 0x42b841
mov eax, dword [ecx + 0xc]
jmp 0x42b843
mov eax, ecx
test byte [eax + 0x15], 2
je 0x42b873
mov eax, edx
call fcn.004153b0
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, edx
mov dword [eax + 8], 0
mov ecx, dword [0x4ca500]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42b8b9
mov edx, dword [esp + 0x38]
mov dword [edx], ebx
jmp case.0x427485.116
mov eax, 5
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42b8e2
mov eax, dword [esp + 0x38]
mov dword [eax], ebx
mov eax, 6
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x4ca504]
push ecx
mov ecx, dword [esp + 0x14]
push 0
push 0x4a6b10
call fcn.004306a0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4ca508]
push edx
push 0
push 0x4a6b3c
mov ecx, ebx
call fcn.004306a0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esp + 0x40], 0
je 0x42b968
lea esi, [esp + 0x40]
call fcn.00430ea0
test ebx, ebx
je 0x42baea
cmp ebx, 8
je 0x42baea
mov ecx, dword [0x4cbb3c]
push 0x4a3920
push 0
push 0x4aa9c8
call fcn.004306a0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x38]
mov dword [eax], edx
jmp case.0x427485.116
mov ecx, dword [esp + 0x38]
mov dword [ecx], edx
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebx + 1], 0
jne 0x42ba01
push 0x4a3920
push 0
push 0x4aaee4
mov ecx, ebx
call fcn.004302a0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x10
call fcn.00491458
mov edi, eax
add esp, 4
test edi, edi
jne 0x42ba3a
push 0x4a3920
push eax
push 0x4a66e0
mov ecx, ebx
call fcn.004306a0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4cb48c]
mov edx, dword [0x4cb488]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x44], eax
xor eax, eax
push edi
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x18]
push eax
push edx
lea ebx, [esp + 0x50]
mov dword [0x4cb488], eax
mov dword [0x4cb48c], eax
call fcn.0045c060
mov ebx, eax
cmp ebx, 1
jne 0x42ba9e
cmp dword [edi + 8], 0
jne 0x42ba9e
mov eax, dword [esp + 0x24]
cmp dword [edi], eax
jne 0x42ba9e
cmp dword [esp + 0x40], 0x400000
mov ecx, eax
mov dword [edi + 0xc], ecx
jbe 0x42bb0a
dec dword [0x4cb490]
jmp 0x42bb0a
cmp dword [esp + 0x24], 0
je 0x42badc
mov eax, dword [0x4cb488]
test eax, eax
je 0x42bac9
push eax
call fcn.00490941
add esp, 4
cmp dword [0x4cb48c], 0x400000
jbe 0x42bac9
dec dword [0x4cb490]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov dword [0x4cb488], edx
mov dword [0x4cb48c], eax
cmp ebx, 1
je 0x42bb03
push edi
call fcn.00490936
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [edi + 0xc], 0
test byte [esi + 0x100], 2
mov dword [esi + 0x104], edi
jne 0x42bb26
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00430b80
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4c7b80]
cmp word [edx], 0
jne 0x42bb6f
cmp dword [0x4caddc], 0
jne 0x42bb6f
cmp dword [0x4ca694], 0
jne 0x42bb6f
cmp dword [0x4ca698], 0
jne 0x42bb6f
cmp byte [0x4ca6a2], 0
je case.0x427485.224
mov eax, 8
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor edi, edi
mov ecx, ebx
call fcn.00423490
push eax
push 6
push 0x4cb508
call fcn.00417de0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je case.0x427485.116
push 0x4a3920
push 0
push 0x4aaf18
mov ecx, ebx
call fcn.004306a0
mov ecx, dword [esp + 0x974]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc