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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a9c
call fcn.00454700
mov eax, dword [0x4894c8]
xor eax, esp
mov dword [esp + 0x1a98], eax
mov ecx, dword [0x12fcb34]
xor eax, eax
mov edx, dword [0x12fcb2c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [0x12fda50]
mov dword [esp + 0x8c], eax
mov eax, dword [0x12fda5c]
push ebx
push esi
mov esi, dword [0x12fda54]
push edi
mov edi, eax
sub eax, esi
sub eax, dword [esp + 0x60]
sub edi, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov eax, dword [0x12faa48]
mov dword [esp + 0x1a0], eax
mov eax, dword [0x12faa4c]
mov dword [esp + 0x1a4], eax
mov eax, dword [0x12faa50]
mov dword [esp + 0x1a8], eax
mov eax, dword [0x12faa54]
mov dword [esp + 0x1ac], eax
mov eax, dword [0x12faa70]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x12faa74]
mov dword [esp + 0x1b4], eax
mov eax, dword [0x12faa78]
mov dword [esp + 0x1b8], eax
mov eax, dword [0x12faa7c]
mov dword [esp + 0x1bc], eax
mov eax, dword [0x12faa98]
mov dword [esp + 0x1c0], eax
mov eax, dword [0x12faa9c]
mov dword [esp + 0x1c4], eax
mov eax, dword [0x12faaa0]
mov dword [esp + 0x1c8], eax
mov eax, dword [0x12faaa4]
mov dword [esp + 0x1cc], eax
mov eax, dword [0x12faac0]
mov dword [esp + 0x1d0], eax
mov eax, dword [0x12faac4]
mov dword [esp + 0x1d4], eax
mov eax, dword [0x12faac8]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x12faacc]
mov dword [esp + 0x1dc], eax
mov eax, dword [0x12faae8]
mov dword [esp + 0xe0], eax
mov eax, dword [0x12faaec]
mov dword [esp + 0xe4], eax
mov eax, dword [0x12faaf0]
xor ebx, ebx
mov dword [esp + 0xe8], eax
mov eax, dword [0x12faaf4]
mov dword [esp + 0xec], eax
mov eax, dword [0x12fab10]
mov dword [esp + 0xf0], eax
mov eax, dword [0x12fab14]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x14], edi
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 + 0x44], 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 + 0x94], ebx
mov dword [esp + 0xf4], eax
mov eax, dword [0x12fab18]
mov dword [esp + 0xf8], eax
mov eax, dword [0x12fab1c]
mov dword [esp + 0xfc], eax
mov eax, dword [0x12fab38]
mov dword [esp + 0x100], eax
mov eax, dword [0x12fab3c]
mov dword [esp + 0x104], eax
mov eax, dword [0x12fab40]
mov dword [esp + 0x108], eax
mov eax, dword [0x12fab44]
mov dword [esp + 0x10c], eax
mov eax, dword [0x12fab60]
mov dword [esp + 0x110], eax
mov eax, dword [0x12fab64]
mov dword [esp + 0x114], eax
mov eax, dword [0x12fab68]
mov dword [esp + 0x118], eax
mov eax, dword [0x12fab6c]
mov dword [esp + 0x11c], eax
mov eax, dword [0x12ff478]
mov dword [esp + 0x120], eax
mov eax, dword [0x12ff47c]
mov dword [esp + 0x124], eax
mov eax, dword [0x12ff480]
mov dword [esp + 0x128], eax
mov eax, dword [0x12ff484]
mov dword [esp + 0x12c], eax
mov eax, dword [0x12ff4a0]
mov dword [esp + 0x130], eax
mov eax, dword [0x12ff4a4]
mov dword [esp + 0x134], eax
mov eax, dword [0x12ff4a8]
mov dword [esp + 0x138], eax
mov eax, dword [0x12ff4ac]
mov dword [esp + 0x13c], eax
mov eax, dword [0x12ff4c8]
mov dword [esp + 0x140], eax
mov eax, dword [0x12ff4cc]
mov dword [esp + 0x144], eax
mov eax, dword [0x12ff4d0]
mov dword [esp + 0x148], eax
mov eax, dword [0x12ff4d4]
mov dword [esp + 0x14c], eax
mov eax, dword [0x12ff4f0]
mov dword [esp + 0x150], eax
mov eax, dword [0x12ff4f4]
mov dword [esp + 0x154], eax
mov eax, dword [0x12ff4f8]
mov dword [esp + 0x158], eax
mov eax, dword [0x12ff4fc]
mov dword [esp + 0x15c], eax
mov eax, dword [0x157c0a0]
mov dword [esp + 0x160], eax
mov eax, dword [0x157c0a4]
mov dword [esp + 0x164], eax
mov eax, dword [0x157c0a8]
mov dword [esp + 0x168], eax
mov eax, dword [0x157c0ac]
mov dword [esp + 0x16c], eax
mov eax, dword [0x157c0c8]
mov dword [esp + 0x170], eax
mov eax, dword [0x157c0cc]
mov dword [esp + 0x174], eax
mov eax, dword [0x157c0d0]
mov dword [esp + 0x178], eax
mov eax, dword [0x157c0d4]
mov dword [esp + 0x17c], eax
mov eax, dword [0x157c0f0]
mov dword [esp + 0x180], eax
mov eax, dword [0x157c0f4]
mov dword [esp + 0x184], eax
mov eax, dword [0x157c0f8]
mov dword [esp + 0x188], eax
mov eax, dword [0x157c0fc]
mov dword [esp + 0x18c], eax
mov eax, dword [0x157c118]
mov dword [esp + 0x190], eax
mov eax, dword [0x157c11c]
mov dword [esp + 0x194], eax
mov eax, dword [0x157c120]
cmp dword [0x7fb508], ebx
mov dword [esp + 0x198], eax
mov eax, dword [0x157c124]
mov dword [esp + 0x19c], eax
mov eax, dword [0x13b6440]
mov dword [esp + 0xd0], eax
mov eax, dword [0x13b6444]
mov dword [esp + 0xd4], eax
mov eax, dword [0x12fcb00]
mov dword [esp + 0xc0], eax
mov eax, dword [0x12fcb04]
mov dword [esp + 0xc4], eax
mov eax, dword [0x12fcb28]
mov dword [esp + 0x9c], eax
mov eax, dword [0x12ff450]
mov dword [esp + 0xa0], edx
mov edx, dword [0x12fcb30]
mov dword [esp + 0xa4], edx
mov edx, dword [0x12ff458]
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x12ff454]
mov dword [esp + 0x84], eax
mov eax, dword [0x12ff45c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
jle 0x43cdbd
cmp dword [0x7fb50c], ebx
je 0x43cdbd
lea ecx, [esp + 0x8b0]
push 0xc4
push ecx
call fcn.004015a0
lea edx, [esp + 0x228]
push 0xc4
push edx
call fcn.004015a0
lea eax, [esp + 0x410]
push 0xc4
push eax
call fcn.004015a0
lea ecx, [esp + 0x738]
push 0xc4
push ecx
call fcn.004015a0
lea edx, [esp + 0x808]
push 0xc4
push edx
call fcn.004015a0
lea eax, [esp + 0x5b8]
push 0xc4
push eax
call fcn.004015a0
lea ecx, [esp + 0x688]
push 0xc4
push ecx
call fcn.004015a0
lea edx, [esp + 0x320]
push 0xc4
push edx
call fcn.004015a0
add esp, 0x40
lea eax, [esp + 0x4c8]
push 0xc4
push eax
call fcn.004015a0
mov ecx, dword [0x489174]
mov edx, dword [0x489170]
mov eax, dword [0x17916c4]
push ecx
push edx
push eax
lea ecx, [esp + 0x8c4]
push ecx
lea edx, [esp + 0xbe8]
push edx
call fcn.004458f0
mov edx, dword [0x17916c4]
mov esi, eax
mov eax, dword [0x489174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x8d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push edx
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0x10ac]
push ecx
call fcn.004458f0
mov edx, dword [0x489174]
push edx
mov esi, eax
mov eax, dword [0x489170]
push eax
mov ecx, 0x31
lea edi, [esp + 0x258]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x17916c4]
push ecx
lea edx, [esp + 0x43c]
push edx
lea eax, [esp + 0x9b8]
push eax
call fcn.004458f0
add esp, 0x44
mov ecx, 0x31
mov esi, eax
mov edx, dword [0x489170]
mov eax, dword [0x17916c4]
lea edi, [esp + 0x400]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489174]
push ecx
push edx
push eax
lea ecx, [esp + 0x72c]
push ecx
lea edx, [esp + 0x12e8]
push edx
call fcn.004458f0
mov edx, dword [0x17916c4]
mov esi, eax
mov eax, dword [0x489174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x738]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push edx
lea eax, [esp + 0x808]
push eax
lea ecx, [esp + 0xd84]
push ecx
call fcn.004458f0
mov edx, dword [0x489174]
push edx
mov esi, eax
mov eax, dword [0x489170]
push eax
mov ecx, 0x31
lea edi, [esp + 0x818]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x17916c4]
push ecx
lea edx, [esp + 0x5c4]
push edx
lea eax, [esp + 0x1248]
push eax
call fcn.004458f0
mov edx, dword [0x489170]
mov esi, eax
mov eax, dword [0x17916c4]
mov ecx, 0x31
lea edi, [esp + 0x5cc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489174]
push ecx
push edx
push eax
lea ecx, [esp + 0x6a0]
push ecx
lea edx, [esp + 0xf3c]
push edx
call fcn.004458f0
mov edx, dword [0x17916c4]
add esp, 0x50
mov esi, eax
mov eax, dword [0x489174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x65c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push edx
lea eax, [esp + 0x2f4]
push eax
lea ecx, [esp + 0x1158]
push ecx
call fcn.004458f0
mov edx, dword [0x489174]
mov esi, eax
mov eax, dword [0x489170]
mov ecx, 0x31
lea edi, [esp + 0x2fc]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, dword [0x17916c4]
push eax
push ecx
lea edx, [esp + 0x4e8]
push edx
lea eax, [esp + 0xa64]
push eax
call fcn.004458f0
mov edx, dword [0x489170]
add esp, 0x28
push ebx
push ebx
push ebx
sub esp, 0xc4
mov esi, eax
mov ecx, 0x31
lea edi, [esp + 0x598]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x31
mov esi, 0x17915f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489174]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0xa54]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
add esp, 0xe0
mov ecx, 0x31
mov esi, 0x17915f8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043a160
mov eax, dword [0x489174]
add esp, 0xc4
push ebx
push ebx
push ebx
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
mov esi, 0x17915f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push ebx
push ebx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
mov edx, dword [0x489174]
mov eax, dword [0x489170]
add esp, 0x1a4
push ebx
push ebx
push ebx
sub esp, 0xc4
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x31
mov esi, 0x17915f8
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x5a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
add esp, 0xe0
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x654]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xbcc]
push str.HISTMAIN
push ecx
call fcn.00446d80
mov esi, eax
add esp, 8
mov ecx, 0x31
lea edi, [esp + 0x654]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea edx, [esp + 0xd5c]
push str.HISTMAINC
mov ecx, 0x31
lea esi, [esp + 0x720]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.00446d80
mov esi, eax
add esp, 8
mov ecx, 0x31
lea edi, [esp + 0x71c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
lea eax, [esp + 0xeec]
push str.HISTMAINP
mov ecx, 0x31
lea esi, [esp + 0x3b0]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00446d80
mov esi, eax
add esp, 8
mov ecx, 0x31
lea edi, [esp + 0x3ac]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x58c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x107c]
push str.HISTMAINM
push ecx
call fcn.00446d80
mov edx, dword [0x489174]
add esp, 0xcc
push 0xff
push ebx
push ebx
sub esp, 0xc4
mov esi, eax
mov eax, dword [0x489170]
mov ecx, 0x31
lea edi, [esp + 0x598]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x31
lea esi, [esp + 0x670]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
add esp, 0x1a4
push ebx
push ebx
push ebx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x2f0]
mov edi, esp
mov edx, dword [0x489170]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489174]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x8c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
mov eax, dword [0x489174]
add esp, 0x1a4
push 0xff
push ebx
push ebx
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
lea esi, [esp + 0x72c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push ebx
push ebx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x5a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov edx, dword [0x489174]
mov eax, dword [0x489170]
add esp, 0x1a4
push ebx
push ebx
push ebx
sub esp, 0xc4
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x31
lea esi, [esp + 0x4e0]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x98c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
mov ecx, dword [0xf205ec]
push ecx
push ebx
push ebx
push 5
push 4
push 0x478800
call fcn.00444af0
mov edx, dword [0x7fb508]
add esp, 0x1bc
add edx, 0xfffffffc
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 4]
cmp ecx, eax
mov ebx, ecx
mov dword [esp + 0x28], ebx
jge 0x43c2c0
lea eax, [esp + 0x16a0]
lea edx, [esp + 0x1f0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x20], 0
cmp dword [0x7fb508], ebx
mov eax, dword [esp + 0x54]
mov dword [eax], 0
jle 0x43c294
test ebx, ebx
jge 0x43b9b5
xor ebx, ebx
mov dword [esp + 0x28], ebx
lea edi, [ebx + ebx*2]
add edi, edi
add edi, edi
add edi, edi
lea esi, [edi + 0x7f862c]
mov ecx, esi
mov eax, 0x12fdcd0
jmp 0x43b9d0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43b9f0
test dl, dl
je 0x43b9ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43b9f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43b9d0
xor eax, eax
jmp 0x43b9f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43ba1e
push 0
push 0x13005c8
push esi
call fcn.0041f4e0
mov edx, 0x12fdcd0
add esp, 0xc
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x43ba12
mov eax, dword [edi + 0x7f8628]
movsx ecx, byte [eax + 0x13005c8]
sub ecx, 0x21
mov dword [esp + 0x18], eax
je 0x43bdf5
sub ecx, 2
je 0x43ba73
sub ecx, 0x5b
je 0x43ba67
push 0
push 0x27
push 0x22
lea ecx, [esp + 0x15ac]
push ecx
lea edx, [esp + 0x28]
push edx
push 0x13005c8
call fcn.0042f8e0
add esp, 0x18
jmp 0x43c1f5
add eax, 2
mov dword [esp + 0x18], eax
jmp 0x43c1f5
push 0
push 0x3d
push 0xa
add eax, 1
push 0xd
mov dword [esp + 0x28], eax
push 0x1740ac0
lea eax, [esp + 0x2c]
push eax
push 0x13005c8
call fcn.0042f8e0
add esp, 0x1c
cmp byte [0x1740ac0], 0x3a
mov ebx, eax
jne 0x43bad9
push 0x1740ac0
lea ecx, [esp + 0x13a4]
push 0xf216f8
push ecx
call fcn.00454878
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43bac0
jmp 0x43bbb4
mov edi, 2
mov esi, 0xf226f8
mov ecx, 0x1740ac0
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43bb10
test dl, dl
je 0x43bb0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43bb10
add eax, 2
add ecx, 2
test dl, dl
jne 0x43baf0
xor eax, eax
jmp 0x43bb15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43bb2c
add esi, 0x1020
add edi, 1
cmp esi, 0xf52cf8
jl 0x43bae3
jmp 0x43bb74
mov edx, edi
imul edx, edx, 0x1020
push 0x1740ac0
add edx, 0xf206d8
push edx
lea eax, [esp + 0x13a8]
push eax
call fcn.00454878
add esp, 0xc
xor eax, eax
jmp 0x43bb60
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43bb60
cmp edi, 0x32
jne 0x43bbb4
push 0x1740ac0
lea ecx, [esp + 0x13a4]
push 0xf206d8
push ecx
call fcn.00454878
add esp, 0xc
xor eax, eax
jmp 0x43bba0
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43bba0
cmp ebx, 3
jne 0x43bcd8
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
push 0
push 0x2c
push 0xa
push 0xd
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0x13005c8
mov dword [edx], 1
call fcn.0042f8e0
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + ecx + 0x180]
mov edx, dword [esp + ecx + 0x17c]
mov eax, dword [esp + ecx + 0x188]
lea ecx, [esp + ecx + 0x180]
mov ecx, dword [ecx + 4]
add esp, 0x1c
sub ecx, edx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xd4]
push 0xff
push ecx
mov ecx, dword [esp + 0xd8]
push ecx
sub esp, 0xc4
mov edi, esp
sub eax, ebx
push eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x11c]
push eax
push ebx
push edx
mov ecx, 0x31
lea esi, [esp + 0x3c8]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
mov dword [esp + 0x1b4], edx
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov eax, dword [esp + 0x1c0]
add esp, 0x1a4
push 0xff
push ecx
push edx
mov edx, dword [esp + 0x1c]
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
lea esi, [esp + 0x3bc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x11c]
push ecx
push ebx
push edx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x5a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
add esp, 0x1a4
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x20]
push 0xff
push edx
push eax
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x3b8]
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 + 0x1b4]
sub edx, eax
mov eax, dword [esp + ebx + 0x1b8]
push edx
push eax
push ecx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov edx, dword [esp + ebx + 0x2d0]
mov eax, dword [0x4a2be4]
mov esi, dword [esp + ebx + 0x2c4]
mov edi, dword [esp + ebx + 0x2cc]
lea ecx, [esp + ebx + 0x2c4]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c0], edx
cdq
sub eax, edx
add esp, 0x1a4
push 1
sar eax, 1
push 0x1740ac0
sub eax, 4
push eax
push 0xffffff
sub esp, 0x10
mov eax, esp
mov edx, esi
mov dword [eax], edx
mov edx, ebx
mov dword [eax + 4], edx
mov edx, edi
mov dword [eax + 8], edx
lea edx, [esp + 0x3e0]
push edx
mov dword [eax + 0xc], ecx
call fcn.0040cc60
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
mov ecx, dword [esp + 0x240]
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov eax, dword [0x4a2be4]
cdq
sub eax, edx
lea edx, [esp + 0x3f4]
jmp 0x43c180
push 0
push 0x3d
push 0xa
push 0xd
push 0x1740ac0
lea edx, [esp + 0x2c]
push edx
add eax, 1
push 0x13005c8
mov dword [esp + 0x34], eax
call fcn.0042f8e0
add esp, 0x1c
cmp byte [0x1740ac0], 0x3a
mov ebx, eax
jne 0x43be69
push 0x1740ac0
lea eax, [esp + 0x14a4]
push 0xf216f8
push eax
call fcn.00454878
add esp, 0xc
xor eax, eax
jmp 0x43be50
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43be50
jmp 0x43bf44
mov edi, 2
mov esi, 0xf226f8
mov ecx, 0x1740ac0
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43bea0
test dl, dl
je 0x43be9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43bea0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43be80
xor eax, eax
jmp 0x43bea5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43bebc
add esi, 0x1020
add edi, 1
cmp esi, 0xf52cf8
jl 0x43be73
jmp 0x43bf04
mov ecx, edi
imul ecx, ecx, 0x1020
push 0x1740ac0
add ecx, 0xf206d8
push ecx
lea edx, [esp + 0x14a8]
push edx
call fcn.00454878
add esp, 0xc
xor eax, eax
jmp 0x43bef0
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43bef0
cmp edi, 0x32
jne 0x43bf44
push 0x1740ac0
lea eax, [esp + 0x14a4]
push 0xf206d8
push eax
call fcn.00454878
add esp, 0xc
xor eax, eax
jmp 0x43bf30
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x1740ac0], cl
add eax, 1
test cl, cl
jne 0x43bf30
cmp ebx, 3
jne 0x43c068
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
push 0
push 0x2c
push 0xa
push 0xd
push edx
lea eax, [esp + 0x2c]
push eax
push 0x13005c8
mov dword [ecx], 1
call fcn.0042f8e0
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + ecx + 0x180]
mov edx, dword [esp + ecx + 0x17c]
mov eax, dword [esp + ecx + 0x188]
lea ecx, [esp + ecx + 0x180]
mov ecx, dword [ecx + 4]
add esp, 0x1c
sub ecx, edx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xd4]
push 0xff
push ecx
mov ecx, dword [esp + 0xd8]
push ecx
sub esp, 0xc4
mov edi, esp
sub eax, ebx
push eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x11c]
push eax
push ebx
push edx
mov ecx, 0x31
lea esi, [esp + 0x3c8]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
mov dword [esp + 0x1b4], edx
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov eax, dword [esp + 0x1c0]
add esp, 0x1a4
push 0xff
push ecx
push edx
mov edx, dword [esp + 0x1c]
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
lea esi, [esp + 0x3bc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x11c]
push ecx
push ebx
push edx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x5a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
add esp, 0x1a4
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x20]
push 0xff
push edx
push eax
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x3b8]
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 + 0x1b4]
sub edx, eax
mov eax, dword [esp + ebx + 0x1b8]
push edx
push eax
push ecx
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov edx, dword [esp + ebx + 0x2d0]
mov eax, dword [0x4a2be4]
mov esi, dword [esp + ebx + 0x2c4]
mov edi, dword [esp + ebx + 0x2cc]
lea ecx, [esp + ebx + 0x2c4]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3b0], edx
cdq
sub eax, edx
add esp, 0x1a4
push 1
sar eax, 1
push 0x1740ac0
sub eax, 4
push eax
push 0xffffff
sub esp, 0x10
mov eax, esp
mov edx, esi
mov dword [eax], edx
mov edx, ebx
mov dword [eax + 4], edx
mov edx, edi
mov dword [eax + 8], edx
lea edx, [esp + 0x410]
push edx
mov dword [eax + 0xc], ecx
call fcn.0040cc60
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
mov ecx, dword [esp + 0x230]
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov eax, dword [0x4a2be4]
cdq
sub eax, edx
lea edx, [esp + 0x3d4]
add esp, 0x24
push 0
push 1
push 0x1740ac0
sar eax, 1
sub eax, 4
push eax
push 0x10101
push 0xffffff
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x30c]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0040ce60
push 0
push 0x27
push 0x22
lea eax, [esp + 0x169c]
push eax
lea ecx, [esp + 0x118]
push ecx
push 0x13005c8
call fcn.0042f8e0
mov ebx, dword [esp + 0x130]
add esp, 0x108
push 0
push 0x27
push 0x22
lea edx, [esp + 0x15ac]
push edx
lea eax, [esp + 0x28]
push eax
push 0x13005c8
call fcn.0042f8e0
mov eax, dword [0x4a2be4]
add esp, 0x18
cdq
push 0
sub eax, edx
push 1
sar eax, 1
lea ecx, [esp + 0x15a8]
push ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + ecx + 0x1ac]
sub eax, 2
push eax
push 0x10101
lea ecx, [esp + ecx + 0x1b4]
push 0xffffff
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
sub esp, 0xc4
lea edx, [esp + 0x4cc]
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x30c]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0040ce60
mov ecx, dword [esp + 0xfc]
add esp, 0xf0
add dword [esp + 0x54], 4
add dword [esp + 0x24], 0xff
add dword [esp + 0x20], 0x10
add ebx, 1
lea eax, [ecx + 4]
cmp ebx, eax
mov dword [esp + 0x28], ebx
jl 0x43b995
jmp 0x43c2c0
push 1
mov dword [esp + 0x2c], ecx
call dword [0x477080]
mov eax, dword [0x12faa14]
cmp eax, 1
je 0x43cc7f
mov edx, dword [0x489170]
push 0
push 0
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
mov esi, 0x17915f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489174]
push ecx
push edx
push 0
push 0
call fcn.00445770
mov eax, dword [0x489174]
add esp, 0xdc
push 0
push 0
push 0
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
lea esi, [esp + 0x2f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push 0
push 0
sub esp, 0xc4
mov ecx, 0x31
mov esi, 0x17915f8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
mov edx, dword [esp + 0x690]
mov eax, dword [esp + 0x68c]
add esp, 0x1a4
push edx
push eax
push 0
push 0
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x59c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00446080
push eax
call fcn.0044bb50
add esp, 0xd8
push 1
movzx ebx, al
call dword [0x477080]
mov ecx, dword [0x12faa14]
cmp ecx, 1
je 0x43cc7f
xor esi, esi
cmp ebx, esi
je 0x43c6e5
cmp ebx, 0xa
je 0x43c3ce
cmp ebx, 0x14
je 0x43c3ce
cmp ebx, 0x1e
je 0x43c3ce
cmp ebx, 0x28
jne 0x43c3f3
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, 1
cmp dword [esp + eax*4 + 0x1ec], edi
jne 0x43c57a
jmp 0x43c3f8
mov edi, 1
cmp ebx, 0xffffffff
je 0x43c48f
cmp dword [esp + 0x94], ebx
je 0x43c423
mov ecx, dword [0xf205e8]
push ecx
push esi
push esi
push 7
push edi
push str.SYS_OV
call fcn.00444af0
add esp, 0x18
mov edx, dword [0x489174]
mov eax, dword [0x489170]
push ebx
push 0
push 0
sub esp, 0xc4
mov edi, esp
push 0
push 0
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x664]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x31
lea esi, [esp + 0x5ac]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
mov esi, 0x17915f8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412190
add esp, 0x270
mov edi, 1
xor esi, esi
cmp ebx, 0x32
je 0x43c595
cmp ebx, 0x3c
je 0x43c595
cmp ebx, 0x46
je 0x43c595
cmp ebx, 0x50
je 0x43c595
lea ecx, [esp + 0xb0]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call fcn.00449ed0
add esp, 8
test eax, eax
je case.0x43c5be.51
lea eax, [ebx - 0xa]
cmp eax, 0x5a
ja case.0x43c5be.51
movzx edx, byte [eax + 0x43cde8]
jmp dword [edx*4 + 0x43cdd8]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jg 0x43c515
mov edx, dword [esp + 0x60]
add edx, ecx
cmp eax, edx
jg 0x43c515
mov dword [esp + 0x2c], edi
mov dword [esp + 0xac], ecx
jmp case.0x43c5be.51
mov dword [esp + 0x50], edi
jmp case.0x43c5be.51
mov eax, 0x66666667
imul ebx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [esp + esi*4 + 0x1ec], edi
jne 0x43c571
mov eax, dword [0xf205ec]
push eax
push 0
push 0
push 5
push 4
push 0x478800
call fcn.00444af0
imul esi, esi, 0xff
mov ecx, dword [0xf205ec]
push ecx
push 0
push 0
push 5
lea edx, [esp + esi + 0x15c9]
push edi
push edx
call fcn.00444af0
add esp, 0x30
xor esi, esi
mov dword [esp + 0x94], ebx
push esi
call fcn.00449e90
add esp, 4
cmp eax, 2
jne 0x43c6ef
add dword [esp + 0xc], edi
jmp 0x43c6f7
lea eax, [esp + 0xb0]
push 0xffffffffffffffff
push eax
call fcn.00449f20
add esp, 8
test eax, eax
je 0x43c6d8
lea eax, [ebx - 0x32]
cmp eax, 0x1e
ja case.0x43c5be.51
movzx ecx, byte [eax + 0x43ce58]
jmp dword [ecx*4 + 0x43ce44]
mov eax, dword [esp + 0x40]
sub eax, esi
je 0x43c5fd
sub eax, edi
je 0x43c5dc
sub eax, edi
jne case.0x43c5be.51
sub dword [esp + 0xc], 4
jmp case.0x43c5be.51
call dword [0x477370]
mov edx, dword [esp + 0x74]
add edx, 0x12c
cmp edx, eax
jae case.0x43c5be.51
mov dword [esp + 0x40], 2
jmp case.0x43c5be.51
mov dword [esp + 0x40], edi
call dword [0x477370]
sub dword [esp + 0xc], 4
mov dword [esp + 0x74], eax
jmp case.0x43c5be.51
mov eax, dword [esp + 0x44]
sub eax, esi
je 0x43c633
sub eax, edi
je 0x43c69c
sub eax, edi
jne case.0x43c5be.51
add dword [esp + 0xc], 4
jmp case.0x43c5be.51
mov dword [esp + 0x44], edi
call dword [0x477370]
add dword [esp + 0xc], 4
mov dword [esp + 0x78], eax
jmp case.0x43c5be.51
mov eax, dword [esp + 0x40]
sub eax, esi
je 0x43c668
sub eax, edi
je 0x43c5dc
sub eax, edi
jne case.0x43c5be.51
sub dword [esp + 0xc], edi
jmp case.0x43c5be.51
mov dword [esp + 0x40], edi
call dword [0x477370]
sub dword [esp + 0xc], edi
mov dword [esp + 0x74], eax
jmp case.0x43c5be.51
mov eax, dword [esp + 0x44]
sub eax, esi
je 0x43c6c1
sub eax, edi
je 0x43c69c
sub eax, edi
jne case.0x43c5be.51
add dword [esp + 0xc], edi
jmp case.0x43c5be.51
call dword [0x477370]
mov ecx, dword [esp + 0x78]
add ecx, 0x12c
cmp ecx, eax
jae case.0x43c5be.51
mov dword [esp + 0x44], 2
jmp case.0x43c5be.51
mov dword [esp + 0x44], edi
call dword [0x477370]
add dword [esp + 0xc], edi
mov dword [esp + 0x78], eax
jmp case.0x43c5be.51
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
jmp case.0x43c5be.51
mov edi, 1
jmp case.0x43c5be.51
cmp eax, edi
jne 0x43c6f7
sub dword [esp + 0xc], edi
cmp dword [0xf205c8], esi
jne 0x43c7b5
push 0xd0
call fcn.0044a1e0
mov ebx, dword [0x477370]
add esp, 4
cmp eax, edi
jne 0x43c75a
mov eax, dword [esp + 0x30]
sub eax, esi
je 0x43c74a
sub eax, edi
je 0x43c730
sub eax, edi
jne 0x43c75e
add dword [esp + 0xc], edi
jmp 0x43c75e
call ebx
mov edx, dword [esp + 0x64]
add edx, 0x12c
cmp edx, eax
jae 0x43c75e
mov dword [esp + 0x30], 2
jmp 0x43c75e
mov dword [esp + 0x30], edi
call ebx
add dword [esp + 0xc], edi
mov dword [esp + 0x64], eax
jmp 0x43c75e
mov dword [esp + 0x30], esi
push 0xc8
call fcn.0044a1e0
add esp, 4
cmp eax, edi
jne 0x43c7af
mov eax, dword [esp + 0x34]
sub eax, esi
je 0x43c79f
sub eax, edi
je 0x43c785
sub eax, edi
jne 0x43c7bb
sub dword [esp + 0xc], edi
jmp 0x43c7bb
call ebx
mov ecx, dword [esp + 0x68]
add ecx, 0x12c
cmp ecx, eax
jae 0x43c7bb
mov dword [esp + 0x34], 2
jmp 0x43c7bb
mov dword [esp + 0x34], edi
call ebx
sub dword [esp + 0xc], edi
mov dword [esp + 0x68], eax
jmp 0x43c7bb
mov dword [esp + 0x34], esi
jmp 0x43c7bb
mov ebx, dword [0x477370]
push 0xd1
call fcn.0044a1e0
add esp, 4
cmp eax, edi
jne 0x43c80e
mov eax, dword [esp + 0x38]
sub eax, esi
je 0x43c7fd
sub eax, edi
je 0x43c7e3
sub eax, edi
jne 0x43c812
add dword [esp + 0xc], 4
jmp 0x43c812
call ebx
mov edx, dword [esp + 0x6c]
add edx, 0x12c
cmp edx, eax
jae 0x43c812
mov dword [esp + 0x38], 2
jmp 0x43c812
mov dword [esp + 0x38], edi
call ebx
add dword [esp + 0xc], 4
mov dword [esp + 0x6c], eax
jmp 0x43c812
mov dword [esp + 0x38], esi
push 0xc9
call fcn.0044a1e0
add esp, 4
cmp eax, edi
jne 0x43c865
mov eax, dword [esp + 0x3c]
sub eax, esi
je 0x43c854
sub eax, edi
je 0x43c83a
sub eax, edi
jne 0x43c869
sub dword [esp + 0xc], 4
jmp 0x43c869
call ebx
mov ecx, dword [esp + 0x70]
add ecx, 0x12c
cmp ecx, eax
jae 0x43c869
mov dword [esp + 0x3c], 2
jmp 0x43c869
mov dword [esp + 0x3c], edi
call ebx
sub dword [esp + 0xc], 4
mov dword [esp + 0x70], eax
jmp 0x43c869
mov dword [esp + 0x3c], esi
push 0xc7
call fcn.0044a1e0
add esp, 4
cmp eax, edi
jne 0x43c87e
mov dword [esp + 0xc], esi
push 0xcf
call fcn.0044a1e0
add esp, 4
cmp eax, edi
jne 0x43c897
mov dword [esp + 0xc], 0x1f4
cmp dword [esp + 0x50], edi
jne 0x43c951
mov edx, dword [0x7fb508]
fild dword [esp + 0x5c]
add edx, 0xfffffffc
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
lea eax, [esp + 0xb8]
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x18]
call fcn.00449f20
add esp, 8
test eax, eax
jne 0x43c8d6
mov dword [esp + 0x50], esi
jmp 0x43c923
fild dword [esp + 0xbc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fmul qword [0x478ce0]
fild dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fld dword [esp + 0x10]
fld st(0)
fadd st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x43c914
add dword [esp + 0xc], edi
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x43c923
fsubrp st(2)
fcompp
fnstsw ax
test ah, 5
jp 0x43c923
sub dword [esp + 0xc], edi
mov eax, dword [esp + 0xb8]
cmp eax, esi
jl 0x43c936
cmp eax, dword [0x489170]
jle 0x43c93a
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0xbc]
cmp eax, esi
jl 0x43c94d
cmp eax, dword [0x489174]
jle 0x43c951
mov dword [esp + 0x50], esi
cmp dword [0x7fb508], 4
jle 0x43ca78
cmp dword [esp + 0x2c], edi
jne 0x43cb40
lea ecx, [esp + 0x7c]
push 0xffffffffffffffff
push ecx
call fcn.00449f20
add esp, 8
test eax, eax
jne 0x43ca2d
fild dword [esp + 0xac]
mov edx, dword [0x7fb508]
add edx, 0xfffffffc
mov dword [esp + 0x1c], edx
fstp dword [esp + 0x10]
mov esi, dword [esp + 0x4c]
fild dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x80]
cmp eax, esi
fidiv dword [esp + 0x1c]
fstp dword [esp + 0x1c]
jge 0x43c9bf
mov eax, esi
mov dword [esp + 0x80], eax
mov edi, dword [esp + 0x58]
cmp eax, edi
jle 0x43c9ce
mov dword [esp + 0x80], edi
fild dword [esp + 0x80]
mov ecx, 1
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
fld qword [0x478ce0]
fmul st(1)
fld dword [esp + 0x24]
fld dword [esp + 0x10]
fld st(0)
fadd st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x43ca0b
add dword [esp + 0xc], ecx
fadd st(3)
fstp dword [esp + 0x10]
jmp 0x43c9ee
fld st(0)
fsub st(3)
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x43cb4a
fsub st(3)
mov ecx, 1
sub dword [esp + 0xc], ecx
fstp dword [esp + 0x10]
jmp 0x43c9ee
mov eax, dword [esp + 0x7c]
cmp eax, esi
jl 0x43ca3d
cmp eax, dword [0x489170]
jle 0x43ca41
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x80]
cmp eax, esi
jl 0x43ca54
cmp eax, dword [0x489174]
jle 0x43ca58
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x4c]
cmp eax, esi
mov dword [esp + 0x14], eax
jge 0x43ca68
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x14], edi
jle 0x43ca80
mov dword [esp + 0x14], edi
jmp 0x43ca80
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x2c], 1
jne 0x43cb52
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push 0xff
push edx
push eax
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
lea esi, [esp + 0x3b8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x178]
sub ecx, edx
mov edx, dword [esp + 0x174]
push ecx
sub edx, eax
mov eax, dword [esp + 0x16c]
push edx
push ebx
push eax
sub esp, 0xc4
mov ecx, 0x31
mov esi, 0x17915f8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00412ee0
mov ecx, dword [esp + 0x1b0]
add esp, 0x1a4
cmp dword [esp + 0x28], ecx
jne 0x43cbc0
lea ecx, [esp + 0xb0]
push ecx
call fcn.0044a020
add esp, 4
cmp eax, 1
je 0x43cd2c
push 5
call dword [0x477080]
mov edx, dword [0x12faa14]
cmp edx, 1
je 0x43cc7f
mov ecx, dword [esp + 0xc]
jmp 0x43c2c0
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
jmp 0x43cb52
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(0)
mov eax, dword [0x7fb508]
add eax, 0xfffffffc
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x43cb84
mov ebx, edi
fstp st(0)
mov dword [esp + 0x14], ebx
jmp 0x43ca8f
fidivr dword [esp + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fimul dword [esp + 0xc]
fiadd dword [esp + 0x4c]
call fcn.00454c10
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x14], ebx
jge 0x43cbad
mov ebx, esi
mov dword [esp + 0x14], esi
cmp ebx, edi
jle 0x43ca8f
mov ebx, edi
mov dword [esp + 0x14], ebx
jmp 0x43ca8f
mov eax, dword [0x7fb508]
add eax, 0xfffffffc
cmp ecx, eax
jle 0x43cbd2
mov ecx, eax
mov dword [esp + 0xc], ecx
test ecx, ecx
jge 0x43cbde
mov dword [esp + 0xc], 0
mov eax, dword [0x489174]
push 0
push 0
push 0
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
lea esi, [esp + 0x7f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x489170]
push ecx
push 0
push 0
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
mov edx, dword [0x489174]
mov eax, dword [0x489170]
add esp, 0x1a4
push 0
push 0
push 0
sub esp, 0xc4
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x31
lea esi, [esp + 0x8c8]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc4
mov ecx, 0x31
lea esi, [esp + 0x5a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413710
add esp, 0x1a4
jmp 0x43b962
call fcn.004460a0
lea eax, [esp + 0x8b0]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x224]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x408]
push edx
call fcn.00446cd0
lea eax, [esp + 0x72c]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x7f8]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x5a4]
push edx
call fcn.00446cd0
lea eax, [esp + 0x670]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x304]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x4e8]
push edx
call fcn.00446cd0
add esp, 0x24
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a98]
xor ecx, esp
call fcn.004546e4
mov esp, ebp
pop ebp
ret
mov ecx, dword [0xf205e8]
push ecx
push esi
push esi
push 7
push edi
push str.SYS_OK
call fcn.00444af0
add esp, 0x18
mov edx, dword [0xf205ec]
push edx
push 0
push 0
push 5
push 4
push 0x478800
call fcn.00444af0
lea eax, [esp + 0x8c8]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x23c]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x420]
push edx
call fcn.00446cd0
lea eax, [esp + 0x744]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x810]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x5bc]
push edx
call fcn.00446cd0
lea eax, [esp + 0x688]
push eax
call fcn.00446cd0
lea ecx, [esp + 0x31c]
push ecx
call fcn.00446cd0
lea edx, [esp + 0x500]
push edx
call fcn.00446cd0
add esp, 0x3c
mov ecx, dword [esp + 0x1aa4]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004546e4
mov esp, ebp
pop ebp
ret