Function at 0x423c00
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4917ab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x528
mov eax, dword [ebp + 0x10]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x64], ebx
cmp eax, ebx
jne 0x423c3c
lea eax, [esp + 0x64]
mov edi, dword [0x4a2440]
mov edx, eax
mov esi, ecx
mov dword [esp + 0x48], eax
mov dword [edx], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x18], esi
cmp ecx, ebx
je 0x423f3d
lea esp, [esp]
cmp dword [0x4a7cdc], ebx
je 0x423c94
cmp dword [0x4a7ccc], ebx
je 0x423c82
mov eax, dword [0x4a7cc4]
push eax
call dword [0x4922c4]
mov dword [0x4a7ccc], ebx
call dword [0x49253c]
mov dword [0x4a7cdc], ebx
mov dword [0x4a7cc4], ebx
mov ebx, dword [0x4922ec]
call ebx
mov edx, dword [0x4a2440]
mov ecx, eax
sub ecx, dword [0x4a82d4]
cmp ecx, dword [edx + 0xb4]
jbe 0x423cdf
push 0
push 0
push 0
push 0
lea eax, [esp + 0xf4]
push eax
call dword [0x492610]
test eax, eax
je 0x423cd8
push 1
push 0xffffffffffffffff
call fcn.00401280
add esp, 8
call ebx
mov dword [0x4a82d4], eax
cmp byte [edi + 0xc8], 0
jne 0x423d10
cmp byte [edi + 0xca], 0
jne 0x423d10
mov edx, dword [0x4a82c8]
cmp edx, 0xffffffff
jle 0x423d10
mov ecx, dword [edi + 0x28]
cmp ecx, edx
jle 0x423d0c
mov byte [edi + 0xc8], 1
jmp 0x423d10
inc ecx
mov dword [edi + 0x28], ecx
mov ecx, dword [edi + 4]
mov edx, dword [edi]
cmp ecx, 0xffffffff
jl 0x423d33
jg 0x423d21
cmp edx, 0xffffffff
jbe 0x423d33
cmp dword [0x4a82c4], ecx
jg 0x423d45
jl 0x423d33
cmp dword [0x4a82c0], edx
jae 0x423d45
mov ecx, dword [edi + 0x24]
cmp ecx, 0xffffffff
jle 0x423d51
sub eax, dword [0x4a82d0]
cmp eax, ecx
jb 0x423d51
push 1
push 0xa
call fcn.00401280
add esp, 8
cmp byte [edi + 0xd4], 0
je 0x423d78
lea ebx, [ebx]
push 1
push 0x8000012f
call fcn.00401280
add esp, 8
cmp byte [edi + 0xd4], 0
jne 0x423d60
mov dword [0x4a8048], esi
cmp byte [edi + 0xd5], 0
je 0x423dbc
mov ecx, dword [0x4a7c18]
mov dword [ecx*4 + 0x4a75d8], esi
call ebx
mov ecx, dword [0x4a7c18]
mov dword [ecx*4 + 0x4a5580], eax
inc ecx
mov dword [0x4a7c18], ecx
cmp ecx, 0x190
jl 0x423dbc
mov dword [0x4a7c18], 0
mov al, byte [esi]
cmp al, 1
je 0x423de7
cmp al, 0x6a
je 0x423de7
cmp al, 0x70
je 0x423de7
mov ebx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push ebx
push esi
call fcn.00456400
mov dword [esp + 0x2c], eax
cmp eax, 1
jne 0x423f42
jmp 0x423dea
mov ebx, dword [ebp + 0xc]
mov al, byte [esi]
mov byte [esp + 0x90], al
cmp al, 9
jb 0x423f59
cmp al, 0x20
ja 0x423f59
add dword [0x4a82c0], 1
push esi
adc dword [0x4a82c4], 0
call fcn.004285b0
mov edi, 3
cmp eax, edi
jne 0x423eb6
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x71
jne 0x423e51
lea esp, [esp]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x34]
push edx
push ebx
push 2
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x14]
cmp edx, ecx
je 0x423e30
jmp 0x423e65
lea eax, [esp + 0x34]
push eax
push ebx
push edi
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp edx, esi
je 0x427c89
cmp dword [ebp + 8], edi
je 0x427c9c
cmp eax, 1
jne 0x427c9c
test edx, edx
je 0x423e98
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x424087
mov dword [esp + 0x18], edx
jmp 0x427c85
mov esi, dword [esi + 0x18]
cmp byte [esi], 8
mov dword [esp + 0x18], esi
jne 0x427c85
mov edx, esi
mov eax, dword [edx + 0x18]
mov dword [esp + 0x18], eax
jmp 0x427c85
mov esi, dword [esi + 0x18]
cmp byte [esi], 8
mov dword [esp + 0x18], esi
jne 0x423f34
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x71
jne 0x423ef1
lea ebx, [ebx]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x34]
push edx
push ebx
push 2
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x14]
cmp edx, ecx
je 0x423ed0
jmp 0x423f05
lea eax, [esp + 0x34]
push eax
push ebx
push edi
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp dword [ebp + 8], edi
je 0x427c9c
cmp eax, 1
jne 0x427c9c
test edx, edx
je 0x424800
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x424087
mov dword [esp + 0x18], edx
jmp 0x427c85
cmp dword [ebp + 8], edi
jne 0x427c85
mov eax, 1
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx ecx, al
add ecx, 0xffffffa1
cmp ecx, 0x7d
ja case.0x423f6f.97
movzx ecx, byte [ecx + 0x4280f8]
jmp dword [ecx*4 + 0x4280c0]
add dword [0x4a82c0], 1
adc dword [0x4a82c4], 0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x424000
xor ebx, ebx
cmp dword [esi + 0xc], 1
mov edx, eax
sete bl
mov dword [esp + 0x58], edx
test ebx, ebx
je 0x423fb4
mov eax, dword [edi + 0x94]
mov dword [edi + 0x98], eax
mov dword [edi + 0x94], 0
mov ecx, edx
call fcn.00401210
mov dword [esp + 0x2c], eax
test ebx, ebx
je 0x423fd9
mov ecx, dword [edi + 0x98]
mov dword [edi + 0x94], ecx
mov dword [edi + 0x98], 0
test eax, eax
je 0x423f42
cmp eax, 8
je 0x423f42
cmp dword [ebp + 8], 3
je 0x427cbd
mov edx, dword [esi + 0x14]
mov dword [esp + 0x18], edx
jmp 0x427c85
push esi
mov bl, 1
call fcn.00440d00
mov edx, eax
mov dword [esp + 0x58], edx
test edx, edx
je 0x427e18
cmp dword [edi + 0x94], 0
je 0x424035
mov eax, dword [edx + 4]
call fcn.00440db0
test eax, eax
je 0x424035
mov ebx, 1
jmp 0x423f9e
xor ebx, ebx
jmp 0x423fb4
add dword [0x4a82c0], 1
adc dword [0x4a82c4], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x424069
push esi
mov bl, 1
call fcn.00440d00
mov dword [esp + 0x58], eax
test eax, eax
je 0x427e18
cmp dword [ebp + 8], 3
mov dword [edi + 0x9c], eax
je 0x424084
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x1c]
cmp edx, dword [ecx + 0x1c]
je 0x427c81
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x48]
mov dword [eax], edx
jmp 0x423f3d
add dword [0x4a82c0], 1
mov eax, dword [esp + 0x8c]
adc dword [0x4a82c4], 0
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x4240dd
mov eax, dword [0x4a5bc0]
mov edi, eax
cmp byte [eax], bl
je 0x4240db
mov ebx, dword [0x4a7d18]
test ebx, ebx
je 0x4240db
mov eax, dword [ebx + 4]
push edi
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x4240dd
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x4240c3
xor ebx, ebx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], 0
test ebx, ebx
je 0x4241e5
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x424115
push 0x49612c
push eax
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x424115
mov al, 1
jmp 0x424117
xor al, al
lea ecx, [esp + 0x58]
push ecx
push eax
push ebx
xor eax, eax
call fcn.00473c40
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4241e5
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x42417d
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x424151
cmp edx, ecx
je 0x42417d
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x424146
push 0x4947f9
push 0
push 0x499c48
mov ecx, esi
call fcn.0042cb30
xor eax, eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [esp + 0x4c]
mov edx, dword [edi + 0x94]
test edx, edx
je 0x424214
call fcn.00440db0
test eax, eax
je 0x424214
mov ebx, 1
mov dword [edi + 0x98], edx
mov dword [edi + 0x94], 0
mov ecx, dword [esp + 0x58]
call fcn.00401210
mov dword [esp + 0x2c], eax
test ebx, ebx
je 0x4241d4
mov edx, dword [edi + 0x98]
mov dword [edi + 0x94], edx
mov dword [edi + 0x98], 0
test eax, eax
je 0x423f42
cmp eax, 8
je 0x423f42
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x8c]
sete al
movzx ecx, al
push ecx
push edx
call fcn.0042c960
cmp dword [ebp + 8], 3
je 0x427cb9
mov eax, dword [esi + 0x14]
mov dword [esp + 0x18], eax
jmp 0x427c85
xor ebx, ebx
jmp 0x4241ad
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], eax
cmp eax, 4
jne 0x42423e
mov ecx, dword [0x4a5bc0]
push ecx
xor ebx, ebx
call fcn.00413100
add esp, 4
mov dword [esp + 0x6c], eax
jmp 0x424311
cmp eax, 1
ja 0x4242c9
movzx eax, byte [esi + 1]
sub eax, 0
je 0x424299
dec eax
je 0x424280
mov edx, dword [0x4a5bc0]
push 0x4970c4
push edx
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x424278
mov dword [esp + 0x24], 5
jmp 0x424356
mov eax, dword [0x4a5bc0]
push eax
jmp 0x4242ad
mov eax, dword [0x4a5bc0]
push 0
push 1
push 1
push 1
call fcn.0046e3c0
add esp, 0x10
test eax, eax
je 0x4242a6
mov dword [esp + 0x24], 2
jmp 0x424356
mov edx, dword [0x4a5bc0]
push edx
xor ebx, ebx
call fcn.00413100
xor ecx, ecx
add esp, 4
test eax, eax
setne cl
mov dword [esp + 0x6c], eax
lea eax, [ecx + 3]
mov dword [esp + 0x24], eax
cmp eax, 3
jne 0x42430c
cmp byte [esi + 1], 1
ja 0x4242de
mov dword [esp + 0x68], 1
jmp 0x4242f5
mov esi, dword [0x4a5bc4]
call fcn.004139e0
mov dword [esp + 0x68], eax
test eax, eax
je 0x427da3
mov eax, dword [0x4a5bc8]
cmp byte [eax], 0x31
jne 0x42434d
cmp byte [eax + 1], 0
jne 0x42434d
mov byte [esp + 0x5c], 1
jmp 0x424352
cmp eax, 4
jne 0x424356
cmp byte [esi + 1], 2
ja 0x424321
mov dword [esp + 0x68], 1
jmp 0x424338
mov esi, dword [0x4a5bc8]
call fcn.004139e0
mov dword [esp + 0x68], eax
test eax, eax
je 0x427dd1
mov eax, dword [0x4a5bcc]
cmp byte [eax], 0x31
jne 0x42434d
cmp byte [eax + 1], 0
mov byte [esp + 0x5c], 1
je 0x424352
mov byte [esp + 0x5c], 0
mov esi, dword [esp + 0x18]
mov byte [esp + 0x23], 0
mov dword [esp + 0x34], 0
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x6b
mov dword [esp + 0x1c], eax
jne 0x42437e
mov edi, eax
mov edx, dword [edi + 0x14]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x1c], edx
jmp 0x42438a
mov dword [esp + 0x3c], 0
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x40], edx
cmp ecx, 8
je 0x4243d2
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
lea eax, [ecx - 2]
cmp eax, 6
ja case.default.0x4243de
jmp dword [eax*4 + 0x428178]
cmp byte [esi + 1], 0
jbe 0x4243ff
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov edi, dword [esp + 0x3c]
mov byte [esp + 0x60], 0
jmp 0x424408
xor eax, eax
xor edx, edx
mov byte [esp + 0x60], 1
mov ecx, dword [esp + 0x60]
mov ebx, dword [ebp + 0xc]
push ecx
push edx
push eax
push edi
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x37]
push eax
push esi
call fcn.0042a080
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x27]
push edx
call fcn.0042a220
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
mov edx, dword [ebp + 0xc]
push edi
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2b]
push ecx
push edx
push esi
call fcn.0042a410
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
mov eax, dword [0x4a5bc8]
push 0x498150
push eax
call fcn.00480f51
add esp, 8
push edi
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x2b]
push edx
test eax, eax
mov eax, dword [ebp + 0xc]
push eax
push esi
je 0x42449e
call fcn.0042b170
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
call fcn.0042b420
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
lea esi, [esp + 0xac]
call fcn.00413f90
mov dword [esp + 0x53c], 0
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x42455a
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx + 0xd8]
mov edx, dword [esp + 0xac]
push 0x30c
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0xb4]
and esi, 0x7fffffff
mov dword [esp + 0xbc], 0
call eax
test al, al
je 0x42455a
mov eax, esi
mov ebx, 0x30c
lea ecx, [esp + 0xac]
call fcn.0046c0c0
test al, al
je 0x42455a
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2b]
push eax
push ecx
mov ecx, dword [0x4a5bc8]
push edx
mov edx, edi
call fcn.0042b6e0
lea esi, [esp + 0xac]
mov dword [esp + 0x2c], eax
call fcn.00413f00
jmp 0x424562
mov dword [esp + 0x2c], 1
lea ecx, [esp + 0xac]
mov dword [esp + 0x53c], 0xffffffff
call fcn.00413fe0
mov esi, dword [esp + 0x18]
jmp case.default.0x4243de
mov eax, dword [0x4a5bc0]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
mov edx, dword [ebp + 0xc]
push edi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x37]
push ecx
push edx
mov ecx, esi
call fcn.0042a7b0
mov dword [esp + 0x2c], eax
jmp case.default.0x4243de
mov eax, dword [0x4a5bc0]
push eax
lea ebx, [esp + 0x5a]
call fcn.00413100
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x424607
mov ecx, dword [0x4a5bc4]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x6c]
push ebx
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push edi
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x3f]
push eax
push ecx
mov ecx, esi
call fcn.0042ad10
cmp byte [esp + 0x56], 0
mov dword [esp + 0x2c], eax
je case.default.0x4243de
push ebx
call dword [0x492040]
jmp case.default.0x4243de
mov dword [esp + 0x2c], 1
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x423f42
cmp eax, 7
je 0x423f42
cmp eax, 8
je 0x423f42
cmp byte [esp + 0x23], 0
jne 0x427c89
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x424688
mov edx, dword [ecx + 0x1c]
cmp edx, dword [esi + 0x1c]
jne 0x42806f
mov dword [esp + 0x18], ecx
mov esi, ecx
jmp 0x427c89
cmp dword [ebp + 8], 3
je 0x423f3d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0x427c85
mov cl, byte [edi + 0xe4]
mov byte [esp + 0x3b], cl
cmp al, 0x6f
jne 0x42471c
mov edi, dword [0x4a5c10]
test edi, edi
je 0x4246ce
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0xdc]
call fcn.00470a40
test eax, eax
je 0x427dfe
mov edi, dword [esp + 0x4c]
mov eax, dword [edi + 0xdc]
cmp dword [eax + 8], 6
jne 0x4246e8
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [edi + 0xdc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4246fe
push eax
call fcn.00480f68
add esp, 4
mov ecx, dword [edi + 0xdc]
push ecx
call fcn.00480cc8
mov ebx, dword [ebp + 0xc]
add esp, 4
mov dword [edi + 0xdc], 0
jmp 0x424727
mov byte [edi + 0xe4], 1
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x34], 0
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x71
jne 0x424758
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x34]
push edx
push ebx
push 2
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 0x14]
cmp edx, ecx
je 0x424737
jmp 0x42476d
lea eax, [esp + 0x34]
push eax
push ebx
push 3
call fcn.00423c00
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x90], 0x6e
mov esi, dword [esi + 0x18]
mov dword [esp + 0x18], esi
jne 0x4247c6
mov cl, byte [esp + 0x3b]
mov byte [edi + 0xe4], cl
cmp byte [esi], 0x6f
jne 0x4247a5
cmp dword [edi + 0xdc], 0
jne 0x427c85
mov ecx, esi
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x18], ecx
jmp 0x4247c6
cmp dword [edi + 0xdc], 0
lea esi, [edi + 0xdc]
je 0x4247c6
call fcn.0042d1e0
mov edx, dword [esp + 0x34]
mov eax, 1
mov dword [esp + 0x2c], eax
cmp dword [ebp + 8], 3
je 0x427c9c
cmp eax, 1
jne 0x427c9c
test edx, edx
je 0x427c85
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x1c]
jne 0x427e31
mov dword [esp + 0x18], edx
jmp 0x427c85
cmp dword [esi + 0xc], 1
jne 0x42480c
mov edx, dword [esi + 0x18]
mov dword [esp + 0x18], edx
jmp 0x427c85
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x34]
push eax
push ebx
push 2
call fcn.00423c00
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
cmp ecx, esi
je 0x427c89
cmp dword [ebp + 8], 3
je 0x42806f
cmp eax, 1
jne 0x42806f
test ecx, ecx
je 0x42485a
mov edx, dword [esi + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x428064
mov dword [esp + 0x18], ecx
mov esi, ecx
jmp 0x427c89
mov eax, dword [esi + 0x18]
mov dword [esp + 0x18], eax
jmp 0x427c85
add dword [0x4a82c0], 1
mov edi, dword [0x4a5c10]
mov ebx, dword [0x4a2440]
mov edx, 0
adc dword [0x4a82c4], edx
mov al, byte [esi]
movzx ecx, al
dec ecx
mov dword [esp + 0x1c], edi
cmp ecx, 0xdd
ja case.0x4248a1.8
movzx ecx, byte [ecx + 0x428418]
jmp dword [ecx*4 + 0x428194]
push esi
call fcn.00439bc0
jmp 0x427c68
cmp byte [esi + 1], 1
mov ebx, dword [0x4a5bc4]
jbe 0x424926
mov eax, dword [esi + 8]
cmp byte [eax + 0x11], dl
je 0x4248d1
mov eax, 1
jmp 0x427c68
mov eax, dword [eax + 0x1c]
cmp eax, edx
je 0x4248ea
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
push edi
call fcn.00412590
jmp 0x427c68
mov eax, dword [0x4a5c14]
cmp eax, edx
je 0x424926
cmp byte [ebx], dl
jne 0x424926
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x424904
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x42491a
sub ecx, 2
jne 0x424926
push edi
call fcn.00470b50
jmp 0x427c68
mov ecx, edi
call fcn.004708d0
jmp 0x427c68
push 1
push 0
push 0xffffffffffffffff
push ebx
push edi
call fcn.00471040
jmp 0x427c68
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], edx
je 0x424956
cmp byte [eax + 0x11], dl
jne 0x424956
mov dword [esp + 0x24], 1
mov edi, 1
xor ebx, ebx
jmp 0x424993
mov ebx, dword [0x4a5c14]
mov eax, dword [0x4a5bc4]
mov dword [esp + 0x24], edx
cmp ebx, edx
je 0x42497f
cmp byte [eax], dl
jne 0x42497f
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x42497a
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x4249dc
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
mov edi, eax
mov eax, dword [esp + 0x1c]
push 1
call fcn.004126a0
mov edx, dword [0x4a5bc8]
mov dword [esp + 0x40], eax
mov al, byte [edx]
test al, al
je 0x424b91
call fcn.00408ee0
movsx eax, al
push eax
push 0x4981c8
call fcn.00481f21
add esp, 8
test eax, eax
je 0x424b91
test edi, edi
jne 0x4249eb
lea eax, [edi + 1]
jmp 0x427c68
cmp ebx, edx
je 0x424981
push 1
mov eax, ebx
call fcn.004126a0
jmp 0x424991
cmp dword [esp + 0x24], 0
je 0x4249fc
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
fild qword [ecx]
jmp 0x424a1a
test ebx, ebx
je 0x424a0b
push 0
mov eax, ebx
call fcn.00412800
jmp 0x424a1a
mov esi, dword [0x4a5bc4]
call fcn.004124f0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
fstp qword [esp + 0x40]
cmp byte [edi + 0x17], 0
jne 0x424a2d
mov ebx, dword [edi + 0xc]
jmp 0x424a2f
mov ebx, edi
test byte [ebx + 0x15], 8
je 0x424a3c
mov eax, ebx
call fcn.00401150
mov al, byte [ebx + 0x17]
cmp al, 1
jne 0x424a55
test byte [ebx + 0x15], 4
je 0x424a50
mov eax, ebx
call fcn.0042d350
mov eax, dword [ebx + 8]
jmp 0x424a65
cmp al, 2
jne 0x424a60
call fcn.00401000
jmp 0x424a65
mov eax, 0x4a757d
cmp byte [eax], 0
je 0x424ad3
cmp byte [edi + 0x17], 0
jne 0x424a75
mov ebx, dword [edi + 0xc]
jmp 0x424a77
mov ebx, edi
test byte [ebx + 0x15], 8
je 0x424a84
mov eax, ebx
call fcn.00401150
mov al, byte [ebx + 0x17]
cmp al, 1
jne 0x424a9d
test byte [ebx + 0x15], 4
je 0x424a98
mov eax, ebx
call fcn.0042d350
mov eax, dword [ebx + 8]
jmp 0x424aad
cmp al, 2
jne 0x424aa8
call fcn.00401000
jmp 0x424aad
mov eax, 0x4a757d
lea edx, [esp + 0x70]
push edx
call fcn.0046dfa0
add esp, 4
test eax, eax
jne 0x424af4
push 1
push eax
push 0xffffffffffffffff
push 0x4947f9
push edi
call fcn.00471040
jmp 0x427c68
lea eax, [esp + 0xa4]
push eax
call dword [0x49228c]
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0xa8]
push edx
call dword [0x492108]
mov eax, dword [0x4a5bc8]
mov al, byte [eax]
call fcn.00408ee0
movsx eax, al
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x424b12.69
movzx ecx, byte [eax + 0x42850c]
jmp dword [ecx*4 + 0x4284f8]
fld qword [esp + 0x40]
fmul qword [0x49c6c8]
jmp 0x424b4d
fld qword [esp + 0x40]
fmul qword [0x49c6c0]
jmp 0x424b4d
fld qword [esp + 0x40]
fmul qword [0x49c6b8]
jmp 0x424b4d
fld qword [esp + 0x40]
fmul qword [0x49c6b0]
jmp 0x424b4d
fld qword [esp + 0x40]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
call fcn.0048f7b6
add esi, eax
adc ebx, edx
mov dword [esp + 0x70], esi
push 0
lea eax, [esp + 0x74]
lea esi, [esp + 0x104]
mov dword [esp + 0x78], ebx
call fcn.0046e230
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push edi
call fcn.00471040
mov esi, dword [esp + 0x18]
jmp 0x427c68
cmp edi, 2
je 0x424bf3
cmp dword [esp + 0x40], 2
je 0x424bf3
cmp dword [esp + 0x24], 0
je 0x424bb1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
jmp 0x424bd3
test ebx, ebx
je 0x424bc0
push 0
mov eax, ebx
call fcn.00412740
jmp 0x424bcf
mov esi, dword [0x4a5bc4]
call fcn.004124c0
mov esi, dword [esp + 0x18]
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412740
add eax, ebx
adc edx, edi
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.00412590
jmp 0x427c68
cmp dword [esp + 0x24], 0
je 0x424c04
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x424c22
test ebx, ebx
je 0x424c13
push 0
mov eax, ebx
call fcn.00412800
jmp 0x424c22
mov esi, dword [0x4a5bc4]
call fcn.004124f0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
fstp qword [esp + 0x40]
push 0
mov eax, edi
call fcn.00412800
fadd qword [esp + 0x40]
sub esp, 8
fstp qword [esp]
push edi
call fcn.004125c0
jmp 0x427c68
mov eax, dword [0x4a5bc8]
mov al, byte [eax]
test al, al
je 0x424db5
call fcn.00408ee0
movsx eax, al
push eax
push 0x4981c8
call fcn.00481f21
add esp, 8
test eax, eax
je 0x424db3
mov ebx, dword [0x4a5c14]
mov ecx, dword [0x4a5bc4]
test ebx, ebx
je 0x424ceb
cmp byte [ecx], 0
jne 0x424ceb
mov al, byte [ebx + 0x17]
test al, al
jne 0x424c97
mov edx, dword [ebx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x424ceb
test ebx, ebx
je 0x424ceb
cmp byte [ebx + 0x17], 0
jne 0x424ca8
mov ebx, dword [ebx + 0xc]
test byte [ebx + 0x15], 8
je 0x424cb5
mov eax, ebx
call fcn.00401150
mov al, byte [ebx + 0x17]
cmp al, 1
jne 0x424cd2
test byte [ebx + 0x15], 4
je 0x424cc9
mov eax, ebx
call fcn.0042d350
mov eax, dword [ebx + 8]
mov dword [esp + 0x24], eax
jmp 0x424cef
cmp al, 2
jne 0x424ce1
call fcn.00401000
mov dword [esp + 0x24], eax
jmp 0x424cef
mov dword [esp + 0x24], 0x4a757d
jmp 0x424cef
mov dword [esp + 0x24], ecx
cmp byte [edi + 0x17], 0
jne 0x424cfa
mov ebx, dword [edi + 0xc]
jmp 0x424cfc
mov ebx, edi
test byte [ebx + 0x15], 8
je 0x424d09
mov eax, ebx
call fcn.00401150
mov al, byte [ebx + 0x17]
cmp al, 1
jne 0x424d22
test byte [ebx + 0x15], 4
je 0x424d1d
mov eax, ebx
call fcn.0042d350
mov eax, dword [ebx + 8]
jmp 0x424d32
cmp al, 2
jne 0x424d2d
call fcn.00401000
jmp 0x424d32
mov eax, 0x4a757d
push eax
mov eax, dword [esp + 0x28]
lea ebx, [esp + 0x5b]
call fcn.0046e2e0
add esp, 4
cmp byte [esp + 0x57], 0
mov edi, eax
mov ebx, edx
je 0x424d68
mov ecx, dword [esp + 0x1c]
push 1
push 0
push 0xffffffffffffffff
push 0x4947f9
push ecx
call fcn.00471040
jmp 0x427c68
mov edx, dword [0x4a5bc8]
mov al, byte [edx]
call fcn.00408ee0
cmp al, 0x44
je 0x424d90
cmp al, 0x48
je 0x424d87
cmp al, 0x4d
jne 0x424da2
push 0
push 0x3c
jmp 0x424d97
push 0
push 0xe10
jmp 0x424d97
push 0
push 0x15180
push ebx
push edi
call fcn.0048f830
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x1c]
push ebx
push edi
push eax
call fcn.00412590
jmp 0x427c68
xor edx, edx
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], edx
je 0x424dd4
cmp byte [eax + 0x11], 0
jne 0x424dd4
mov dword [esp + 0x24], 1
mov ebx, 1
xor edi, edi
jmp 0x424e12
mov edi, dword [0x4a5c14]
mov eax, dword [0x4a5bc4]
mov dword [esp + 0x24], edx
test edi, edi
je 0x424dfe
cmp byte [eax], 0
jne 0x424dfe
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x424df9
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x424e3b
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x1c]
push 1
call fcn.004126a0
cmp ebx, 2
je 0x424e8c
cmp eax, 2
je 0x424e8c
cmp dword [esp + 0x24], 0
je 0x424e4a
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x424e6c
test edi, edi
je 0x424e00
push 1
mov eax, edi
call fcn.004126a0
jmp 0x424e10
test edi, edi
je 0x424e59
push 0
mov eax, edi
call fcn.00412740
jmp 0x424e68
mov esi, dword [0x4a5bc4]
call fcn.004124c0
mov esi, dword [esp + 0x18]
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412740
sub eax, edi
sbb edx, ebx
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.00412590
jmp 0x427c68
cmp dword [esp + 0x24], 0
je 0x424e9d
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x424ebb
test edi, edi
je 0x424eac
push 0
mov eax, edi
call fcn.00412800
jmp 0x424ebb
mov esi, dword [0x4a5bc4]
call fcn.004124f0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
fstp qword [esp + 0x40]
push 0
mov eax, edi
call fcn.00412800
fsub qword [esp + 0x40]
sub esp, 8
fstp qword [esp]
push edi
call fcn.004125c0
jmp 0x427c68
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], edx
je 0x424eff
cmp byte [eax + 0x11], dl
jne 0x424eff
mov dword [esp + 0x24], 1
mov ebx, 1
xor edi, edi
jmp 0x424f3c
mov edi, dword [0x4a5c14]
mov eax, dword [0x4a5bc4]
mov dword [esp + 0x24], edx
test edi, edi
je 0x424f28
cmp byte [eax], dl
jne 0x424f28
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x424f23
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x424f65
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x1c]
push 1
call fcn.004126a0
cmp ebx, 2
je 0x424fbb
cmp eax, 2
je 0x424fbb
cmp dword [esp + 0x24], 0
je 0x424f74
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x424f96
test edi, edi
je 0x424f2a
push 1
mov eax, edi
call fcn.004126a0
jmp 0x424f3a
test edi, edi
je 0x424f83
push 0
mov eax, edi
call fcn.00412740
jmp 0x424f92
mov esi, dword [0x4a5bc4]
call fcn.004124c0
mov esi, dword [esp + 0x18]
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412740
push ebx
push edi
push edx
push eax
call fcn.00487d50
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.00412590
jmp 0x427c68
cmp dword [esp + 0x24], 0
je 0x424fcc
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x424fea
test edi, edi
je 0x424fdb
push 0
mov eax, edi
call fcn.00412800
jmp 0x424fea
mov esi, dword [0x4a5bc4]
call fcn.004124f0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
fstp qword [esp + 0x40]
push 0
mov eax, edi
call fcn.00412800
fmul qword [esp + 0x40]
sub esp, 8
fstp qword [esp]
push edi
call fcn.004125c0
jmp 0x427c68
mov eax, dword [esi + 8]
cmp dword [eax + 0x1c], edx
je 0x42502e
cmp byte [eax + 0x11], dl
jne 0x42502e
mov dword [esp + 0x24], 1
mov ebx, 1
xor edi, edi
jmp 0x42506b
mov edi, dword [0x4a5c14]
mov eax, dword [0x4a5bc4]
mov dword [esp + 0x24], edx
test edi, edi
je 0x425057
cmp byte [eax], dl
jne 0x425057
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x425052
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x425098
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x1c]
push 1
call fcn.004126a0
cmp ebx, 2
je 0x425102
cmp eax, 2
je 0x425102
cmp dword [esp + 0x24], 0
je 0x4250a7
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
jmp 0x4250c9
test edi, edi
je 0x425059
push 1
mov eax, edi
call fcn.004126a0
jmp 0x425069
test edi, edi
je 0x4250b6
push 0
mov eax, edi
call fcn.00412740
jmp 0x4250c5
mov esi, dword [0x4a5bc4]
call fcn.004124c0
mov esi, dword [esp + 0x18]
mov edi, edx
mov ebx, eax
mov eax, ebx
or eax, edi
jne 0x4250dd
mov ecx, dword [esp + 0x1c]
call fcn.00412530
jmp 0x427c68
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412740
push edi
push ebx
push edx
push eax
call fcn.0048f830
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
call fcn.00412590
jmp 0x427c68
cmp dword [esp + 0x24], 0
je 0x425113
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x425131
test edi, edi
je 0x425122
push 0
mov eax, edi
call fcn.00412800
jmp 0x425131
mov esi, dword [0x4a5bc4]
call fcn.004124f0
mov esi, dword [esp + 0x18]
fst qword [esp + 0x40]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x42514e
mov ecx, dword [esp + 0x1c]
call fcn.00412530
jmp 0x427c68
mov edi, dword [esp + 0x1c]
push 0
mov eax, edi
call fcn.00412800
fdiv qword [esp + 0x40]
sub esp, 8
fstp qword [esp]
push edi
call fcn.004125c0
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
test ebx, ebx
jns 0x425186
xor ebx, ebx
jmp 0x425198
mov edi, 1
mov ecx, esi
call fcn.0041f250
cmp ebx, eax
jle 0x425198
mov ebx, eax
mov ecx, dword [0x4a5bc4]
mov edx, dword [esp + 0x1c]
push 1
push 0
push ebx
push ecx
push edx
call fcn.00471040
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
test ebx, ebx
jns 0x4251c7
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.0041f250
cmp ebx, eax
jbe 0x4251d9
mov ebx, eax
push 1
sub eax, ebx
add eax, dword [0x4a5bc4]
push 0
push ebx
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.00471040
jmp 0x427c68
cmp byte [esi + 1], 4
jb 0x42522a
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x34]
cmp byte [edx], 0
je 0x42522a
mov edi, 3
mov ecx, esi
call fcn.0041f2d0
mov dword [esp + 0x24], eax
cmp eax, 1
jge 0x425232
mov ecx, dword [esp + 0x1c]
call fcn.00412530
jmp 0x427c68
mov dword [esp + 0x24], 0x7fffffff
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
mov eax, dword [0x4a5bd0]
mov al, byte [eax]
call fcn.00408ee0
cmp al, 0x4c
jne 0x42527d
cmp ebx, 1
jge 0x425263
mov ecx, dword [esp + 0x1c]
call fcn.00412530
jmp 0x427c68
mov eax, dword [esp + 0x24]
mov ecx, 1
sub ecx, eax
add ebx, ecx
cmp ebx, 1
jge 0x425287
lea edx, [eax + ebx - 1]
mov dword [esp + 0x24], edx
cmp ebx, 1
jge 0x425287
mov ebx, 1
mov edi, 1
mov ecx, esi
call fcn.0041f250
cmp eax, ebx
jae 0x4252a5
mov ecx, dword [esp + 0x1c]
call fcn.00412530
jmp 0x427c68
mov ecx, edi
sub ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jbe 0x4252b5
mov ecx, eax
mov edx, dword [0x4a5bc4]
mov eax, dword [esp + 0x1c]
push 1
push 0
push ecx
lea ebx, [ebx + edx - 1]
push ebx
push eax
call fcn.00471040
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
test ebx, ebx
jns 0x4252e8
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.0041f250
cmp ebx, eax
jbe 0x4252fa
mov ebx, eax
mov ecx, dword [0x4a5bc4]
mov edx, dword [esp + 0x1c]
push 1
push 0
sub eax, ebx
push eax
add ecx, ebx
push ecx
push edx
call fcn.00471040
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
test ebx, ebx
jns 0x42532d
xor ebx, ebx
mov edi, 1
mov ecx, esi
call fcn.0041f250
cmp ebx, eax
jbe 0x42533f
mov ebx, eax
mov ecx, dword [esp + 0x1c]
push 1
push 0
sub eax, ebx
push eax
mov eax, dword [0x4a5bc4]
push eax
push ecx
call fcn.00471040
jmp 0x427c68
cmp byte [edi + 0x17], dl
jne 0x425365
mov ebx, dword [edi + 0xc]
jmp 0x425367
mov ebx, edi
test byte [ebx + 0x15], 8
je 0x425374
mov eax, ebx
call fcn.00401150
mov al, byte [ebx + 0x17]
cmp al, 1
jne 0x425380
mov ebx, dword [ebx + 8]
jmp 0x425392
cmp al, 2
jne 0x42538d
call fcn.00401000
mov ebx, eax
jmp 0x425392
mov ebx, 0x4a757d
cmp ebx, dword [0x4a5bc4]
jne 0x4253ab
mov al, byte [edi + 0x17]
test al, al
jne 0x4253a7
mov edx, dword [edi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
je 0x42542a
push 1
push 0
mov edi, 1
mov ecx, esi
call fcn.0041f250
mov edi, dword [esp + 0x24]
push eax
push 0
push edi
call fcn.00471040
cmp eax, 1
jne case.0x4248a1.8
cmp byte [edi + 0x17], 0
jne 0x4253da
mov edi, dword [edi + 0xc]
test byte [edi + 0x15], 8
je 0x4253e7
mov eax, edi
call fcn.00401150
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x425400
test byte [edi + 0x15], 4
je 0x4253fb
mov eax, edi
call fcn.0042d350
mov ebx, dword [edi + 8]
jmp 0x425412
cmp al, 2
jne 0x42540d
call fcn.00401000
mov ebx, eax
jmp 0x425412
mov ebx, 0x4a757d
mov ecx, dword [0x4a5bc4]
mov edx, ebx
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x425420
mov eax, dword [0x4a5bc8]
mov al, byte [eax]
test al, al
je 0x425461
call fcn.00408ee0
cmp al, 0x54
jne 0x425461
mov ecx, dword [0x4a5bc8]
cmp byte [ecx + 1], 0
jne 0x425461
mov eax, ebx
call fcn.00412210
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412b80
jmp 0x427c68
cmp byte [esi], 0x30
push ebx
jne 0x42547d
call dword [0x492524]
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412b80
jmp 0x427c68
call dword [0x492634]
mov eax, dword [esp + 0x1c]
push 0
call fcn.00412b80
jmp 0x427c68
mov eax, dword [0x4a5c14]
cmp eax, edx
je 0x4254c4
cmp byte [eax + 0x17], dl
jne 0x4254a9
mov edx, dword [eax + 0xc]
mov cl, byte [edx + 0x15]
jmp 0x4254ac
mov cl, byte [eax + 0x15]
test cl, 1
je 0x4254c4
call fcn.00412ac0
push 0
push eax
push edi
call fcn.00412590
jmp 0x427c68
mov edi, 1
mov ecx, esi
call fcn.0041f250
mov edi, dword [esp + 0x1c]
push 0
push eax
push edi
call fcn.00412590
jmp 0x427c68
mov esi, dword [0x4a5bcc]
mov al, byte [esi]
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], 0xffffffff
test al, al
je 0x425575
call fcn.00408ee0
movsx eax, al
push eax
push 0x4981d0
call fcn.00481f21
add esp, 8
test eax, eax
je 0x425575
inc esi
cmp byte [esi], 0
je 0x425575
call fcn.0040c870
mov dword [esp + 0x24], eax
test eax, eax
jle 0x425675
mov eax, dword [0x4a5bc8]
cmp byte [eax], 0
jne 0x42557f
mov dword [esp + 0x30], 0
mov eax, 0x494870
mov edx, dword [0x4a6474]
push 1
push 0
push 0xffffffffffffffff
push eax
push edx
call fcn.00471040
mov eax, dword [esp + 0x30]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x28]
call fcn.004010d0
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov dword [esp + 0x24], 1
jmp 0x42552b
mov ecx, dword [0x4a5bc4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x18]
mov edi, 4
mov dword [esp + 0x3c], eax
call fcn.0041f2d0
mov esi, eax
test esi, esi
jns 0x4255a3
xor esi, esi
mov ecx, dword [esp + 0x18]
mov edi, 1
call fcn.0041f250
mov edi, eax
cmp esi, edi
jge 0x425675
mov edx, dword [esp + 0x40]
mov al, byte [edx]
cmp al, 0x31
je 0x425640
call fcn.00408ee0
cmp al, 0x52
je 0x425640
mov ecx, dword [esp + 0x18]
mov edi, 2
call fcn.0041f250
mov ebx, eax
mov eax, dword [esp + 0x50]
mov edi, 1
add eax, esi
lea esp, [esp]
mov ecx, dword [0x4a2440]
mov cl, byte [ecx + 0xce]
test cl, cl
jne 0x42560f
mov edx, dword [esp + 0x3c]
push edx
call fcn.0046e8b0
add esp, 4
jmp 0x425631
cmp cl, 2
jne 0x425623
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0046eb30
add esp, 4
jmp 0x425631
mov edx, dword [esp + 0x3c]
push edx
push eax
call fcn.00482062
add esp, 8
test eax, eax
je 0x425675
cmp edi, dword [esp + 0x24]
je 0x425663
inc edi
add eax, ebx
jmp 0x4255f0
movzx ecx, byte [ebx + 0xce]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov eax, edi
sub eax, esi
push ecx
call fcn.0046e6b0
add esp, 0x10
test eax, eax
je 0x425675
sub eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
jns 0x42553d
mov eax, 0x495ec8
jmp 0x425542
push esi
call fcn.0043a020
jmp 0x427c68
mov eax, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
mov edx, dword [0x4a5bc4]
call fcn.004307b0
jmp 0x427c68
mov eax, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
push eax
mov eax, dword [0x4a5bc0]
push ecx
mov ecx, dword [0x4a5bc4]
push esi
call fcn.0043a270
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push edx
mov eax, esi
call fcn.0043a830
jmp 0x427c68
mov eax, dword [0x4a5bc0]
mov ecx, dword [0x4a5bc4]
push eax
push esi
call fcn.0043ae00
jmp 0x427c68
push 0
push ecx
mov edi, 7
mov ecx, esi
call fcn.0041f2d0
add esp, 4
push eax
mov edi, 6
mov ecx, esi
call fcn.0041f2d0
push eax
push ecx
mov edi, 5
mov ecx, esi
call fcn.0041f2d0
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.0041f2d0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.0041f2d0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov ecx, dword [0x4a5be0]
push eax
push esi
call fcn.00436220
jmp 0x427c68
mov ecx, dword [0x4a5bd8]
push ecx
push ecx
mov edi, 5
mov ecx, esi
call fcn.0041f2d0
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.0041f2d0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.0041f2d0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
push eax
push esi
call fcn.00436940
jmp 0x427c68
mov edx, dword [0x4a5bcc]
push edx
push ecx
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov edi, 1
mov ecx, esi
mov ebx, eax
call fcn.0041f2d0
add esp, 4
mov ecx, eax
push esi
mov eax, ebx
call fcn.0044d370
jmp 0x427c68
mov ecx, dword [ebx + 0xb0]
cmp al, 0x41
sete dl
push 0
push ecx
mov ecx, dword [0x4a5bc0]
movzx eax, dl
push eax
push ecx
call fcn.0040cf10
add esp, 0x10
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc0]
xor edx, edx
cmp dword [ebx + 0xb0], 3
push 0
sete dl
lea edx, [edx + edx + 1]
push edx
push 0
push eax
call fcn.0040cf10
add esp, 0x10
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
push 0
push 2
push 0
push ecx
call fcn.0040cf10
add esp, 0x10
mov eax, 1
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push 0
push 0
push 0
push edx
call fcn.0040cf10
add esp, 0x10
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc0]
push eax
call fcn.0040f050
add esp, 4
jmp 0x427c68
mov ecx, dword [0x4a5bd8]
mov edx, dword [0x4a5bd4]
push 0x4947f9
push ecx
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bcc]
push ecx
mov ecx, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc4]
push ecx
push edx
mov edx, dword [0x4a5bc0]
push eax
mov eax, 0x4947f9
call fcn.0040f2e0
add esp, 0x20
jmp 0x427c68
mov ecx, dword [0x4a5bd4]
mov edx, dword [0x4a5bd8]
push ecx
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push 0x4947f9
push 0x4947f9
push edx
mov edx, dword [0x4a5bc0]
push ecx
push eax
mov eax, dword [0x4a5bcc]
call fcn.0040f2e0
add esp, 0x20
jmp 0x427c68
mov edx, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
push 0x4947f9
push edx
mov edx, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bc0]
push 0x4947f9
push 0x4947f9
push edx
push ecx
push eax
mov eax, 0x4947f9
mov edx, eax
call fcn.0040f2e0
add esp, 0x20
jmp 0x427c68
mov edi, 4
mov ecx, esi
call fcn.0041f2d0
push eax
mov ecx, esi
call fcn.004390a0
jmp 0x427c68
mov edx, dword [0x4a5bcc]
push 0
push 0
push edx
mov edx, dword [0x4a5bc4]
cmp al, 0x74
mov eax, dword [0x4a5bc8]
push eax
push edx
mov edx, dword [0x4a5bc0]
sete cl
call fcn.00471d50
add esp, 0x14
test eax, eax
je 0x4259b8
mov eax, dword [0x4a2440]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x4259b8
push 1
push eax
call fcn.00401280
add esp, 8
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
push 9
push 0x4981d4
push ecx
call fcn.004819bb
add esp, 0xc
test eax, eax
jne 0x4259f5
mov edx, dword [0x4a5bc4]
cmp byte [edx], al
jne 0x4259f5
mov eax, dword [0x4a5bcc]
cmp byte [eax], 0
mov byte [esp + 0x3b], 1
je 0x4259fa
mov byte [esp + 0x3b], 0
mov al, byte [esi]
xor ecx, ecx
cmp byte [esp + 0x3b], cl
setne cl
dec ecx
and ecx, 0x14
mov dword [esp + 0x3c], ecx
cmp al, 0x80
je 0x425a57
cmp al, 0x81
je 0x425a57
mov edx, dword [0x4a5bc8]
cmp byte [edx], 0
je 0x425a93
mov al, byte [esi]
cmp al, 0x80
je 0x425b02
cmp al, 0x81
je 0x425b04
mov edx, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
push ecx
mov ecx, dword [0x4a5bcc]
push eax
call fcn.00431c50
jmp 0x427c68
mov eax, dword [0x4a5bc8]
cmp byte [eax], 0
je 0x425a88
mov edi, 2
mov ecx, esi
call fcn.0041f380
fmul qword [0x49c628]
call fcn.0048f780
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x425a88
mov dword [esp + 0x3c], 0x1f4
mov ecx, dword [0x4a5bd0]
cmp byte [ecx], 0
jne 0x425a20
cmp byte [esp + 0x3b], 0
je 0x425a20
mov ecx, dword [0x4a5bc0]
add ecx, 9
mov al, byte [ecx]
cmp al, 0x20
je 0x425aad
cmp al, 9
jne 0x425ab0
inc ecx
jmp 0x425aa3
cmp byte [ecx], 0
mov dword [esp + 0x30], ecx
je 0x425a20
mov edi, dword [0x4a7d18]
test edi, edi
je 0x425a20
jmp 0x425ad4
mov ecx, dword [esp + 0x30]
mov eax, dword [edi + 4]
push ecx
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x425af1
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x425ad0
jmp 0x425a20
mov edx, dword [esp + 0x3c]
mov cl, byte [esi]
push edi
call fcn.00473a70
jmp 0x427c68
cmp al, 0x81
mov ecx, dword [0x4a5bd0]
sete dl
movzx eax, dl
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [0x4a5bc4]
push ecx
push edx
push eax
mov eax, dword [0x4a5bcc]
push ebx
mov ebx, dword [0x4a5bc0]
call fcn.00472040
add esp, 0x14
test eax, eax
je 0x4259b8
mov ecx, dword [0x4a2440]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x4259b8
push 1
push eax
call fcn.00401280
add esp, 8
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc4]
call fcn.00435b90
jmp 0x427c68
mov edx, dword [0x4a5bc4]
mov eax, dword [0x4a5bc0]
push edx
push eax
call dword [0x49210c]
test eax, eax
sete cl
movzx edx, cl
push edx
push esi
call fcn.0042c960
jmp 0x427c68
lea eax, [esp + 0xa0]
push eax
push 0x3a98
push 1
push 0x4981e0
push 0
push 0x1a
push 0xffff
call dword [0x4924fc]
test eax, eax
sete cl
movzx edx, cl
push edx
push esi
call fcn.0042c960
jmp 0x427c68
mov eax, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc0]
push eax
push ecx
push esi
call fcn.0044ea80
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push 0
push 0xffffffffffffffff
push edx
mov eax, 0x4a82d8
call fcn.0046bab0
mov eax, dword [0x4a5bc4]
add esp, 0xc
push 0
push 0xffffffffffffffff
push eax
mov eax, 0x4a82e4
call fcn.0046bab0
mov ecx, dword [0x4a5bc8]
add esp, 0xc
push 0
push 0xffffffffffffffff
push ecx
mov eax, 0x4a82f0
call fcn.0046bab0
add esp, 0xc
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc8]
push 0x495dcc
call fcn.0046e8b0
add esp, 4
test eax, eax
setne bl
mov dl, 3
cmp dl, byte [esi + 1]
mov edx, dword [0x4a5bc8]
sbb eax, eax
and eax, dword [0x4a5c1c]
mov byte [esp + 0x94], bl
mov ecx, dword [esp + 0x94]
push eax
push 1
push ecx
push 0
push edx
mov edx, dword [0x4a5bc4]
test bl, bl
sete al
movzx ecx, al
push ecx
push edx
mov edx, dword [0x4a5bc0]
push 0
push 0x4a7ce0
call fcn.0042d860
test bl, bl
je 0x427c68
test eax, eax
mov eax, 0x494870
jne 0x425cae
mov eax, 0x4981ec
push 1
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [0x4a6474]
push eax
call fcn.00471040
jmp 0x427c68
push esi
call fcn.00431d30
jmp 0x427c68
cmp byte [esi + 1], 2
jbe 0x425d13
mov ecx, dword [0x4a5bd8]
mov edx, dword [0x4a5bd4]
mov eax, dword [0x4a5bd0]
push ecx
mov ecx, dword [0x4a5bcc]
push edx
mov edx, dword [0x4a5bc8]
push eax
mov eax, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bdc]
push edx
mov edx, dword [0x4a5bc0]
call fcn.00432400
jmp 0x427c68
mov eax, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc0]
push 0x4947f9
push 0x4947f9
push 0x4947f9
push eax
push ecx
mov ecx, 0x4947f9
mov eax, ecx
mov edx, ecx
call fcn.00432400
jmp 0x427c68
mov edx, dword [0x4a5be8]
mov eax, dword [0x4a5be4]
mov ecx, dword [0x4a5be0]
push edx
mov edx, dword [0x4a5bdc]
push eax
mov eax, dword [0x4a5bd8]
push ecx
mov ecx, dword [0x4a5bcc]
push edx
mov edx, dword [0x4a5bc8]
push eax
mov eax, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bc0]
push edx
mov edx, dword [0x4a5bd4]
push eax
push ecx
mov ecx, dword [0x4a5bd0]
push esi
call fcn.0044d7c0
jmp 0x427c68
mov ecx, dword [0x4a5bd0]
cmp al, 0x46
sete dl
movzx eax, dl
mov edx, dword [0x4a5bcc]
push eax
mov eax, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bc0]
push edx
mov edx, dword [0x4a5bc8]
push eax
push ecx
mov ecx, dword [0x4a5bd4]
push esi
call fcn.00432520
jmp 0x427c68
mov esi, dword [0x4a5bcc]
push 1
xor bl, bl
call fcn.0040c8a0
add esp, 4
mov byte [esp + 0x64], al
test al, al
jne 0x425e0a
mov edx, dword [0x4a5bcc]
mov ecx, dword [esp + 0x18]
push edx
push 0
push 0x4970e4
call fcn.0042cb30
mov esi, dword [esp + 0x18]
jmp 0x427c68
mov eax, dword [0x4a5bd0]
cmp byte [eax], bl
je 0x425e23
mov ecx, dword [esp + 0x18]
mov edi, 4
call fcn.0041f2d0
jmp 0x425e28
mov eax, 1
mov ecx, dword [0x4a5bd8]
mov edx, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc0]
push edx
mov edx, dword [0x4a5bd4]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [0x4a5bc4]
push eax
mov eax, dword [esp + 0x78]
push eax
push ecx
mov ecx, dword [0x4a5bdc]
call fcn.004325e0
mov esi, dword [esp + 0x18]
jmp 0x427c68
mov edx, dword [0x4a5bdc]
mov eax, dword [0x4a5bd8]
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bcc]
push eax
mov eax, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [0x4a5be0]
push edx
mov edx, dword [0x4a5bd4]
push esi
call fcn.00432be0
jmp 0x427c68
mov eax, dword [0x4a5be0]
mov ecx, dword [0x4a5bdc]
mov edx, dword [0x4a5bd8]
push eax
mov eax, dword [0x4a5bd4]
push ecx
mov ecx, dword [0x4a5bd0]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00432e10
jmp 0x427c68
mov edx, dword [0x4a5bd0]
mov eax, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc4]
push eax
push ecx
push edx
push esi
call fcn.00432f60
jmp 0x427c68
mov eax, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bc4]
push esi
call fcn.00433170
jmp 0x427c68
mov eax, dword [0x4a5bd0]
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc4]
mov esi, dword [0x4a5bc0]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [0x4a5bd4]
push edx
mov edx, dword [0x4a5bc8]
push eax
call fcn.00433280
mov esi, dword [esp + 0x18]
jmp 0x427c68
mov ecx, dword [0x4a5bd0]
mov edx, dword [0x4a5bc4]
mov eax, dword [0x4a5bcc]
push ecx
mov ecx, dword [0x4a5bd4]
push edx
mov edx, dword [0x4a5bc8]
push esi
call fcn.00433340
jmp 0x427c68
mov eax, dword [0x4a5bd8]
mov ecx, dword [0x4a5bd4]
mov edx, dword [0x4a5bd0]
push eax
mov eax, dword [0x4a5bcc]
push ecx
mov ecx, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [0x4a5bc4]
push esi
call fcn.0044dac0
jmp 0x427c68
mov edx, dword [0x4a5bdc]
mov eax, dword [0x4a5bd8]
mov ecx, dword [0x4a5bd4]
push edx
mov edx, dword [0x4a5bd0]
push eax
mov eax, dword [0x4a5bcc]
push ecx
mov ecx, dword [0x4a5bc8]
push edx
push eax
push ecx
mov ecx, dword [0x4a5bc4]
push esi
call fcn.0044e260
jmp 0x427c68
mov edx, dword [0x4a5bd0]
mov ecx, dword [0x4a5bd4]
mov eax, dword [0x4a5bcc]
mov edi, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc8]
call fcn.00433bf0
jmp 0x427c68
mov eax, dword [0x4a5bd8]
mov ecx, dword [0x4a5bd4]
mov edx, dword [0x4a5bd0]
push eax
mov eax, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [0x4a5bdc]
push edx
mov edx, dword [0x4a5bcc]
call fcn.00433c60
jmp 0x427c68
cmp al, 0x8e
sete al
movzx ecx, al
push ecx
mov eax, esi
call fcn.00433d90
jmp 0x427c68
mov edx, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc0]
push esi
call fcn.004340a0
jmp 0x427c68
mov eax, dword [0x4a5bd4]
mov ecx, dword [0x4a5bd0]
mov edx, dword [0x4a5bcc]
push eax
mov eax, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push edx
push eax
push ecx
mov ecx, dword [0x4a5bc0]
push esi
call fcn.00434700
jmp 0x427c68
cmp byte [esi + 1], 1
jbe 0x4260fa
mov edx, dword [0x4a5bcc]
mov eax, dword [0x4a5bc8]
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bc0]
push eax
mov eax, dword [0x4a5bc4]
call fcn.00434b40
jmp 0x427c68
mov edi, dword [0x4a5bc0]
mov ecx, 0x4947f9
push 0x4947f9
mov eax, ecx
mov edx, ecx
call fcn.00440c60
test eax, eax
je 0x42611f
push edi
push eax
call dword [0x49247c]
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bcc]
mov eax, dword [0x4a5bc8]
mov edx, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bd0]
call fcn.00434b70
jmp 0x427c68
mov edx, dword [0x4a5bcc]
mov ecx, dword [0x4a5bd0]
mov eax, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc4]
call fcn.00434d80
jmp 0x427c68
mov eax, dword [0x4a5bd0]
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc4]
push eax
push ecx
mov ecx, dword [0x4a5bd4]
push edx
mov edx, dword [0x4a5bc8]
push esi
call fcn.00434ea0
jmp 0x427c68
mov eax, dword [0x4a5bcc]
mov ecx, dword [0x4a5bd0]
mov edx, dword [0x4a5bc4]
push eax
mov eax, dword [0x4a5bc8]
push esi
call fcn.00435740
jmp 0x427c68
mov ecx, dword [0x4a5bdc]
mov edx, dword [0x4a5bd8]
mov eax, dword [0x4a5bd4]
push ecx
mov ecx, dword [0x4a5bd0]
push edx
push eax
push ecx
mov eax, esi
call fcn.00435a10
jmp 0x427c68
mov edx, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
push edx
push esi
call fcn.00435bd0
jmp 0x427c68
push 0
push 0x1a3
push 0x111
push 0
push 0x496684
call dword [0x492580]
push eax
call dword [0x49257c]
mov eax, dword [0x4a2440]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x4259b8
push 1
push eax
call fcn.00401280
add esp, 8
mov eax, 1
jmp 0x427c68
push 0
push 0x1a0
push 0x111
push 0
push 0x496684
call dword [0x492580]
push eax
call dword [0x49257c]
mov ecx, dword [0x4a2440]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x4259b8
push 1
push eax
call fcn.00401280
add esp, 8
mov eax, 1
jmp 0x427c68
mov edi, dword [0x4a5bc0]
cmp byte [edi], dl
jne 0x4262a0
mov dword [0x4a8270], edx
mov eax, 1
jmp 0x427c68
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x4262ce
mov eax, 0x4a7ce0
call fcn.004190e0
test eax, eax
jne 0x4262ce
mov edx, dword [0x4a5bc0]
push edx
push eax
push 0x495ecc
mov ecx, esi
call fcn.0042cb30
jmp 0x427c68
mov dword [0x4a8270], eax
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [esi + 0xc]
push edx
call fcn.00409fc0
add esp, 0xc
jmp 0x427c68
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x426343
mov eax, dword [0x4a5bc0]
cmp byte [eax], dl
je 0x426326
mov edi, eax
mov eax, 0x4a7ce0
call fcn.004190e0
mov edi, eax
mov eax, dword [0x4a5bc0]
jmp 0x42632c
mov edi, dword [ebx + 0x9c]
test edi, edi
jne 0x426343
push eax
push edi
push 0x495ecc
mov ecx, esi
call fcn.0042cb30
jmp 0x427c68
mov esi, dword [0x4a5bc4]
cmp byte [esi], 0
je 0x4263bc
push 0
call fcn.00413700
add esp, 4
test eax, eax
jne 0x426393
push eax
mov eax, dword [0x4a5bc4]
push 1
push 1
push 1
call fcn.0046e3c0
add esp, 0x10
test eax, eax
jne 0x4263b3
mov eax, dword [0x4a5bc4]
mov ecx, dword [esp + 0x18]
push eax
push 0
push 0x496cc4
call fcn.0042cb30
mov esi, dword [esp + 0x18]
jmp 0x427c68
jle 0x4263b3
cmp eax, 2
jg 0x4263b3
cmp eax, 1
mov eax, dword [0x4a5bc8]
sete cl
push 0
movzx edx, cl
push edx
push eax
push 0x4947f9
jmp 0x4263d4
mov esi, dword [0x4a5bc4]
cmp byte [esi], 0
mov ecx, dword [0x4a5bc8]
jne 0x4263cd
cmp byte [ecx], 0
je 0x4263cd
mov al, 1
jmp 0x4263cf
xor al, al
push eax
push 1
push ecx
push esi
push edi
mov ecx, 0x4a7ce0
call fcn.00418e40
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc0]
mov edi, 0x10
cmp byte [eax], dl
je 0x42641c
push 0x496470
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x42641c
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov edi, eax
test edi, edi
je 0x426421
mov eax, 1
mov byte [ebx + 0xca], al
test al, al
je 0x42644d
or eax, 0xffffffff
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0xb4], edi
mov byte [ebx + 0xc8], 0
mov eax, 1
jmp 0x427c68
mov dword [ebx + 0xb4], 5
mov byte [ebx + 0xc8], 1
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.004136a0
dec eax
je 0x42650c
dec eax
je 0x4264c5
dec eax
jne 0x42651d
mov ecx, dword [0x4a5bc4]
cmp byte [ecx], al
je 0x4264af
mov ecx, dword [esp + 0x18]
lea edi, [eax + 1]
call fcn.0041f2d0
or eax, edx
jne 0x4264af
mov esi, dword [esp + 0x18]
mov eax, edi
mov byte [ebx + 0xc9], al
jmp 0x427c68
mov esi, dword [esp + 0x18]
xor eax, eax
mov byte [ebx + 0xc9], al
mov eax, 1
jmp 0x427c68
mov edx, dword [0x4a5bc0]
cmp byte [edx], 0
je 0x4264e3
mov ecx, dword [esp + 0x18]
mov edi, 1
call fcn.0041f2d0
mov dword [0x4a82cc], eax
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x42651d
mov ecx, dword [esp + 0x18]
mov edi, 2
call fcn.0041f2d0
mov esi, dword [esp + 0x18]
mov dword [0x4a82c8], eax
lea eax, [edi - 1]
jmp 0x427c68
mov ecx, dword [esp + 0x18]
mov edi, 1
call fcn.0041f2d0
mov dword [ebx + 0x2c], eax
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov ebx, dword [esi + 0xc]
cmp ebx, edx
jne 0x42654e
mov edi, dword [0x4a5bc0]
push 1
push 0x4a7ce0
call fcn.00421140
mov ebx, eax
test ebx, ebx
je case.0x4248a1.8
mov edi, dword [0x4a5bcc]
cmp byte [edi], 0
je 0x42658a
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x426587
mov eax, 0x4a7ce0
call fcn.004190e0
test eax, eax
jne 0x426587
mov ecx, dword [0x4a5bcc]
push ecx
push eax
push 0x495ecc
mov ecx, esi
call fcn.0042cb30
jmp 0x427c68
mov dword [ebx + 0x10], eax
mov edx, dword [0x4a5bd4]
mov eax, dword [0x4a5bd0]
mov ecx, dword [0x4a5bc8]
push edx
mov edx, dword [0x4a5bc4]
push eax
push ebx
call fcn.004738d0
jmp 0x427c68
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x4265f0
mov eax, dword [0x4a5bc0]
mov ebx, eax
cmp byte [eax], dl
je 0x42662a
mov edi, dword [0x4a7d18]
test edi, edi
je 0x42662a
lea ebx, [ebx]
mov eax, dword [edi + 4]
push ebx
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x4265f0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4265d0
lea eax, [edi + 1]
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x426620
push 0x49612c
push eax
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x426620
mov al, 1
mov ecx, edi
push eax
call fcn.00473db0
mov eax, 1
jmp 0x427c68
xor al, al
mov ecx, edi
push eax
call fcn.00473db0
mov eax, 1
jmp 0x427c68
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x426678
mov eax, dword [0x4a5bc0]
mov ebx, eax
cmp byte [eax], dl
je 0x4266e0
mov edi, dword [0x4a7d18]
test edi, edi
je 0x4266e0
mov eax, dword [edi + 4]
push ebx
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x426678
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x426658
lea eax, [edi + 1]
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x4266d7
push 0x496f68
push eax
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x4266a8
push edi
xor edx, edx
mov cl, 0x80
call fcn.00473a70
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x4266d7
push 0x49612c
push eax
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x4266d7
mov al, 1
push eax
push edi
call fcn.00473b30
mov eax, 1
jmp 0x427c68
xor al, al
push eax
push edi
call fcn.00473b30
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc8]
mov eax, dword [0x4a5bc4]
push ecx
call fcn.0043b9d0
jmp 0x427c68
cmp edi, edx
jne 0x42671c
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
call fcn.00411ee0
mov eax, edi
jmp 0x427c68
mov eax, dword [0x4a5bc4]
push 0
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
cmp eax, 2
je 0x426754
mov eax, dword [0x4a5bc8]
push 0
push 1
push 0
push 1
call fcn.0046e3c0
add esp, 0x10
cmp eax, 2
jne 0x4267ee
mov edx, dword [0x4a5bc4]
cmp byte [edx], 0
je 0x42676d
mov edi, 1
mov ecx, esi
call fcn.0041f380
jmp 0x42676f
fldz
mov eax, dword [0x4a5bc8]
fst qword [esp + 0x40]
cmp byte [eax], 0
je 0x4267ae
mov edi, 2
fstp st(0)
mov ecx, esi
call fcn.0041f380
fst qword [esp + 0x80]
fld qword [esp + 0x40]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4267bd
fstp qword [esp + 0x40]
fstp qword [esp + 0x80]
jmp 0x4267c1
fld qword [str.o_fEuS]
fst qword [esp + 0x80]
jmp 0x426798
fstp st(0)
fstp st(0)
call fcn.00412050
fld qword [esp + 0x80]
fld qword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
fsub st(1), st(0)
sub esp, 8
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push ecx
call fcn.004125c0
jmp 0x427c68
mov edx, dword [0x4a5bc4]
cmp byte [edx], 0
je 0x42680d
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
mov dword [esp + 0x30], eax
jmp 0x426813
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov eax, dword [0x4a5bc8]
cmp byte [eax], 0
je 0x42682d
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov edi, eax
jmp 0x426832
mov edi, 0x7fffffff
cmp ebx, edi
jle 0x426840
mov eax, ebx
mov ebx, edi
mov dword [esp + 0x30], ebx
mov edi, eax
call fcn.00412000
mov ecx, eax
mov eax, ebx
cdq
mov ebx, eax
mov dword [esp + 0x40], edx
mov eax, edi
cdq
sub eax, ebx
sbb edx, dword [esp + 0x40]
add eax, 1
adc edx, 0
push edx
push eax
push 0
push ecx
call fcn.00490240
add eax, dword [esp + 0x30]
push 0x18
cdq
push edx
push eax
mov eax, dword [esp + 0x28]
call fcn.004010d0
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc4]
push 1
push esi
call fcn.0043bbb0
jmp 0x427c68
mov edx, dword [0x4a5bc8]
mov eax, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc0]
push edx
push esi
call fcn.0043bd70
jmp 0x427c68
mov eax, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
push esi
call fcn.0043c020
jmp 0x427c68
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc4]
push ecx
xor ecx, ecx
cmp al, 0x99
sete cl
push edx
dec ecx
and ecx, dword [0x4a5bc0]
push ecx
push esi
call fcn.0043c5d0
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
je 0x42690b
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
dec eax
jmp 0x42690d
xor eax, eax
cdq
test edx, edx
jg 0x42691e
jl 0x426918
test eax, eax
jae 0x42691e
xor eax, eax
mov dword [esp + 0x44], eax
cmp byte [esi], 0x9b
push eax
jne 0x426932
mov esi, dword [esp + 0x1c]
call fcn.0043d6d0
jmp 0x427c68
mov edi, dword [0x4a5bc0]
mov ebx, esi
call fcn.0043d7c0
jmp 0x427c68
mov ecx, dword [0x4a5bc4]
cmp byte [ecx], dl
je 0x42695e
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
jmp 0x426963
mov ebx, 0x96
mov edx, dword [0x4a5bc0]
cmp byte [edx], 0
je 0x426987
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
push ebx
push eax
call dword [0x492110]
lea eax, [edi + 1]
jmp 0x427c68
mov eax, 0x20b
push ebx
push eax
call dword [0x492110]
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
je 0x4269be
push 0x4981f4
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x4269e3
mov eax, dword [0x4a5bc4]
push 0x495ec8
push eax
call fcn.00480f51
add esp, 8
test eax, eax
je 0x4269e3
xor al, al
push eax
mov eax, dword [0x4a5bc0]
push esi
call fcn.0043d920
jmp 0x427c68
mov eax, 1
push eax
mov eax, dword [0x4a5bc0]
push esi
call fcn.0043d920
jmp 0x427c68
cmp byte [esi + 1], 2
jae 0x426a04
mov ebx, dword [ebx + 0x18]
jmp 0x426a06
xor ebx, ebx
mov eax, dword [0x4a5bc0]
mov ecx, dword [0x4a5bc4]
push ebx
push eax
push ecx
push esi
call fcn.0043ed20
jmp 0x427c68
mov ecx, dword [0x4a5bc4]
push esi
call fcn.0043e3a0
jmp 0x427c68
mov edx, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc8]
push edx
push esi
call fcn.0043e970
jmp 0x427c68
push esi
call fcn.0043f700
jmp 0x427c68
mov eax, dword [0x4a5bc0]
mov esi, dword [esp + 0x18]
call fcn.0044f7b0
jmp 0x427c68
mov edi, dword [0x4a5bc0]
push esi
call fcn.0044f8b0
jmp 0x427c68
mov eax, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
mov edx, dword [0x4a5bc0]
push esi
call fcn.0043f990
jmp 0x427c68
add ebx, 0x30
push ebx
push 0
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov edx, dword [0x4a5bc4]
cmp eax, 1
sete al
movzx ecx, al
push ecx
push edx
mov edx, dword [0x4a5bc0]
call fcn.0044ff50
add esp, 0x10
test eax, eax
jne 0x426b12
push 1
push eax
mov eax, dword [0x4a6474]
push 0xffffffffffffffff
push 0x494870
push eax
call fcn.00471040
jmp 0x427c68
add ebx, 0x30
push ebx
push 1
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
cmp eax, 1
mov eax, dword [0x4a5bc4]
sete cl
movzx edx, cl
push edx
mov edx, dword [0x4a5bc0]
push eax
call fcn.0044ff50
add esp, 0x10
push eax
push esi
call fcn.0042ca20
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
cmp eax, 1
mov eax, dword [0x4a5bc4]
sete cl
movzx edx, cl
push edx
mov edx, dword [0x4a5bc0]
push eax
call fcn.0044fb30
add esp, 8
test al, al
sete cl
movzx edx, cl
push edx
push esi
call fcn.0042c960
jmp 0x427c68
mov eax, dword [0x4a5bc8]
mov al, byte [eax]
call fcn.00408ee0
cmp al, 0x52
jne 0x426b94
mov ecx, dword [0x4a5bc4]
mov edx, dword [0x4a5bc0]
push ecx
push edx
call dword [0x492114]
test eax, eax
sete al
movzx ecx, al
push ecx
push esi
call fcn.0042c960
jmp 0x427c68
mov edi, 2
mov ecx, esi
call fcn.0041f2d0
mov edx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
mov edi, eax
call fcn.0044fcc0
add esp, 4
test al, al
sete al
movzx ecx, al
push ecx
push esi
call fcn.0042c960
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push edx
mov ecx, esi
call fcn.0043e1e0
jmp 0x427c68
mov eax, dword [0x4a5bc0]
cmp byte [eax], dl
je 0x426c1c
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
cmp eax, edi
sete cl
movzx edx, cl
push edx
mov edx, dword [0x4a5bc0]
call fcn.0044fe70
add esp, 4
test al, al
je 0x426c1c
xor al, al
push eax
push esi
call fcn.0042c960
jmp 0x427c68
mov eax, 1
push eax
push esi
call fcn.0042c960
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
jne 0x426c45
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x426c45
mov eax, 0x4947f9
mov edi, esi
call fcn.0043fb30
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
je 0x426c60
mov dword [esp + 0x30], eax
jmp 0x426c78
mov eax, dword [ebx + 0x10]
cmp eax, edx
je 0x426c70
add eax, 0x2c
mov dword [esp + 0x30], eax
jmp 0x426c78
mov dword [esp + 0x30], 0x4947f9
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov edi, 3
call fcn.0041f2d0
mov esi, dword [0x4a5bc8]
add esp, 4
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.004139e0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [0x4a5bc0]
push edx
push eax
call fcn.0043fc40
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [ebx + 0xdc], eax
sete al
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
jne 0x426ce2
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x426ce2
mov eax, 0x4947f9
mov ecx, dword [0x4a5bc8]
movzx edx, byte [ecx]
push edx
mov edi, esi
call fcn.00440320
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
je 0x426d07
mov dword [esp + 0x30], eax
jmp 0x426d1f
mov eax, dword [ebx + 0x10]
cmp eax, edx
je 0x426d17
add eax, 0x2c
mov dword [esp + 0x30], eax
jmp 0x426d1f
mov dword [esp + 0x30], 0x4947f9
push 0
push ecx
mov ecx, dword [esp + 0x20]
mov edi, 4
call fcn.0041f2d0
mov esi, dword [0x4a5bcc]
add esp, 4
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.004139e0
mov edx, dword [0x4a5bc8]
mov ecx, dword [esp + 0x38]
push eax
movzx eax, byte [edx]
mov edx, dword [0x4a5bc0]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
call fcn.004404a0
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [ebx + 0xdc], eax
sete al
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
jne 0x426d94
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x426d94
mov eax, 0x4947f9
mov ecx, dword [0x4a5bc8]
push ecx
mov ecx, esi
call fcn.00440a60
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
jne 0x426dbf
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x426dbf
mov eax, 0x4947f9
push esi
call fcn.0044f960
jmp 0x427c68
mov edi, dword [0x4a5bc0]
call fcn.0043db10
xor eax, eax
cmp dword [ebx + 0xdc], eax
sete al
jmp 0x427c68
mov edx, dword [0x4a5bd0]
mov eax, dword [0x4a5bc4]
mov ecx, dword [0x4a5bcc]
push edx
mov edx, dword [0x4a5bc8]
push eax
push esi
call fcn.0043dbf0
jmp 0x427c68
mov ecx, dword [0x4a5bc8]
mov edx, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bcc]
push edx
mov edx, esi
call fcn.0044eea0
jmp 0x427c68
mov eax, dword [0x4a5bc0]
push eax
push esi
call fcn.0044f1c0
jmp 0x427c68
mov ecx, dword [0x4a5be0]
mov edx, dword [0x4a5bdc]
mov eax, dword [0x4a5bd8]
mov ebx, dword [0x4a5bd0]
mov edi, dword [0x4a5bcc]
push ecx
mov ecx, dword [0x4a5bd4]
push edx
mov edx, dword [0x4a5bc4]
push eax
mov eax, dword [0x4a5bc0]
push ecx
mov ecx, dword [0x4a5bc8]
push edx
push eax
push esi
call fcn.0044f560
jmp 0x427c68
push 0
mov ecx, 4
call fcn.004381f0
add esp, 4
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 7
call fcn.00413700
add esp, 4
cmp eax, 7
jne 0x426ebe
push 0
lea ecx, [eax - 6]
call fcn.004381f0
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x427c68
cmp byte [ebx + 0xd5], 0
je 0x426eea
mov ecx, dword [0x4a7c18]
test ecx, ecx
jle 0x426ed4
dec ecx
jmp 0x426ed9
mov ecx, 0x18f
mov dword [0x4a7c18], ecx
mov dword [ecx*4 + 0x4a75d8], 0
mov esi, dword [esp + 0x18]
cmp eax, 1
sete cl
mov byte [ebx + 0xd5], cl
mov eax, 1
jmp 0x427c68
push 0
mov ecx, 2
call fcn.004381f0
add esp, 4
jmp 0x427c68
push 0
mov ecx, 3
call fcn.004381f0
add esp, 4
jmp 0x427c68
mov ebx, dword [0x4a2440]
add ebx, 0x4c
call fcn.004577d0
test eax, eax
je 0x426f4c
mov edx, dword [0x4a2440]
mov eax, dword [edx + 0x4c]
mov eax, dword [eax + 4]
jmp 0x426f4e
xor eax, eax
mov cl, byte [esi + 1]
push eax
test cl, cl
jne 0x426f6c
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0x10000
push 0x4981fc
jmp 0x426fb1
cmp cl, 1
jne 0x426f89
fldz
mov ecx, dword [0x4a5bc0]
sub esp, 8
fstp qword [esp]
push 0
push 0x10000
push ecx
jmp 0x426fb1
push ecx
mov edi, 3
mov ecx, esi
call fcn.0041f380
mov edx, dword [0x4a5bc4]
push ecx
fstp qword [esp]
push edx
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
push eax
mov eax, dword [0x4a5bc8]
push eax
call fcn.00472bb0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x426fe5
call dword [0x4922a4]
cmp eax, 0x59e
jne 0x426fe5
mov ecx, dword [0x4a5bc0]
push ecx
push edi
push 0x496c04
mov ecx, esi
call fcn.0042cb30
jmp 0x427c68
xor eax, eax
test edi, edi
setne al
jmp 0x427c68
mov edx, dword [0x4a5bdc]
cmp byte [edx], 0
je 0x427013
mov edi, 7
mov ecx, esi
call fcn.0041f2d0
mov dword [esp + 0x30], eax
mov ebx, 0x80000000
jmp 0x42701c
mov ebx, 0x80000000
mov dword [esp + 0x30], ebx
mov eax, dword [0x4a5bd8]
cmp byte [eax], 0
je 0x427038
mov edi, 6
mov ecx, esi
call fcn.0041f2d0
mov dword [esp + 0x50], eax
jmp 0x42703c
mov dword [esp + 0x50], ebx
mov ecx, dword [0x4a5bd4]
cmp byte [ecx], 0
je 0x427059
mov edi, 5
mov ecx, esi
call fcn.0041f2d0
mov dword [esp + 0x3c], eax
jmp 0x42705d
mov dword [esp + 0x3c], ebx
mov edx, dword [0x4a5bd0]
cmp byte [edx], 0
je 0x427076
mov edi, 4
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
mov edi, 9
mov ecx, esi
call fcn.0041f380
mov eax, dword [0x4a5be8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [0x4a5bcc]
push edx
push eax
mov al, byte [ecx]
call fcn.00408ee0
mov edx, dword [0x4a5bc8]
cmp al, 0x48
mov eax, dword [0x4a5bc4]
push edx
mov edx, dword [esp + 0x38]
push eax
sete cl
push edx
mov edi, ebx
call fcn.00438490
add esp, 0x24
jmp 0x427c68
mov eax, dword [0x4a5bc4]
cmp byte [eax], dl
je 0x4270e9
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
mov ebx, eax
jmp 0x4270eb
xor ebx, ebx
mov ecx, dword [0x4a5bc0]
cmp byte [ecx], 0
je 0x427101
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
jmp 0x427106
mov eax, 0xc8
mov edx, dword [0x4a5bcc]
mov ecx, dword [0x4a5bc8]
push edx
push ecx
push ebx
push eax
call fcn.0044d550
jmp 0x427c68
mov eax, dword [0x4a5c78]
cmp eax, edx
je 0x427141
push eax
call dword [0x492588]
test eax, eax
je 0x427141
mov edx, dword [0x4a5c78]
push edx
call dword [0x4924b0]
mov dword [0x4a5c78], 0
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bd0]
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc8]
push 0
push eax
mov eax, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bc0]
push edx
push eax
push ecx
push esi
mov ecx, 0x4947f9
call fcn.0042f1b0
jmp 0x427c68
mov edx, dword [0x4a5bd4]
mov eax, dword [0x4a5bd0]
mov ecx, dword [0x4a5bcc]
push 1
push edx
mov edx, dword [0x4a5bc8]
push eax
mov eax, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bc0]
push edx
push eax
push esi
call fcn.0042f1b0
jmp 0x427c68
mov ecx, dword [0x4a5bc8]
mov edx, dword [0x4a5bc4]
mov eax, dword [0x4a5bc0]
push ecx
mov ecx, dword [0x4a5bcc]
push edx
push eax
push esi
call fcn.004303a0
jmp 0x427c68
mov ecx, dword [0x4a5bc4]
mov edx, dword [0x4a5bc0]
mov edi, dword [0x4a5bcc]
mov esi, dword [0x4a5bc8]
push ecx
push edx
call fcn.004306b0
mov esi, dword [esp + 0x18]
jmp 0x427c68
push esi
call fcn.00431430
jmp 0x427c68
mov esi, dword [0x4a5bc4]
call fcn.00413ba0
mov esi, dword [0x4a5bc0]
movzx edi, ax
call fcn.00413c10
movzx ecx, ax
cmp ecx, 0xffffffff
je 0x427259
cmp edi, 0xffffffff
je 0x427259
mov edx, 3
shl dx, cl
shl di, cl
not dx
and dx, word [ebx + 0xcc]
or dx, di
mov word [ebx + 0xcc], dx
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov byte [ebx + 0xcb], al
cmp al, 0x64
jbe 0x427281
mov byte [ebx + 0xcb], 2
mov eax, 1
jmp 0x427c68
mov eax, dword [ebx + 0xb0]
push eax
mov eax, dword [0x4a5bc0]
call fcn.00413950
mov dword [ebx + 0xb0], eax
add esp, 4
mov eax, 1
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
cmp eax, 0x64
ja 0x4272c3
mov byte [ebx + 0xd2], al
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc8]
push 0x4964ac
push ecx
call fcn.00480f51
add esp, 8
test eax, eax
jne 0x42731b
mov edx, dword [0x4a5bc0]
cmp byte [edx], al
je 0x4272fb
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x60], eax
mov eax, dword [0x4a5bc4]
cmp byte [eax], 0
je 0x42734c
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x68], eax
mov eax, edi
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
cmp byte [ecx], 0
je 0x427332
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x5c], eax
mov edx, dword [0x4a5bc4]
cmp byte [edx], 0
je 0x42734c
mov edi, 1
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x64], eax
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc4]
push 0x4964ac
push eax
call fcn.00480f51
add esp, 8
xor edi, edi
mov ecx, esi
test eax, eax
jne 0x427381
call fcn.0041f2d0
mov dword [ebx + 0x70], eax
lea eax, [edi + 1]
jmp 0x427c68
call fcn.0041f2d0
mov dword [ebx + 0x6c], eax
mov eax, 1
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x54], eax
lea eax, [edi + 1]
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
mov dword [ebx + 0x58], eax
lea eax, [edi + 1]
jmp 0x427c68
mov eax, dword [0x4a5bc0]
push 0x498214
call fcn.0046e8b0
add esp, 4
xor edi, edi
mov ecx, esi
test eax, eax
je 0x4273f2
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
call fcn.0041f2d0
mov dword [ebx + 0x24], eax
lea eax, [edi + 1]
jmp 0x427c68
mov dword [ebx + 0x24], 0xffffffff
call fcn.0041f2d0
mov ecx, eax
or ecx, edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jne 0x427412
mov dword [ebx], 0xa
mov dword [ebx + 4], edi
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 7
call fcn.00413700
add esp, 4
cmp eax, 7
je 0x42743d
cmp eax, 1
sete dl
mov byte [ebx + 0xcf], dl
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.00413370
dec eax
cmp eax, 5
ja case.default.0x427460
jmp dword [eax*4 + 0x42851c]
mov esi, dword [esp + 0x18]
mov eax, 1
mov dword [ebx + 0x20], eax
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x20], 2
mov eax, 1
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x20], 4
mov eax, 1
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x20], 3
mov eax, 1
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov byte [ebx + 0xc5], 1
mov eax, 1
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov byte [ebx + 0xc5], 0
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
push 5
push 0x49656c
push ecx
call fcn.004819bb
add esp, 0xc
test eax, eax
jne 0x4275db
lea edi, [eax + 1]
mov ecx, esi
call fcn.0041f250
cmp eax, 0x1e
jb 0x427515
mov eax, edi
jmp 0x427c68
mov ecx, esi
call fcn.0041f2d0
mov esi, edx
mov edx, dword [0x4a5bc4]
push 0x2e
push edx
mov edi, eax
mov dword [esp + 0xa4], esi
call fcn.00481f21
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x427551
lea esi, [eax + 1]
call fcn.004124c0
mov esi, dword [esp + 0x9c]
jmp 0x427555
xor eax, eax
xor edx, edx
add edi, eax
adc esi, edx
add edi, 2
adc esi, 0
mov dword [esp + 0x84], esi
js 0x427580
jg 0x427572
cmp edi, 0xff
jbe 0x427580
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov eax, dword [0x4a5bc4]
push 0
push 1
push 1
push 1
call fcn.0046e3c0
add esp, 0x10
mov ecx, 0x498218
test eax, eax
jne 0x4275a3
mov ecx, 0x4947f9
cmp dword [esp + 0x40], 0
mov eax, 0x4947f9
jne 0x4275b4
mov eax, 0x497398
push ecx
push eax
mov eax, dword [0x4a5bc4]
push eax
push 0x49821c
add ebx, 0x74
push ebx
call fcn.00481488
mov esi, dword [esp + 0x2c]
add esp, 0x14
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
push 7
push 0x496564
push ecx
call fcn.004819bb
add esp, 0xc
test eax, eax
jne case.0x42760f.69
mov edx, dword [0x4a5bc4]
mov al, byte [edx]
movsx ecx, al
add ecx, 0xffffffbc
cmp ecx, 0x24
ja case.0x42760f.69
movzx ecx, byte [ecx + 0x428540]
jmp dword [ecx*4 + 0x428534]
mov byte [ebx + 0xd1], 0x44
mov eax, 1
jmp 0x427c68
mov byte [ebx + 0xd1], al
mov eax, 1
jmp 0x427c68
mov edx, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
push edx
call fcn.00439470
jmp 0x427c68
mov eax, dword [0x4a5bd4]
mov ecx, dword [0x4a5bd0]
mov edx, dword [0x4a5bcc]
push eax
mov eax, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
push eax
push 0x4a7ce0
call fcn.00464ed0
jmp 0x427c68
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc8]
push ecx
mov ecx, dword [0x4a5bc4]
push edx
mov edx, dword [0x4a5bc0]
push 0x4a7ce0
call fcn.00457840
jmp 0x427c68
mov eax, dword [0x4a5bc4]
mov ecx, dword [0x4a5bc0]
push eax
mov eax, dword [0x4a5bc8]
push ecx
push esi
call fcn.00458130
jmp 0x427c68
mov edx, dword [0x4a5bcc]
mov eax, dword [0x4a5bc8]
mov ecx, dword [0x4a5bc4]
push edx
push eax
push ecx
push esi
call fcn.00459140
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.00413800
cmp eax, 7
ja case.0x4276f8.3
jmp dword [eax*4 + 0x428568]
cmp byte [0x4a5dc7], 0
jne case.0x4276f8.3
call fcn.0042c570
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
cmp byte [0x4a5dc7], 0
je case.0x4276f8.3
call fcn.0042c570
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push edx
jmp 0x427bd3
mov ecx, dword [esp + 0x18]
mov edi, 1
call fcn.0041f2d0
mov esi, dword [0x4a5bc0]
test eax, eax
setne al
movzx ecx, al
push ecx
call fcn.00413750
mov edx, dword [esp + 0x1c]
push eax
push edx
call fcn.0042c5c0
mov esi, dword [esp + 0x18]
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 7
call fcn.00413700
add esp, 4
cmp eax, 7
je 0x42779a
cmp eax, 1
sete al
mov byte [ebx + 0xd0], al
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.004137b0
mov byte [ebx + 0xce], al
cmp al, 4
jne 0x4277c4
mov byte [ebx + 0xce], 0
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 7
call fcn.00413700
add esp, 4
cmp eax, 7
je 0x4277f3
cmp eax, 1
sete cl
mov byte [ebx + 0xc6], cl
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 7
call fcn.00413700
add esp, 4
cmp eax, 7
je 0x427822
cmp eax, 1
sete dl
mov byte [ebx + 0xc7], dl
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.00413870
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x42784e.3
movzx ecx, byte [ecx + 0x4285a0]
jmp dword [ecx*4 + 0x428588]
mov bl, 1
call fcn.0042c6c0
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
xor bl, bl
call fcn.0042c6c0
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [esp + 0x18]
mov dword [0x4a2450], eax
mov eax, 1
jmp 0x427c68
or byte [0x4a6581], 2
cmp dword [0x4a5da4], 0
mov byte [0x4a6580], 1
jne case.0x42784e.3
mov edx, dword [0x4a352c]
movzx eax, word [edx]
push eax
call fcn.004079d0
mov esi, dword [esp + 0x1c]
add esp, 4
mov eax, 1
jmp 0x427c68
mov byte [0x4a6580], 0
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 0x4a2444
mov al, 0x90
call fcn.00440bb0
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 0x4a2448
mov al, 0x14
call fcn.00440bb0
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x427c68
mov esi, dword [0x4a5bc0]
push 0x4a244c
mov al, 0x91
call fcn.00440bb0
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x427c68
mov al, 1
mov edx, 0x4a7ce0
call fcn.00415140
mov eax, 1
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
jmp 0x4259ad
mov ecx, dword [0x4a5bcc]
mov edx, dword [0x4a5bc4]
push ecx
mov ecx, dword [0x4a5bd0]
push edx
mov edx, dword [0x4a5bc8]
call fcn.0046add0
jmp 0x427c68
mov eax, dword [0x4a5bc0]
mov ecx, dword [0x4a5bcc]
mov ebx, dword [0x4a5bc8]
mov edx, dword [0x4a5bc4]
push eax
push esi
call fcn.0046aef0
jmp 0x427c68
cmp byte [esi + 1], 3
mov edx, dword [0x4a5bc4]
sbb ecx, ecx
not ecx
and ecx, dword [0x4a5bc8]
push ecx
push edx
mov edx, dword [0x4a5bc0]
push esi
call fcn.0046b010
jmp 0x427c68
mov al, byte [esi + 1]
cmp al, 2
jae 0x4279f1
mov ebx, dword [ebx + 0x14]
cmp ebx, edx
je 0x4279f1
lea eax, [ebx + 0x408]
push eax
mov eax, dword [ebx + 4]
lea ecx, [ebx + 8]
push ecx
push esi
call fcn.0046b080
jmp 0x427c68
cmp al, 4
ja 0x427a2d
mov esi, dword [0x4a5bc4]
call fcn.004132a0
test eax, eax
jne 0x427a2d
mov edx, dword [0x4a5bc4]
push edx
lea ebx, [esp + 0x2f]
call fcn.00413100
mov ecx, dword [0x4a5bc8]
mov edx, dword [esp + 0x1c]
add esp, 4
mov esi, eax
mov eax, dword [0x4a5bcc]
push eax
push ecx
push edx
jmp 0x427a54
mov eax, dword [0x4a5bc8]
push eax
lea ebx, [esp + 0x2f]
call fcn.00413100
mov ecx, dword [0x4a5bd0]
mov edx, dword [0x4a5bcc]
add esp, 4
push ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
push edx
push eax
mov eax, esi
call fcn.0046b080
cmp byte [esp + 0x2b], 0
mov edi, eax
je 0x427a6f
test esi, esi
je 0x427a6f
push esi
call dword [0x492040]
mov esi, dword [esp + 0x18]
mov eax, edi
jmp 0x427c68
cmp byte [esi + 1], 2
jae 0x427aad
mov eax, dword [ebx + 0x14]
cmp eax, edx
je 0x427aad
mov ebx, dword [0x4a5bc0]
lea ecx, [eax + 0x408]
push ecx
mov ecx, dword [eax + 0x808]
lea edx, [eax + 8]
mov eax, dword [eax + 4]
push edx
push ecx
push esi
call fcn.0046b430
jmp 0x427c68
mov edx, dword [0x4a5bc4]
push edx
lea ebx, [esp + 0x2f]
call fcn.00413100
mov ecx, dword [0x4a5bc8]
mov esi, dword [0x4a5bc0]
mov edi, eax
mov eax, dword [0x4a5bcc]
add esp, 4
push eax
push ecx
call fcn.004132a0
mov edx, dword [esp + 0x20]
mov ebx, dword [0x4a5bd0]
push eax
push edx
mov eax, edi
call fcn.0046b430
cmp byte [esp + 0x2b], 0
mov esi, eax
je 0x427b01
test edi, edi
je 0x427b01
push edi
call dword [0x492040]
mov eax, esi
mov esi, dword [esp + 0x18]
jmp 0x427c68
cmp byte [esi + 1], 1
jae 0x427b79
mov ecx, dword [ebx + 0x14]
cmp ecx, edx
je 0x427b79
cmp dword [ecx + 0x808], 0xfffffffe
lea eax, [ecx + 0x408]
jne 0x427b67
push eax
add ecx, 8
push ecx
push 0x496664
mov esi, 0x400
lea edi, [esp + 0x10c]
call fcn.0046e530
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x24]
add esp, 0xc
push edx
push eax
mov eax, 0x4947f9
mov ebx, edi
call fcn.0046b810
mov esi, dword [esp + 0x18]
jmp 0x427c68
lea ebx, [ecx + 8]
mov ecx, dword [ecx + 4]
push ecx
push esi
call fcn.0046b810
jmp 0x427c68
mov edx, dword [0x4a5bc0]
push edx
lea ebx, [esp + 0x2f]
call fcn.00413100
mov ebx, dword [0x4a5bc4]
add esp, 4
mov edi, eax
mov eax, dword [0x4a5bc8]
push edi
push esi
call fcn.0046b810
cmp byte [esp + 0x2b], 0
mov ebx, eax
je 0x427bb4
test edi, edi
je 0x427bb4
push edi
call dword [0x492040]
mov eax, ebx
jmp 0x427c68
mov esi, dword [0x4a5bc0]
call fcn.00413320
mov esi, eax
cmp esi, 0xffffffff
jne 0x427be9
mov eax, dword [0x4a5bc0]
push eax
mov ecx, dword [esp + 0x1c]
push 0
push 0x496c04
call fcn.0042cb30
mov esi, dword [esp + 0x18]
jmp 0x427c68
call fcn.0046fa20
test eax, eax
je 0x427bf8
mov dword [ebx + 0xac], esi
mov esi, dword [esp + 0x18]
mov eax, 1
jmp 0x427c68
mov ecx, dword [0x4a5bc0]
push ecx
call dword [0x492118]
mov eax, 1
jmp 0x427c68
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
push eax
call fcn.00450760
xor edx, edx
add esp, 4
test al, al
setne dl
mov eax, edx
jmp 0x427c68
mov eax, dword [0x4a5bc0]
call fcn.00413dd0
cmp eax, 0xffffffff
jne 0x427c59
mov eax, dword [0x4a5bc0]
push eax
push 0
push 0x496c04
mov ecx, esi
call fcn.0042cb30
jmp 0x427c68
mov dword [ebx + 0xd8], eax
mov eax, 1
jmp 0x427c68
xor eax, eax
mov dword [esp + 0x2c], eax
test eax, eax
je 0x423f42
cmp dword [ebp + 8], 3
je 0x423f42
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x18]
test esi, esi
je 0x423f3d
mov edi, dword [esp + 0x4c]
xor ebx, ebx
jmp 0x423c60
mov ecx, dword [esp + 0x48]
mov dword [ecx], edx
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x2c]
cmp eax, 7
jne 0x423f42
jmp 0x423f3d
test ebx, ebx
je 0x427d2b
cmp dword [ebx + 8], 0
jne 0x427d2b
mov eax, dword [0x4a5c10]
test eax, eax
je 0x427d1c
cmp byte [eax + 0x17], 0
jne 0x427ce9
mov ecx, dword [eax + 0xc]
jmp 0x427ceb
mov ecx, eax
test byte [ecx + 0x15], 2
je 0x427d1c
mov edi, dword [ebp + 0xc]
call fcn.004128e0
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebx + 8], 0
mov ecx, dword [0x4a5bc0]
mov dword [ebx], ecx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x427d5e
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x48]
mov dword [eax], edx
mov eax, 5
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x427d87
mov ecx, dword [esp + 0x48]
mov dword [ecx], esi
mov eax, 6
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4a5bc4]
mov ecx, dword [esp + 0x18]
push edx
push 0
push 0x496cc4
call fcn.0042cb30
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4a5bc8]
mov ecx, dword [esp + 0x18]
push eax
push 0
push 0x4970cc
call fcn.0042cb30
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0xe4], 0
jne 0x427e18
mov esi, eax
add esi, 0xdc
call fcn.0042d1e0
xor eax, eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x48]
mov dword [ecx], edx
jmp 0x423f3d
cmp byte [esi + 1], 0
jne 0x427e6c
push 0x4947f9
push 0
push 0x498154
mov ecx, esi
call fcn.0042c870
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x10
call fcn.004832d1
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x427eb2
mov eax, dword [0x4a7c20]
test eax, eax
jne 0x427edc
mov edx, dword [esi + 8]
movzx eax, word [edx + 2]
mov ecx, 0xff
mov edi, ecx
cmp ax, cx
jb 0x427e9a
mov edi, eax
inc edi
push edi
call fcn.00481109
add esp, 4
mov dword [0x4a7c20], eax
test eax, eax
jne 0x427ee2
mov dword [0x4a7c24], eax
push 0x4947f9
push 0
push 0x495f30
mov ecx, esi
call fcn.0042cb30
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [0x4a7c24]
xor ecx, ecx
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x68], eax
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x68]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x74]
push eax
push ebx
lea edx, [esp + 0x44]
push edx
push ecx
mov dword [0x4a7c20], ecx
mov dword [0x4a7c24], ecx
push esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [ebx + 8], 0x41
call fcn.00453f10
mov edi, eax
cmp edi, dword [esp + 0x3c]
jne 0x427f43
mov dword [ebx + 0xc], edi
jmp 0x427f88
cmp dword [esp + 0x3c], 0
mov dword [ebx + 0xc], 0
je 0x427f88
mov eax, dword [0x4a7c20]
test eax, eax
je 0x427f75
push eax
call fcn.00480f68
add esp, 4
cmp dword [0x4a7c24], 0x400000
jbe 0x427f75
dec dword [0x4a7c28]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov dword [0x4a7c20], eax
mov dword [0x4a7c24], ecx
test edi, edi
jne 0x427fb0
push ebx
call fcn.00480cc8
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebx + 8], 0x41
jne 0x427fbf
mov dword [ebx + 8], 0
mov dword [ebx], edi
mov eax, dword [esp + 0x4c]
mov dword [eax + 0xe0], esi
mov dword [eax + 0xdc], ebx
xor eax, eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4a352c]
cmp word [edx], 0
jne 0x428018
cmp dword [0x4a7574], 0
jne 0x428018
cmp dword [0x4a5da0], 0
jne 0x428018
cmp dword [0x4a5da4], 0
jne 0x428018
cmp byte [0x4a5d93], 0
je case.0x423f6f.220
mov eax, 8
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor edi, edi
mov ecx, esi
call fcn.0041f2d0
push eax
push 0x4a7ce0
xor eax, eax
lea ecx, [edi + 9]
call fcn.00415170
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x48]
mov dword [eax], ecx
jmp 0x423f3d
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je 0x423f3d
push 0x4947f9
push 0
push 0x498170
mov ecx, esi
call fcn.0042cb30
mov ecx, dword [esp + 0x534]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc