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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x102c
call fcn.00457940
mov eax, dword [0x4811e8]
mov ecx, dword [0xff54cc]
mov edx, dword [0xff54c4]
mov dword [esp + 0x1028], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x50], eax
mov eax, dword [0xff5ae8]
mov dword [esp + 0x90], eax
mov eax, dword [0xff5af4]
push ebx
mov ebx, dword [esp + 0x54]
push esi
mov esi, dword [0xff5aec]
push edi
mov edi, eax
sub eax, esi
mov dword [esp + 0x48], esi
mov esi, ebx
sub eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [0xff36a0]
mov dword [esp + 0x1a0], eax
mov eax, dword [0xff36a4]
mov dword [esp + 0x1a4], eax
mov eax, dword [0xff36a8]
mov dword [esp + 0x1a8], eax
mov eax, dword [0xff36ac]
mov dword [esp + 0x1ac], eax
mov eax, dword [0xff36c8]
mov dword [esp + 0x1b0], eax
mov eax, dword [0xff36cc]
mov dword [esp + 0x1b4], eax
mov eax, dword [0xff36d0]
mov dword [esp + 0x1b8], eax
mov eax, dword [0xff36d4]
mov dword [esp + 0x1bc], eax
mov eax, dword [0xff36f0]
mov dword [esp + 0x1c0], eax
mov eax, dword [0xff36f4]
mov dword [esp + 0x1c4], eax
mov eax, dword [0xff36f8]
mov dword [esp + 0x1c8], eax
mov eax, dword [0xff36fc]
mov dword [esp + 0x1cc], eax
mov eax, dword [0xff3718]
mov dword [esp + 0x1d0], eax
mov eax, dword [0xff371c]
mov dword [esp + 0x1d4], eax
mov eax, dword [0xff3720]
mov dword [esp + 0x1d8], eax
mov eax, dword [0xff3724]
mov dword [esp + 0x1dc], eax
mov eax, dword [0xff3740]
mov dword [esp + 0x120], eax
mov eax, dword [0xff3744]
sub edi, ebx
xor ebx, ebx
mov dword [esp + 0x124], eax
mov eax, dword [0xff3748]
mov dword [esp + 0x50], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x128], eax
mov eax, dword [0xff374c]
mov dword [esp + 0x12c], eax
mov eax, dword [0xff3768]
mov dword [esp + 0x130], eax
mov eax, dword [0xff376c]
mov dword [esp + 0x134], eax
mov eax, dword [0xff3770]
mov dword [esp + 0x138], eax
mov eax, dword [0xff3774]
mov dword [esp + 0x13c], eax
mov eax, dword [0xff3790]
mov dword [esp + 0x140], eax
mov eax, dword [0xff3794]
mov dword [esp + 0x144], eax
mov eax, dword [0xff3798]
mov dword [esp + 0x148], eax
mov eax, dword [0xff379c]
mov dword [esp + 0x14c], eax
mov eax, dword [0xff37b8]
mov dword [esp + 0x150], eax
mov eax, dword [0xff37bc]
mov dword [esp + 0x154], eax
mov eax, dword [0xff37c0]
mov dword [esp + 0x158], eax
mov eax, dword [0xff37c4]
mov dword [esp + 0x15c], eax
mov eax, dword [0xff7330]
mov dword [esp + 0x160], eax
mov eax, dword [0xff7334]
mov dword [esp + 0x164], eax
mov eax, dword [0xff7338]
mov dword [esp + 0x168], eax
mov eax, dword [0xff733c]
mov dword [esp + 0x16c], eax
mov eax, dword [0xff7358]
mov dword [esp + 0x170], eax
mov eax, dword [0xff735c]
mov dword [esp + 0x174], eax
mov eax, dword [0xff7360]
mov dword [esp + 0x178], eax
mov eax, dword [0xff7364]
mov dword [esp + 0x17c], eax
mov eax, dword [0xff7380]
mov dword [esp + 0x180], eax
mov eax, dword [0xff7384]
mov dword [esp + 0x184], eax
mov eax, dword [0xff7388]
mov dword [esp + 0x188], eax
mov eax, dword [0xff738c]
mov dword [esp + 0x18c], eax
mov eax, dword [0xff73a8]
mov dword [esp + 0x190], eax
mov eax, dword [0xff73ac]
mov dword [esp + 0x194], eax
mov eax, dword [0xff73b0]
mov dword [esp + 0x198], eax
mov eax, dword [0xff73b4]
mov dword [esp + 0x19c], eax
mov eax, dword [0x1200238]
mov dword [esp + 0xc0], eax
mov eax, dword [0x120023c]
mov dword [esp + 0xc4], eax
mov eax, dword [0x1200240]
mov dword [esp + 0xc8], eax
mov eax, dword [0x1200244]
mov dword [esp + 0xcc], eax
mov eax, dword [0x1200260]
mov dword [esp + 0xd0], eax
mov eax, dword [0x1200264]
mov dword [esp + 0xd4], eax
mov eax, dword [0x1200268]
mov dword [esp + 0xd8], eax
mov eax, dword [0x120026c]
mov dword [esp + 0xdc], eax
mov eax, dword [0x1200288]
mov dword [esp + 0xe0], eax
mov eax, dword [0x120028c]
mov dword [esp + 0xe4], eax
mov eax, dword [0x1200290]
mov dword [esp + 0xe8], eax
mov eax, dword [0x1200294]
mov dword [esp + 0xec], eax
mov eax, dword [0x12002b0]
mov dword [esp + 0xf0], eax
mov eax, dword [0x12002b4]
mov dword [esp + 0xf4], eax
mov eax, dword [0x12002b8]
mov dword [esp + 0xf8], eax
mov eax, dword [0x12002bc]
mov dword [esp + 0xfc], eax
mov eax, dword [0x10ada10]
mov dword [esp + 0x100], eax
mov eax, dword [0x10ada14]
mov dword [esp + 0x104], eax
mov eax, dword [0xff5498]
mov dword [esp + 0x110], eax
mov eax, dword [0xff549c]
mov dword [esp + 0x114], eax
mov eax, dword [0xff54c0]
mov dword [esp + 0xa0], eax
mov eax, dword [0xff7308]
mov dword [esp + 0x88], eax
mov eax, dword [0xff7314]
mov dword [esp + 0xa4], edx
mov edx, dword [0xff54c8]
mov dword [esp + 0x94], eax
cmp dword [0x70cb80], ebx
mov dword [esp + 0xa8], edx
mov edx, dword [0xff7310]
mov dword [esp + 0xac], ecx
mov ecx, dword [0xff730c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
jle 0x43a72f
cmp dword [0x70cb84], ebx
je 0x43a72f
lea ecx, [esp + 0x870]
push 0xc0
push ecx
call fcn.00401540
lea edx, [esp + 0x228]
push 0xc0
push edx
call fcn.00401540
lea eax, [esp + 0x3b0]
push 0xc0
push eax
call fcn.00401540
lea ecx, [esp + 0x708]
push 0xc0
push ecx
call fcn.00401540
lea edx, [esp + 0x7d0]
push 0xc0
push edx
call fcn.00401540
lea eax, [esp + 0x658]
push 0xc0
push eax
call fcn.00401540
lea ecx, [esp + 0x5a0]
push 0xc0
push ecx
call fcn.00401540
lea edx, [esp + 0x318]
push 0xc0
push edx
call fcn.00401540
add esp, 0x40
lea eax, [esp + 0x4b0]
push 0xc0
push eax
call fcn.00401540
mov ecx, dword [0x4811c4]
mov edx, dword [0x4811c0]
mov eax, dword [0x13a2f18]
push ecx
push edx
push eax
lea ecx, [esp + 0x884]
push ecx
lea edx, [esp + 0x948]
push edx
call fcn.004431a0
mov edx, dword [0x13a2f18]
mov esi, eax
mov eax, dword [0x4811c4]
push eax
mov ecx, 0x30
lea edi, [esp + 0x890]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push edx
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0x95c]
push ecx
call fcn.004431a0
mov edx, dword [0x4811c4]
push edx
mov esi, eax
mov eax, dword [0x4811c0]
push eax
mov ecx, 0x30
lea edi, [esp + 0x258]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x13a2f18]
push ecx
lea edx, [esp + 0x3dc]
push edx
lea eax, [esp + 0x970]
push eax
call fcn.004431a0
add esp, 0x44
mov ecx, 0x30
mov esi, eax
mov edx, dword [0x4811c0]
mov eax, dword [0x13a2f18]
lea edi, [esp + 0x3a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c4]
push ecx
push edx
push eax
lea ecx, [esp + 0x6fc]
push ecx
lea edx, [esp + 0x940]
push edx
call fcn.004431a0
mov edx, dword [0x13a2f18]
mov esi, eax
mov eax, dword [0x4811c4]
push eax
mov ecx, 0x30
lea edi, [esp + 0x708]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push edx
lea eax, [esp + 0x7d0]
push eax
lea ecx, [esp + 0x954]
push ecx
call fcn.004431a0
mov edx, dword [0x4811c4]
push edx
mov esi, eax
mov eax, dword [0x4811c0]
push eax
mov ecx, 0x30
lea edi, [esp + 0x7e0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x13a2f18]
push ecx
lea edx, [esp + 0x664]
push edx
lea eax, [esp + 0x968]
push eax
call fcn.004431a0
mov edx, dword [0x4811c0]
mov esi, eax
mov eax, dword [0x13a2f18]
mov ecx, 0x30
lea edi, [esp + 0x66c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c4]
push ecx
push edx
push eax
lea ecx, [esp + 0x5b8]
push ecx
lea edx, [esp + 0x97c]
push edx
call fcn.004431a0
mov edx, dword [0x13a2f18]
add esp, 0x50
mov esi, eax
mov eax, dword [0x4811c4]
push eax
mov ecx, 0x30
lea edi, [esp + 0x574]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push edx
lea eax, [esp + 0x2ec]
push eax
lea ecx, [esp + 0x940]
push ecx
call fcn.004431a0
mov edx, dword [0x4811c4]
mov esi, eax
mov eax, dword [0x4811c0]
mov ecx, 0x30
lea edi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, dword [0x13a2f18]
push eax
push ecx
lea edx, [esp + 0x4d0]
push edx
lea eax, [esp + 0x954]
push eax
call fcn.004431a0
mov edx, dword [0x4811c0]
add esp, 0x28
push ebx
push ebx
push ebx
sub esp, 0xc0
mov esi, eax
mov ecx, 0x30
lea edi, [esp + 0x57c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x30
mov esi, 0x13a2e50
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c4]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0xa0c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
add esp, 0xdc
mov ecx, 0x30
mov esi, 0x13a2e50
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00437b20
mov eax, dword [0x4811c4]
add esp, 0xc0
push ebx
push ebx
push ebx
sub esp, 0xc0
mov edi, esp
push eax
mov ecx, 0x30
mov esi, 0x13a2e50
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push ebx
push ebx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
mov edx, dword [0x4811c4]
mov eax, dword [0x4811c0]
add esp, 0x19c
push ebx
push ebx
push ebx
sub esp, 0xc0
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x30
mov esi, 0x13a2e50
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x53c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
add esp, 0xdc
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x6f0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x9f0]
push str.HISTMAIN
push ecx
call fcn.004445a0
mov esi, eax
add esp, 8
mov ecx, 0x30
lea edi, [esp + 0x6f0]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea edx, [esp + 0x9f0]
push str.HISTMAINC
mov ecx, 0x30
lea esi, [esp + 0x634]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.004445a0
mov esi, eax
add esp, 8
mov ecx, 0x30
lea edi, [esp + 0x630]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea eax, [esp + 0x9f0]
push str.HISTMAINP
mov ecx, 0x30
lea esi, [esp + 0x3a4]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004445a0
mov esi, eax
add esp, 8
mov ecx, 0x30
lea edi, [esp + 0x3a0]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x570]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x9f0]
push 0x477ed0
push ecx
call fcn.004445a0
mov edx, dword [0x4811c4]
add esp, 0xc8
push 0xff
push ebx
push ebx
sub esp, 0xc0
mov esi, eax
mov eax, dword [0x4811c0]
mov ecx, 0x30
lea edi, [esp + 0x57c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x30
lea esi, [esp + 0x70c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
add esp, 0x19c
push ebx
push ebx
push ebx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x2ec]
mov edi, esp
mov edx, dword [0x4811c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c4]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x88c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
mov eax, dword [0x4811c4]
add esp, 0x19c
push 0xff
push ebx
push ebx
sub esp, 0xc0
mov edi, esp
push eax
mov ecx, 0x30
lea esi, [esp + 0x640]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push ebx
push ebx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x53c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
mov edx, dword [0x4811c4]
mov eax, dword [0x4811c0]
add esp, 0x19c
push ebx
push ebx
push ebx
sub esp, 0xc0
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x30
lea esi, [esp + 0x47c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x94c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
mov ecx, dword [0xcfe51c]
push ecx
push ebx
push ebx
push 6
push 4
push 0x475498
call fcn.00442560
mov edx, dword [0x70cb80]
add esp, 0x1b4
add edx, 0xfffffffc
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
cmp ecx, eax
mov ebx, ecx
mov dword [esp + 0x58], ebx
jge 0x439c20
lea eax, [esp + 0xc30]
lea edx, [esp + 0x1f0]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], 0
jmp 0x4392f0
mov eax, dword [esp + 0x4c]
mov dword [eax], 0
cmp dword [0x70cb80], ebx
jle 0x439be4
test ebx, ebx
jge 0x439310
xor ebx, ebx
mov dword [esp + 0x58], ebx
lea edi, [ebx + ebx*2]
shl edi, 3
mov dword [esp + 0x24], edi
lea edi, [edi + 0x709ca4]
mov esi, edi
mov eax, 0xff5d08
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43934b
test cl, cl
je 0x439347
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43934b
add eax, 2
add esi, 2
test cl, cl
jne 0x439327
xor eax, eax
jmp 0x439350
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43937a
push 0
push 0xff7bc0
push edi
call fcn.0041edc0
mov edx, 0xff5d08
add esp, 0xc
mov eax, edi
sub edx, edi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x439370
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x709ca0]
movsx ecx, byte [eax + 0xff7bc0]
sub ecx, 0x21
mov dword [esp + 0x18], eax
je 0x43975c
sub ecx, 2
je 0x4393d3
sub ecx, 0x5b
je 0x4393c7
push 0
push 0x27
push 0x22
lea ecx, [esp + 0xb3c]
push ecx
lea edx, [esp + 0x28]
push edx
push 0xff7bc0
call fcn.0042ea90
add esp, 0x18
jmp 0x439b4a
add eax, 2
mov dword [esp + 0x18], eax
jmp 0x439b4a
push 0
push 0x3d
push 0xa
inc eax
push 0xd
mov dword [esp + 0x28], eax
push 0x1352318
lea eax, [esp + 0x2c]
push eax
push 0xff7bc0
call fcn.0042ea90
mov dword [esp + 0x40], eax
mov al, byte [0x1352318]
add esp, 0x1c
cmp al, 0x3a
jne 0x439437
push 0x1352318
lea ecx, [esp + 0x934]
push 0xcff628
push ecx
call fcn.00457a39
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0x930]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x439420
jmp 0x439502
mov ebx, 2
mov edi, 0xd00628
mov esi, 0x1352318
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43946c
test cl, cl
je 0x439468
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43946c
add eax, 2
add esi, 2
test cl, cl
jne 0x439448
xor eax, eax
jmp 0x439471
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x439486
add edi, 0x1020
inc ebx
cmp edi, 0xd30c28
jl 0x439441
jmp 0x4394c2
mov eax, ebx
imul eax, eax, 0x1020
push 0x1352318
add eax, 0xcfe608
push eax
lea ecx, [esp + 0x938]
push ecx
call fcn.00457a39
add esp, 0xc
xor eax, eax
jmp 0x4394b0
mov cl, byte [esp + eax + 0x930]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x4394b0
cmp ebx, 0x32
jne 0x439502
push 0x1352318
lea edx, [esp + 0x934]
push 0xcfe608
push edx
call fcn.00457a39
add esp, 0xc
xor eax, eax
jmp 0x4394f0
mov cl, byte [esp + eax + 0x930]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x4394f0
cmp dword [esp + 0x24], 3
jne 0x439636
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
push 0
push 0x2c
push 0xa
push 0xd
push ecx
lea edx, [esp + 0x2c]
push edx
push 0xff7bc0
mov dword [eax], 1
call fcn.0042ea90
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + eax + 0xe0]
mov ebx, dword [esp + eax + 0xe8]
mov edx, dword [esp + eax + 0xe4]
mov eax, dword [esp + eax + 0xdc]
add esp, 0x1c
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x104]
push 0xff
push ecx
mov ecx, dword [esp + 0x108]
push ecx
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xe0]
mov esi, ebx
sub esi, ecx
push esi
mov dword [esp + 0xf4], edx
sub edx, eax
push edx
push ecx
push eax
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + eax + 0x260]
mov eax, dword [esp + eax + 0x25c]
mov ecx, dword [esp + 0x2b0]
add esp, 0x19c
push 0xff
push ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x30]
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xe0]
sub ebx, edx
push ebx
sub eax, ecx
push eax
push edx
push ecx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x53c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
add esp, 0x19c
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x20]
push 0xff
push edx
push eax
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x160]
sub ecx, edx
mov edx, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + ebx + 0x1f0]
sub edx, eax
mov eax, dword [esp + ebx + 0x1f4]
push edx
push eax
push ecx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
lea ecx, [esp + ebx + 0x2fc]
mov edx, ecx
mov esi, dword [edx]
mov ebx, dword [edx + 4]
mov edi, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3a8], eax
mov eax, dword [0x49a38c]
cdq
sub eax, edx
add esp, 0x19c
push 1
sar eax, 1
sub eax, 4
push 0x1352318
push eax
mov eax, dword [ecx]
push 0xffffff
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x490]
push edx
call fcn.0040c6e0
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x208], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x210], eax
mov eax, edi
sub eax, esi
sub eax, edx
add eax, ecx
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov eax, dword [0x49a38c]
add esp, 0x24
cdq
push 0
sub eax, edx
push 1
sar eax, 1
push 0x1352318
sub eax, 4
push eax
mov edx, dword [esp + 0x21c]
lea eax, [esp + 0x4b0]
jmp 0x439ae7
push 0
push 0x3d
push 0xa
inc eax
push 0xd
mov dword [esp + 0x28], eax
push 0x1352318
lea eax, [esp + 0x2c]
push eax
push 0xff7bc0
call fcn.0042ea90
mov dword [esp + 0x30], eax
mov al, byte [0x1352318]
add esp, 0x1c
cmp al, 0x3a
jne 0x4397c7
push 0x1352318
lea ecx, [esp + 0xa34]
push 0xcff628
push ecx
call fcn.00457a39
add esp, 0xc
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0xa30]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x4397b0
jmp 0x439892
mov ebx, 2
mov edi, 0xd00628
mov esi, 0x1352318
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4397fc
test cl, cl
je 0x4397f8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4397fc
add eax, 2
add esi, 2
test cl, cl
jne 0x4397d8
xor eax, eax
jmp 0x439801
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x439816
add edi, 0x1020
inc ebx
cmp edi, 0xd30c28
jl 0x4397d1
jmp 0x439852
mov eax, ebx
imul eax, eax, 0x1020
push 0x1352318
add eax, 0xcfe608
push eax
lea ecx, [esp + 0xa38]
push ecx
call fcn.00457a39
add esp, 0xc
xor eax, eax
jmp 0x439840
mov cl, byte [esp + eax + 0xa30]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x439840
cmp ebx, 0x32
jne 0x439892
push 0x1352318
lea edx, [esp + 0xa34]
push 0xcfe608
push edx
call fcn.00457a39
add esp, 0xc
xor eax, eax
jmp 0x439880
mov cl, byte [esp + eax + 0xa30]
mov byte [eax + 0x1352318], cl
inc eax
test cl, cl
jne 0x439880
cmp dword [esp + 0x14], 3
jne 0x4399c6
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
push 0
push 0x2c
push 0xa
push 0xd
push ecx
lea edx, [esp + 0x2c]
push edx
push 0xff7bc0
mov dword [eax], 1
call fcn.0042ea90
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + eax + 0xe0]
mov ebx, dword [esp + eax + 0xe8]
mov edx, dword [esp + eax + 0xe4]
mov eax, dword [esp + eax + 0xdc]
add esp, 0x1c
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x104]
push 0xff
push ecx
mov ecx, dword [esp + 0x108]
push ecx
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xe0]
mov esi, ebx
sub esi, ecx
push esi
mov dword [esp + 0xf4], edx
sub edx, eax
push edx
push ecx
push eax
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + eax + 0x260]
mov eax, dword [esp + eax + 0x25c]
mov ecx, dword [esp + 0x2b0]
add esp, 0x19c
push 0xff
push ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x30]
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xe0]
sub ebx, edx
push ebx
sub eax, ecx
push eax
push edx
push ecx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x53c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
add esp, 0x19c
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x20]
push 0xff
push edx
push eax
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x160]
sub ecx, edx
mov edx, dword [esp + 0x15c]
push ecx
mov ecx, dword [esp + ebx + 0x1f0]
sub edx, eax
mov eax, dword [esp + ebx + 0x1f4]
push edx
push eax
push ecx
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
lea ecx, [esp + ebx + 0x2fc]
mov edx, ecx
mov esi, dword [edx]
mov ebx, dword [edx + 4]
mov edi, dword [edx + 8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3b8], eax
mov eax, dword [0x49a38c]
cdq
sub eax, edx
add esp, 0x19c
push 1
sar eax, 1
sub eax, 4
push 0x1352318
push eax
mov eax, dword [ecx]
push 0xffffff
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x4a0]
push edx
call fcn.0040c6e0
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x208], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x210], eax
mov eax, edi
sub eax, esi
sub eax, edx
add eax, ecx
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov eax, dword [0x49a38c]
add esp, 0x24
cdq
push 0
sub eax, edx
push 1
sar eax, 1
push 0x1352318
sub eax, 4
push eax
mov edx, dword [esp + 0x22c]
lea eax, [esp + 0x4a0]
push 0x10101
push 0xffffff
sub esp, 0x10
mov ecx, esp
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
sub esp, 0xc0
mov dword [ecx + 0xc], edx
mov edi, esp
lea esi, [esp + 0x308]
mov ecx, 0x30
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0040c900
push 0
push 0x27
push 0x22
lea ecx, [esp + 0xc28]
push ecx
lea edx, [esp + 0x114]
push edx
push 0xff7bc0
call fcn.0042ea90
mov ebx, dword [esp + 0x15c]
add esp, 0x104
push 0
push 0x27
push 0x22
lea eax, [esp + 0xb3c]
push eax
lea ecx, [esp + 0x28]
push ecx
push 0xff7bc0
call fcn.0042ea90
mov eax, dword [0x49a38c]
add esp, 0x18
push 0
push 1
lea edx, [esp + 0xb38]
push edx
cdq
sub eax, edx
sar eax, 1
sub eax, 2
push eax
mov eax, dword [esp + 0x30]
push 0x10101
push 0xffffff
lea ecx, [esp + eax + 0x1b8]
mov eax, dword [ecx]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
sub esp, 0xc0
lea edx, [esp + 0x548]
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x308]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0040c900
mov ecx, dword [esp + 0xfc]
add esp, 0xec
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x20]
add eax, 4
inc ebx
mov dword [esp + 0x4c], eax
add edi, 0xff
add esi, 0x10
lea eax, [ecx + 4]
cmp ebx, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x20], esi
jl 0x4392f0
jmp 0x439c20
mov edx, dword [0x4811c0]
mov eax, dword [esp + 0x10]
push 0
push 0
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
mov esi, 0x13a2e50
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c4]
push ecx
push edx
push 0
push 0
mov dword [esp + 0xfc], eax
call fcn.004430d0
mov eax, dword [0x4811c4]
add esp, 0xd8
push 0
push 0
push 0
sub esp, 0xc0
mov edi, esp
push eax
mov ecx, 0x30
lea esi, [esp + 0x2f0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push 0
push 0
sub esp, 0xc0
mov ecx, 0x30
mov esi, 0x13a2e50
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
mov edx, dword [esp + 0x66c]
mov eax, dword [esp + 0x668]
add esp, 0x19c
push edx
push eax
push 0
push 0
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x580]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00443900
push eax
call fcn.00449070
movzx ebx, al
add esp, 0xd4
test ebx, ebx
je case.0x439f07.51
cmp ebx, 0xa
je 0x439d06
cmp ebx, 0x14
je 0x439d06
cmp ebx, 0x1e
je 0x439d06
cmp ebx, 0x28
jne 0x439d25
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp dword [esp + ecx*4 + 0x1ec], 1
jne 0x43a097
cmp ebx, 0xffffffff
je 0x439dcc
cmp dword [esp + 0x84], ebx
je 0x439d67
cmp ebx, 0x32
je 0x439d67
cmp ebx, 0x3c
je 0x439d67
cmp ebx, 0x46
je 0x439d67
cmp ebx, 0x50
je 0x439d67
mov edx, dword [0xcfe518]
push edx
push 0
push 0
push 7
push 1
push str.SYS_OV
call fcn.00442560
add esp, 0x18
mov eax, dword [0x4811c4]
push ebx
push 0
push 0
sub esp, 0xc0
mov edi, esp
push 0
push 0
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x644]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push eax
mov ecx, 0x30
lea esi, [esp + 0x538]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push 0
push 0
sub esp, 0xc0
mov ecx, 0x30
mov esi, 0x13a2e50
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00411c80
add esp, 0x264
cmp ebx, 0x32
je 0x439eda
cmp ebx, 0x3c
je 0x439eda
cmp ebx, 0x46
je 0x439eda
cmp ebx, 0x50
je 0x439eda
lea edx, [esp + 0xb8]
xor edi, edi
push 0xffffffffffffffff
push edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.00447580
add esp, 8
test eax, eax
je case.0x439e27.11
lea eax, [ebx - 0xa]
cmp eax, 0x5a
ja case.0x439e27.11
movzx eax, byte [eax + 0x43a758]
jmp dword [eax*4 + 0x43a748]
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jg 0x439e62
mov edx, dword [esp + 0x5c]
add edx, eax
cmp ecx, edx
jg 0x439e62
mov dword [esp + 0x28], 1
mov dword [esp + 0x98], eax
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov dword [esp + 0x44], 1
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov eax, 0x66666667
imul ebx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [esp + esi*4 + 0x1ec], 1
jne case.0x439e27.11
mov eax, dword [0xcfe51c]
push eax
push edi
push edi
push 6
push 4
push 0x475498
call fcn.00442560
imul esi, esi, 0xff
mov ecx, dword [0xcfe51c]
push ecx
push edi
push edi
push 6
lea edx, [esp + esi + 0xb59]
push 1
push edx
call fcn.00442560
add esp, 0x30
mov dword [esp + 0x84], ebx
jmp 0x43a099
lea eax, [esp + 0xb8]
push 0xffffffffffffffff
push eax
call fcn.004475d0
add esp, 8
test eax, eax
je 0x43a079
lea eax, [ebx - 0x32]
cmp eax, 0x1e
ja case.0x439f07.51
movzx ecx, byte [eax + 0x43a7c8]
jmp dword [ecx*4 + 0x43a7b4]
mov eax, dword [esp + 0x3c]
xor edi, edi
sub eax, edi
je 0x439f5f
dec eax
je 0x439f33
dec eax
jne case.0x439e27.11
sub dword [esp + 0x10], 4
mov dword [esp + 0x84], ebx
jmp 0x43a099
call dword [0x47436c]
mov edx, dword [esp + 0x74]
add edx, 0x12c
cmp edx, eax
jae case.0x439e27.11
mov dword [esp + 0x3c], 2
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov dword [esp + 0x3c], 1
call dword [0x47436c]
mov dword [esp + 0x74], eax
sub dword [esp + 0x10], 4
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov eax, dword [esp + 0x40]
xor edi, edi
sub eax, edi
je 0x439fab
dec eax
je 0x43a035
dec eax
jne case.0x439e27.11
add dword [esp + 0x10], 4
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov dword [esp + 0x40], 1
call dword [0x47436c]
mov dword [esp + 0x78], eax
add dword [esp + 0x10], 4
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov eax, dword [esp + 0x3c]
xor edi, edi
sub eax, edi
je 0x439ff6
dec eax
je 0x439f33
dec eax
jne case.0x439e27.11
dec dword [esp + 0x10]
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov dword [esp + 0x3c], 1
call dword [0x47436c]
mov dword [esp + 0x74], eax
dec dword [esp + 0x10]
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov eax, dword [esp + 0x40]
xor edi, edi
sub eax, edi
je 0x43a05a
dec eax
je 0x43a035
dec eax
jne case.0x439e27.11
inc dword [esp + 0x10]
mov dword [esp + 0x84], ebx
jmp 0x43a099
call dword [0x47436c]
mov ecx, dword [esp + 0x78]
add ecx, 0x12c
cmp ecx, eax
jae case.0x439e27.11
mov dword [esp + 0x40], 2
mov dword [esp + 0x84], ebx
jmp 0x43a099
mov dword [esp + 0x40], 1
call dword [0x47436c]
mov dword [esp + 0x78], eax
inc dword [esp + 0x10]
mov dword [esp + 0x84], ebx
jmp 0x43a099
xor edi, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x84], ebx
jmp 0x43a099
xor edi, edi
mov dword [esp + 0x84], ebx
jmp 0x43a099
xor edi, edi
mov ebx, dword [0x47436c]
push edi
call fcn.00447540
add esp, 4
cmp eax, 2
mov esi, 1
jne 0x43a0b9
mov eax, dword [esp + 0x10]
inc eax
jmp 0x43a0c2
cmp eax, esi
jne 0x43a0c6
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
cmp dword [0xcfe4f8], edi
jne 0x43a178
push 0xd0
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a121
mov eax, dword [esp + 0x2c]
sub eax, edi
je 0x43a111
dec eax
je 0x43a0f7
dec eax
jne 0x43a125
inc dword [esp + 0x10]
jmp 0x43a125
call ebx
mov edx, dword [esp + 0x64]
add edx, 0x12c
cmp edx, eax
jae 0x43a125
mov dword [esp + 0x2c], 2
jmp 0x43a125
mov dword [esp + 0x2c], esi
call ebx
mov dword [esp + 0x64], eax
inc dword [esp + 0x10]
jmp 0x43a125
mov dword [esp + 0x2c], edi
push 0xc8
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a174
mov eax, dword [esp + 0x30]
sub eax, edi
je 0x43a164
dec eax
je 0x43a14a
dec eax
jne 0x43a178
dec dword [esp + 0x10]
jmp 0x43a178
call ebx
mov ecx, dword [esp + 0x68]
add ecx, 0x12c
cmp ecx, eax
jae 0x43a178
mov dword [esp + 0x30], 2
jmp 0x43a178
mov dword [esp + 0x30], esi
call ebx
mov dword [esp + 0x68], eax
dec dword [esp + 0x10]
jmp 0x43a178
mov dword [esp + 0x30], edi
push 0xd1
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a1c9
mov eax, dword [esp + 0x34]
sub eax, edi
je 0x43a1b8
dec eax
je 0x43a19e
dec eax
jne 0x43a1cd
add dword [esp + 0x10], 4
jmp 0x43a1cd
call ebx
mov edx, dword [esp + 0x6c]
add edx, 0x12c
cmp edx, eax
jae 0x43a1cd
mov dword [esp + 0x34], 2
jmp 0x43a1cd
mov dword [esp + 0x34], esi
call ebx
mov dword [esp + 0x6c], eax
add dword [esp + 0x10], 4
jmp 0x43a1cd
mov dword [esp + 0x34], edi
push 0xc9
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a21e
mov eax, dword [esp + 0x38]
sub eax, edi
je 0x43a20d
dec eax
je 0x43a1f3
dec eax
jne 0x43a222
sub dword [esp + 0x10], 4
jmp 0x43a222
call ebx
mov ecx, dword [esp + 0x70]
add ecx, 0x12c
cmp ecx, eax
jae 0x43a222
mov dword [esp + 0x38], 2
jmp 0x43a222
mov dword [esp + 0x38], esi
call ebx
mov dword [esp + 0x70], eax
sub dword [esp + 0x10], 4
jmp 0x43a222
mov dword [esp + 0x38], edi
push 0xc7
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a237
mov dword [esp + 0x10], edi
push 0xcf
call fcn.00447880
add esp, 4
cmp eax, esi
jne 0x43a250
mov dword [esp + 0x10], 0x1f4
cmp dword [esp + 0x44], esi
jne 0x43a30a
mov edx, dword [0x70cb80]
fild dword [esp + 0x60]
add edx, 0xfffffffc
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
lea eax, [esp + 0xb0]
push 0xffffffffffffffff
push eax
fdivp st(1)
fstp dword [esp + 0x1c]
call fcn.004475d0
add esp, 8
test eax, eax
jne 0x43a291
mov dword [esp + 0x44], edi
jmp 0x43a2dc
fild dword [esp + 0xb4]
fld dword [esp + 0x14]
fmul dword [0x477ecc]
fild dword [esp + 0x1c]
fld st(0)
fadd st(2)
fld st(3)
fcompp
fnstsw ax
test ah, 0x41
jne 0x43a2c2
mov eax, dword [esp + 0x10]
fstp st(0)
fstp st(0)
inc eax
fstp st(0)
jmp 0x43a2d8
fsub st(1)
fxch st(1)
fxch st(2)
fcompp
fnstsw ax
fstp st(0)
test ah, 5
jp 0x43a2dc
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xb0]
cmp eax, edi
jl 0x43a2ef
cmp eax, dword [0x4811c0]
jle 0x43a2f3
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0xb4]
cmp eax, edi
jl 0x43a306
cmp eax, dword [0x4811c4]
jle 0x43a30a
mov dword [esp + 0x44], edi
cmp dword [0x70cb80], 4
jle 0x43a40d
cmp dword [esp + 0x28], esi
jne 0x43a42c
lea ecx, [esp + 0x7c]
push 0xffffffffffffffff
push ecx
call fcn.004475d0
add esp, 8
test eax, eax
jne 0x43a3c2
mov edx, dword [0x70cb80]
fild dword [esp + 0x98]
fild dword [esp + 0x60]
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x48]
add edx, 0xfffffffc
cmp eax, esi
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x28], edi
fdivp st(1)
jge 0x43a372
mov eax, esi
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x50]
cmp eax, ebx
jle 0x43a381
mov dword [esp + 0x80], ebx
fild dword [esp + 0x80]
mov ecx, dword [esp + 0x10]
fld st(1)
fmul dword [0x477ecc]
fld st(0)
fadd st(4)
fld st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x43a3aa
fld st(2)
inc ecx
faddp st(4)
jmp 0x43a394
fld st(3)
fsub st(1)
fld st(2)
fcompp
fnstsw ax
test ah, 5
jp 0x43a41e
fxch st(3)
dec ecx
fsub st(2)
fxch st(3)
jmp 0x43a394
mov eax, dword [esp + 0x7c]
cmp eax, edi
jl 0x43a3d2
cmp eax, dword [0x4811c0]
jle 0x43a3d6
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x80]
cmp eax, edi
jl 0x43a3e9
cmp eax, dword [0x4811c4]
jle 0x43a3ed
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0x48]
cmp eax, esi
mov dword [esp + 0x1c], eax
jge 0x43a3ff
mov eax, esi
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x50]
cmp eax, ebx
jle 0x43a415
mov dword [esp + 0x1c], ebx
jmp 0x43a415
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x28], 1
jne 0x43a434
jmp 0x43a480
fstp st(0)
mov dword [esp + 0x10], ecx
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x43a434
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov eax, dword [0x70cb80]
add eax, 0xfffffffc
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fcom dword [0x477ec8]
fnstsw ax
test ah, 0x41
jp 0x43a455
fstp st(0)
jmp 0x43a47c
fild dword [esp + 0x60]
fdiv st(1)
fimul dword [esp + 0x10]
fiadd dword [esp + 0x48]
call fcn.00458024
fstp st(0)
cmp eax, esi
mov dword [esp + 0x1c], eax
jge 0x43a478
mov eax, esi
mov dword [esp + 0x1c], eax
cmp eax, ebx
jle 0x43a480
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
push 0xff
push edx
push eax
sub esp, 0xc0
mov edi, esp
mov ecx, 0x30
lea esi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x178]
sub ecx, edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x16c]
sub edx, eax
mov eax, dword [esp + 0xec]
push edx
push eax
push ecx
sub esp, 0xc0
mov ecx, 0x30
mov esi, 0x13a2e50
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412a80
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1c0]
add esp, 0x19c
cmp ecx, eax
jne 0x43a5c4
lea edx, [esp + 0xb8]
push edx
call fcn.004476c0
add esp, 4
cmp eax, 1
je 0x43a69e
push 5
call dword [0x474090]
cmp dword [0xff3668], 1
jne 0x439c20
call fcn.00443930
lea eax, [esp + 0x870]
push eax
call fcn.00444510
lea ecx, [esp + 0x224]
push ecx
call fcn.00444510
lea edx, [esp + 0x3a8]
push edx
call fcn.00444510
lea eax, [esp + 0x6fc]
push eax
call fcn.00444510
lea ecx, [esp + 0x7c0]
push ecx
call fcn.00444510
lea edx, [esp + 0x644]
push edx
call fcn.00444510
lea eax, [esp + 0x588]
push eax
call fcn.00444510
lea ecx, [esp + 0x2fc]
push ecx
call fcn.00444510
lea edx, [esp + 0x4d0]
push edx
call fcn.00444510
add esp, 0x24
xor eax, eax
mov ecx, dword [esp + 0x1034]
call fcn.00457925
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x70cb80]
add ecx, 0xfffffffc
cmp eax, ecx
jle 0x43a5d7
mov eax, ecx
mov dword [esp + 0x10], eax
test eax, eax
jge 0x43a5e3
mov dword [esp + 0x10], 0
mov eax, dword [0x4811c4]
push 0
push 0
push 0
sub esp, 0xc0
mov edi, esp
push eax
mov ecx, 0x30
lea esi, [esp + 0x7c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x4811c0]
push ecx
push 0
push 0
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
mov edx, dword [0x4811c4]
mov eax, dword [0x4811c0]
add esp, 0x19c
push 0
push 0
push 0
sub esp, 0xc0
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x30
lea esi, [esp + 0x88c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc0
mov ecx, 0x30
lea esi, [esp + 0x53c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004132a0
add esp, 0x19c
jmp 0x4392b2
mov ecx, dword [0xcfe518]
push ecx
push edi
push edi
push 7
push 1
push str.SYS_OK
call fcn.00442560
add esp, 0x18
mov edx, dword [0xcfe51c]
push edx
push 0
push 0
push 6
push 4
push 0x475498
call fcn.00442560
lea eax, [esp + 0x888]
push eax
call fcn.00444510
lea ecx, [esp + 0x23c]
push ecx
call fcn.00444510
lea edx, [esp + 0x3c0]
push edx
call fcn.00444510
lea eax, [esp + 0x714]
push eax
call fcn.00444510
lea ecx, [esp + 0x7d8]
push ecx
call fcn.00444510
lea edx, [esp + 0x65c]
push edx
call fcn.00444510
lea eax, [esp + 0x5a0]
push eax
call fcn.00444510
lea ecx, [esp + 0x314]
push ecx
call fcn.00444510
lea edx, [esp + 0x4e8]
push edx
call fcn.00444510
add esp, 0x3c
mov ecx, dword [esp + 0x1034]
mov eax, 1
call fcn.00457925
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret