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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a9c
call fcn.004541d0
mov eax, dword [0x4874c8]
xor eax, esp
mov dword [esp + 0x1a98], eax
mov ecx, dword [0x12fab34]
xor eax, eax
mov edx, dword [0x12fab2c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x54], eax
mov eax, dword [0x12fba50]
mov dword [esp + 0x8c], eax
mov eax, dword [0x12fba5c]
push ebx
push esi
mov esi, dword [0x12fba54]
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 [0x12f8a48]
mov dword [esp + 0x1a0], eax
mov eax, dword [0x12f8a4c]
mov dword [esp + 0x1a4], eax
mov eax, dword [0x12f8a50]
mov dword [esp + 0x1a8], eax
mov eax, dword [0x12f8a54]
mov dword [esp + 0x1ac], eax
mov eax, dword [0x12f8a70]
mov dword [esp + 0x1b0], eax
mov eax, dword [0x12f8a74]
mov dword [esp + 0x1b4], eax
mov eax, dword [0x12f8a78]
mov dword [esp + 0x1b8], eax
mov eax, dword [0x12f8a7c]
mov dword [esp + 0x1bc], eax
mov eax, dword [0x12f8a98]
mov dword [esp + 0x1c0], eax
mov eax, dword [0x12f8a9c]
mov dword [esp + 0x1c4], eax
mov eax, dword [0x12f8aa0]
mov dword [esp + 0x1c8], eax
mov eax, dword [0x12f8aa4]
mov dword [esp + 0x1cc], eax
mov eax, dword [0x12f8ac0]
mov dword [esp + 0x1d0], eax
mov eax, dword [0x12f8ac4]
mov dword [esp + 0x1d4], eax
mov eax, dword [0x12f8ac8]
mov dword [esp + 0x1d8], eax
mov eax, dword [0x12f8acc]
mov dword [esp + 0x1dc], eax
mov eax, dword [0x12f8ae8]
mov dword [esp + 0xe0], eax
mov eax, dword [0x12f8aec]
mov dword [esp + 0xe4], eax
mov eax, dword [0x12f8af0]
xor ebx, ebx
mov dword [esp + 0xe8], eax
mov eax, dword [0x12f8af4]
mov dword [esp + 0xec], eax
mov eax, dword [0x12f8b10]
mov dword [esp + 0xf0], eax
mov eax, dword [0x12f8b14]
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 [0x12f8b18]
mov dword [esp + 0xf8], eax
mov eax, dword [0x12f8b1c]
mov dword [esp + 0xfc], eax
mov eax, dword [0x12f8b38]
mov dword [esp + 0x100], eax
mov eax, dword [0x12f8b3c]
mov dword [esp + 0x104], eax
mov eax, dword [0x12f8b40]
mov dword [esp + 0x108], eax
mov eax, dword [0x12f8b44]
mov dword [esp + 0x10c], eax
mov eax, dword [0x12f8b60]
mov dword [esp + 0x110], eax
mov eax, dword [0x12f8b64]
mov dword [esp + 0x114], eax
mov eax, dword [0x12f8b68]
mov dword [esp + 0x118], eax
mov eax, dword [0x12f8b6c]
mov dword [esp + 0x11c], eax
mov eax, dword [0x12fd478]
mov dword [esp + 0x120], eax
mov eax, dword [0x12fd47c]
mov dword [esp + 0x124], eax
mov eax, dword [0x12fd480]
mov dword [esp + 0x128], eax
mov eax, dword [0x12fd484]
mov dword [esp + 0x12c], eax
mov eax, dword [0x12fd4a0]
mov dword [esp + 0x130], eax
mov eax, dword [0x12fd4a4]
mov dword [esp + 0x134], eax
mov eax, dword [0x12fd4a8]
mov dword [esp + 0x138], eax
mov eax, dword [0x12fd4ac]
mov dword [esp + 0x13c], eax
mov eax, dword [0x12fd4c8]
mov dword [esp + 0x140], eax
mov eax, dword [0x12fd4cc]
mov dword [esp + 0x144], eax
mov eax, dword [0x12fd4d0]
mov dword [esp + 0x148], eax
mov eax, dword [0x12fd4d4]
mov dword [esp + 0x14c], eax
mov eax, dword [0x12fd4f0]
mov dword [esp + 0x150], eax
mov eax, dword [0x12fd4f4]
mov dword [esp + 0x154], eax
mov eax, dword [0x12fd4f8]
mov dword [esp + 0x158], eax
mov eax, dword [0x12fd4fc]
mov dword [esp + 0x15c], eax
mov eax, dword [0x157a0a0]
mov dword [esp + 0x160], eax
mov eax, dword [0x157a0a4]
mov dword [esp + 0x164], eax
mov eax, dword [0x157a0a8]
mov dword [esp + 0x168], eax
mov eax, dword [0x157a0ac]
mov dword [esp + 0x16c], eax
mov eax, dword [0x157a0c8]
mov dword [esp + 0x170], eax
mov eax, dword [0x157a0cc]
mov dword [esp + 0x174], eax
mov eax, dword [0x157a0d0]
mov dword [esp + 0x178], eax
mov eax, dword [0x157a0d4]
mov dword [esp + 0x17c], eax
mov eax, dword [0x157a0f0]
mov dword [esp + 0x180], eax
mov eax, dword [0x157a0f4]
mov dword [esp + 0x184], eax
mov eax, dword [0x157a0f8]
mov dword [esp + 0x188], eax
mov eax, dword [0x157a0fc]
mov dword [esp + 0x18c], eax
mov eax, dword [0x157a118]
mov dword [esp + 0x190], eax
mov eax, dword [0x157a11c]
mov dword [esp + 0x194], eax
mov eax, dword [0x157a120]
cmp dword [0x7f9508], ebx
mov dword [esp + 0x198], eax
mov eax, dword [0x157a124]
mov dword [esp + 0x19c], eax
mov eax, dword [0x13b4440]
mov dword [esp + 0xd0], eax
mov eax, dword [0x13b4444]
mov dword [esp + 0xd4], eax
mov eax, dword [0x12fab00]
mov dword [esp + 0xc0], eax
mov eax, dword [0x12fab04]
mov dword [esp + 0xc4], eax
mov eax, dword [0x12fab28]
mov dword [esp + 0x9c], eax
mov eax, dword [0x12fd450]
mov dword [esp + 0xa0], edx
mov edx, dword [0x12fab30]
mov dword [esp + 0xa4], edx
mov edx, dword [0x12fd458]
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x12fd454]
mov dword [esp + 0x84], eax
mov eax, dword [0x12fd45c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
jle 0x43cbfd
cmp dword [0x7f950c], ebx
je 0x43cbfd
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 [0x487174]
mov edx, dword [0x487170]
mov eax, dword [0x178f6c4]
push ecx
push edx
push eax
lea ecx, [esp + 0x8c4]
push ecx
lea edx, [esp + 0xbe8]
push edx
call fcn.004453c0
mov edx, dword [0x178f6c4]
mov esi, eax
mov eax, dword [0x487174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x8d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487170]
push ecx
push edx
lea eax, [esp + 0x248]
push eax
lea ecx, [esp + 0x10ac]
push ecx
call fcn.004453c0
mov edx, dword [0x487174]
push edx
mov esi, eax
mov eax, dword [0x487170]
push eax
mov ecx, 0x31
lea edi, [esp + 0x258]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x178f6c4]
push ecx
lea edx, [esp + 0x43c]
push edx
lea eax, [esp + 0x9b8]
push eax
call fcn.004453c0
add esp, 0x44
mov ecx, 0x31
mov esi, eax
mov edx, dword [0x487170]
mov eax, dword [0x178f6c4]
lea edi, [esp + 0x400]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487174]
push ecx
push edx
push eax
lea ecx, [esp + 0x72c]
push ecx
lea edx, [esp + 0x12e8]
push edx
call fcn.004453c0
mov edx, dword [0x178f6c4]
mov esi, eax
mov eax, dword [0x487174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x738]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487170]
push ecx
push edx
lea eax, [esp + 0x808]
push eax
lea ecx, [esp + 0xd84]
push ecx
call fcn.004453c0
mov edx, dword [0x487174]
push edx
mov esi, eax
mov eax, dword [0x487170]
push eax
mov ecx, 0x31
lea edi, [esp + 0x818]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x178f6c4]
push ecx
lea edx, [esp + 0x5c4]
push edx
lea eax, [esp + 0x1248]
push eax
call fcn.004453c0
mov edx, dword [0x487170]
mov esi, eax
mov eax, dword [0x178f6c4]
mov ecx, 0x31
lea edi, [esp + 0x5cc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487174]
push ecx
push edx
push eax
lea ecx, [esp + 0x6a0]
push ecx
lea edx, [esp + 0xf3c]
push edx
call fcn.004453c0
mov edx, dword [0x178f6c4]
add esp, 0x50
mov esi, eax
mov eax, dword [0x487174]
push eax
mov ecx, 0x31
lea edi, [esp + 0x65c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487170]
push ecx
push edx
lea eax, [esp + 0x2f4]
push eax
lea ecx, [esp + 0x1158]
push ecx
call fcn.004453c0
mov edx, dword [0x487174]
mov esi, eax
mov eax, dword [0x487170]
mov ecx, 0x31
lea edi, [esp + 0x2fc]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, dword [0x178f6c4]
push eax
push ecx
lea edx, [esp + 0x4e8]
push edx
lea eax, [esp + 0xa64]
push eax
call fcn.004453c0
mov edx, dword [0x487170]
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, 0x178f5f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487174]
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, 0x178f5f8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00439fa0
mov eax, dword [0x487174]
add esp, 0xc4
push ebx
push ebx
push ebx
sub esp, 0xc4
mov edi, esp
push eax
mov ecx, 0x31
mov esi, 0x178f5f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487170]
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 [0x487174]
mov eax, dword [0x487170]
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, 0x178f5f8
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.00446850
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.00446850
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.00446850
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.00446850
mov edx, dword [0x487174]
add esp, 0xcc
push 0xff
push ebx
push ebx
sub esp, 0xc4
mov esi, eax
mov eax, dword [0x487170]
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 [0x487170]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487174]
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 [0x487174]
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 [0x487170]
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 [0x487174]
mov eax, dword [0x487170]
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 [0xf1e5ec]
push ecx
push ebx
push ebx
push 5
push 4
push 0x477800
call fcn.004445c0
mov edx, dword [0x7f9508]
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 0x43c100
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 [0x7f9508], ebx
mov eax, dword [esp + 0x54]
mov dword [eax], 0
jle 0x43c0d4
test ebx, ebx
jge 0x43b7f5
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 + 0x7f662c]
mov ecx, esi
mov eax, 0x12fbcd0
jmp 0x43b810
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43b830
test dl, dl
je 0x43b82c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43b830
add eax, 2
add ecx, 2
test dl, dl
jne 0x43b810
xor eax, eax
jmp 0x43b835
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43b85e
push 0
push 0x12fe5c8
push esi
call fcn.0041f4e0
mov edx, 0x12fbcd0
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 0x43b852
mov eax, dword [edi + 0x7f6628]
movsx ecx, byte [eax + 0x12fe5c8]
sub ecx, 0x21
mov dword [esp + 0x18], eax
je 0x43bc35
sub ecx, 2
je 0x43b8b3
sub ecx, 0x5b
je 0x43b8a7
push 0
push 0x27
push 0x22
lea ecx, [esp + 0x15ac]
push ecx
lea edx, [esp + 0x28]
push edx
push 0x12fe5c8
call fcn.0042fb20
add esp, 0x18
jmp 0x43c035
add eax, 2
mov dword [esp + 0x18], eax
jmp 0x43c035
push 0
push 0x3d
push 0xa
add eax, 1
push 0xd
mov dword [esp + 0x28], eax
push 0x173eac0
lea eax, [esp + 0x2c]
push eax
push 0x12fe5c8
call fcn.0042fb20
add esp, 0x1c
cmp byte [0x173eac0], 0x3a
mov ebx, eax
jne 0x43b919
push 0x173eac0
lea ecx, [esp + 0x13a4]
push 0xf1f6f8
push ecx
call fcn.00454348
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43b900
jmp 0x43b9f4
mov edi, 2
mov esi, 0xf206f8
mov ecx, 0x173eac0
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43b950
test dl, dl
je 0x43b94c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43b950
add eax, 2
add ecx, 2
test dl, dl
jne 0x43b930
xor eax, eax
jmp 0x43b955
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43b96c
add esi, 0x1020
add edi, 1
cmp esi, 0xf50cf8
jl 0x43b923
jmp 0x43b9b4
mov edx, edi
imul edx, edx, 0x1020
push 0x173eac0
add edx, 0xf1e6d8
push edx
lea eax, [esp + 0x13a8]
push eax
call fcn.00454348
add esp, 0xc
xor eax, eax
jmp 0x43b9a0
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43b9a0
cmp edi, 0x32
jne 0x43b9f4
push 0x173eac0
lea ecx, [esp + 0x13a4]
push 0xf1e6d8
push ecx
call fcn.00454348
add esp, 0xc
xor eax, eax
jmp 0x43b9e0
mov cl, byte [esp + eax + 0x13a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43b9e0
cmp ebx, 3
jne 0x43bb18
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 0x12fe5c8
mov dword [edx], 1
call fcn.0042fb20
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 [0x4a0be4]
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 0x173eac0
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 [0x4a0be4]
cdq
sub eax, edx
lea edx, [esp + 0x3f4]
jmp 0x43bfc0
push 0
push 0x3d
push 0xa
push 0xd
push 0x173eac0
lea edx, [esp + 0x2c]
push edx
add eax, 1
push 0x12fe5c8
mov dword [esp + 0x34], eax
call fcn.0042fb20
add esp, 0x1c
cmp byte [0x173eac0], 0x3a
mov ebx, eax
jne 0x43bca9
push 0x173eac0
lea eax, [esp + 0x14a4]
push 0xf1f6f8
push eax
call fcn.00454348
add esp, 0xc
xor eax, eax
jmp 0x43bc90
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43bc90
jmp 0x43bd84
mov edi, 2
mov esi, 0xf206f8
mov ecx, 0x173eac0
mov eax, esi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43bce0
test dl, dl
je 0x43bcdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43bce0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43bcc0
xor eax, eax
jmp 0x43bce5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43bcfc
add esi, 0x1020
add edi, 1
cmp esi, 0xf50cf8
jl 0x43bcb3
jmp 0x43bd44
mov ecx, edi
imul ecx, ecx, 0x1020
push 0x173eac0
add ecx, 0xf1e6d8
push ecx
lea edx, [esp + 0x14a8]
push edx
call fcn.00454348
add esp, 0xc
xor eax, eax
jmp 0x43bd30
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43bd30
cmp edi, 0x32
jne 0x43bd84
push 0x173eac0
lea eax, [esp + 0x14a4]
push 0xf1e6d8
push eax
call fcn.00454348
add esp, 0xc
xor eax, eax
jmp 0x43bd70
mov cl, byte [esp + eax + 0x14a0]
mov byte [eax + 0x173eac0], cl
add eax, 1
test cl, cl
jne 0x43bd70
cmp ebx, 3
jne 0x43bea8
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 0x12fe5c8
mov dword [ecx], 1
call fcn.0042fb20
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 [0x4a0be4]
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 0x173eac0
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 [0x4a0be4]
cdq
sub eax, edx
lea edx, [esp + 0x3d4]
add esp, 0x24
push 0
push 1
push 0x173eac0
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 0x12fe5c8
call fcn.0042fb20
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 0x12fe5c8
call fcn.0042fb20
mov eax, dword [0x4a0be4]
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 0x43b7d5
jmp 0x43c100
push 1
mov dword [esp + 0x2c], ecx
call dword [0x476080]
mov eax, dword [0x12f8a14]
cmp eax, 1
je 0x43cabf
mov edx, dword [0x487170]
push 0
push 0
sub esp, 0xc4
mov edi, esp
mov ecx, 0x31
mov esi, 0x178f5f8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x487174]
push ecx
push edx
push 0
push 0
call fcn.00445240
mov eax, dword [0x487174]
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 [0x487170]
push ecx
push 0
push 0
sub esp, 0xc4
mov ecx, 0x31
mov esi, 0x178f5f8
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.00445b50
push eax
call fcn.0044b620
add esp, 0xd8
push 1
movzx ebx, al
call dword [0x476080]
mov ecx, dword [0x12f8a14]
cmp ecx, 1
je 0x43cabf
xor esi, esi
cmp ebx, esi
je 0x43c525
cmp ebx, 0xa
je 0x43c20e
cmp ebx, 0x14
je 0x43c20e
cmp ebx, 0x1e
je 0x43c20e
cmp ebx, 0x28
jne 0x43c233
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 0x43c3ba
jmp 0x43c238
mov edi, 1
cmp ebx, 0xffffffff
je 0x43c2cf
cmp dword [esp + 0x94], ebx
je 0x43c263
mov ecx, dword [0xf1e5e8]
push ecx
push esi
push esi
push 7
push edi
push str.SYS_OV
call fcn.004445c0
add esp, 0x18
mov edx, dword [0x487174]
mov eax, dword [0x487170]
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, 0x178f5f8
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 0x43c3d5
cmp ebx, 0x3c
je 0x43c3d5
cmp ebx, 0x46
je 0x43c3d5
cmp ebx, 0x50
je 0x43c3d5
lea ecx, [esp + 0xb0]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call fcn.004499a0
add esp, 8
test eax, eax
je case.0x43c3fe.51
lea eax, [ebx - 0xa]
cmp eax, 0x5a
ja case.0x43c3fe.51
movzx edx, byte [eax + 0x43cc28]
jmp dword [edx*4 + 0x43cc18]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jg 0x43c355
mov edx, dword [esp + 0x60]
add edx, ecx
cmp eax, edx
jg 0x43c355
mov dword [esp + 0x2c], edi
mov dword [esp + 0xac], ecx
jmp case.0x43c3fe.51
mov dword [esp + 0x50], edi
jmp case.0x43c3fe.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 0x43c3b1
mov eax, dword [0xf1e5ec]
push eax
push 0
push 0
push 5
push 4
push 0x477800
call fcn.004445c0
imul esi, esi, 0xff
mov ecx, dword [0xf1e5ec]
push ecx
push 0
push 0
push 5
lea edx, [esp + esi + 0x15c9]
push edi
push edx
call fcn.004445c0
add esp, 0x30
xor esi, esi
mov dword [esp + 0x94], ebx
push esi
call fcn.00449960
add esp, 4
cmp eax, 2
jne 0x43c52f
add dword [esp + 0xc], edi
jmp 0x43c537
lea eax, [esp + 0xb0]
push 0xffffffffffffffff
push eax
call fcn.004499f0
add esp, 8
test eax, eax
je 0x43c518
lea eax, [ebx - 0x32]
cmp eax, 0x1e
ja case.0x43c3fe.51
movzx ecx, byte [eax + 0x43cc98]
jmp dword [ecx*4 + 0x43cc84]
mov eax, dword [esp + 0x40]
sub eax, esi
je 0x43c43d
sub eax, edi
je 0x43c41c
sub eax, edi
jne case.0x43c3fe.51
sub dword [esp + 0xc], 4
jmp case.0x43c3fe.51
call dword [0x476370]
mov edx, dword [esp + 0x74]
add edx, 0x12c
cmp edx, eax
jae case.0x43c3fe.51
mov dword [esp + 0x40], 2
jmp case.0x43c3fe.51
mov dword [esp + 0x40], edi
call dword [0x476370]
sub dword [esp + 0xc], 4
mov dword [esp + 0x74], eax
jmp case.0x43c3fe.51
mov eax, dword [esp + 0x44]
sub eax, esi
je 0x43c473
sub eax, edi
je 0x43c4dc
sub eax, edi
jne case.0x43c3fe.51
add dword [esp + 0xc], 4
jmp case.0x43c3fe.51
mov dword [esp + 0x44], edi
call dword [0x476370]
add dword [esp + 0xc], 4
mov dword [esp + 0x78], eax
jmp case.0x43c3fe.51
mov eax, dword [esp + 0x40]
sub eax, esi
je 0x43c4a8
sub eax, edi
je 0x43c41c
sub eax, edi
jne case.0x43c3fe.51
sub dword [esp + 0xc], edi
jmp case.0x43c3fe.51
mov dword [esp + 0x40], edi
call dword [0x476370]
sub dword [esp + 0xc], edi
mov dword [esp + 0x74], eax
jmp case.0x43c3fe.51
mov eax, dword [esp + 0x44]
sub eax, esi
je 0x43c501
sub eax, edi
je 0x43c4dc
sub eax, edi
jne case.0x43c3fe.51
add dword [esp + 0xc], edi
jmp case.0x43c3fe.51
call dword [0x476370]
mov ecx, dword [esp + 0x78]
add ecx, 0x12c
cmp ecx, eax
jae case.0x43c3fe.51
mov dword [esp + 0x44], 2
jmp case.0x43c3fe.51
mov dword [esp + 0x44], edi
call dword [0x476370]
add dword [esp + 0xc], edi
mov dword [esp + 0x78], eax
jmp case.0x43c3fe.51
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
jmp case.0x43c3fe.51
mov edi, 1
jmp case.0x43c3fe.51
cmp eax, edi
jne 0x43c537
sub dword [esp + 0xc], edi
cmp dword [0xf1e5c8], esi
jne 0x43c5f5
push 0xd0
call fcn.00449cb0
mov ebx, dword [0x476370]
add esp, 4
cmp eax, edi
jne 0x43c59a
mov eax, dword [esp + 0x30]
sub eax, esi
je 0x43c58a
sub eax, edi
je 0x43c570
sub eax, edi
jne 0x43c59e
add dword [esp + 0xc], edi
jmp 0x43c59e
call ebx
mov edx, dword [esp + 0x64]
add edx, 0x12c
cmp edx, eax
jae 0x43c59e
mov dword [esp + 0x30], 2
jmp 0x43c59e
mov dword [esp + 0x30], edi
call ebx
add dword [esp + 0xc], edi
mov dword [esp + 0x64], eax
jmp 0x43c59e
mov dword [esp + 0x30], esi
push 0xc8
call fcn.00449cb0
add esp, 4
cmp eax, edi
jne 0x43c5ef
mov eax, dword [esp + 0x34]
sub eax, esi
je 0x43c5df
sub eax, edi
je 0x43c5c5
sub eax, edi
jne 0x43c5fb
sub dword [esp + 0xc], edi
jmp 0x43c5fb
call ebx
mov ecx, dword [esp + 0x68]
add ecx, 0x12c
cmp ecx, eax
jae 0x43c5fb
mov dword [esp + 0x34], 2
jmp 0x43c5fb
mov dword [esp + 0x34], edi
call ebx
sub dword [esp + 0xc], edi
mov dword [esp + 0x68], eax
jmp 0x43c5fb
mov dword [esp + 0x34], esi
jmp 0x43c5fb
mov ebx, dword [0x476370]
push 0xd1
call fcn.00449cb0
add esp, 4
cmp eax, edi
jne 0x43c64e
mov eax, dword [esp + 0x38]
sub eax, esi
je 0x43c63d
sub eax, edi
je 0x43c623
sub eax, edi
jne 0x43c652
add dword [esp + 0xc], 4
jmp 0x43c652
call ebx
mov edx, dword [esp + 0x6c]
add edx, 0x12c
cmp edx, eax
jae 0x43c652
mov dword [esp + 0x38], 2
jmp 0x43c652
mov dword [esp + 0x38], edi
call ebx
add dword [esp + 0xc], 4
mov dword [esp + 0x6c], eax
jmp 0x43c652
mov dword [esp + 0x38], esi
push 0xc9
call fcn.00449cb0
add esp, 4
cmp eax, edi
jne 0x43c6a5
mov eax, dword [esp + 0x3c]
sub eax, esi
je 0x43c694
sub eax, edi
je 0x43c67a
sub eax, edi
jne 0x43c6a9
sub dword [esp + 0xc], 4
jmp 0x43c6a9
call ebx
mov ecx, dword [esp + 0x70]
add ecx, 0x12c
cmp ecx, eax
jae 0x43c6a9
mov dword [esp + 0x3c], 2
jmp 0x43c6a9
mov dword [esp + 0x3c], edi
call ebx
sub dword [esp + 0xc], 4
mov dword [esp + 0x70], eax
jmp 0x43c6a9
mov dword [esp + 0x3c], esi
push 0xc7
call fcn.00449cb0
add esp, 4
cmp eax, edi
jne 0x43c6be
mov dword [esp + 0xc], esi
push 0xcf
call fcn.00449cb0
add esp, 4
cmp eax, edi
jne 0x43c6d7
mov dword [esp + 0xc], 0x1f4
cmp dword [esp + 0x50], edi
jne 0x43c791
mov edx, dword [0x7f9508]
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.004499f0
add esp, 8
test eax, eax
jne 0x43c716
mov dword [esp + 0x50], esi
jmp 0x43c763
fild dword [esp + 0xbc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fmul qword [0x47ece8]
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 0x43c754
add dword [esp + 0xc], edi
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x43c763
fsubrp st(2)
fcompp
fnstsw ax
test ah, 5
jp 0x43c763
sub dword [esp + 0xc], edi
mov eax, dword [esp + 0xb8]
cmp eax, esi
jl 0x43c776
cmp eax, dword [0x487170]
jle 0x43c77a
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0xbc]
cmp eax, esi
jl 0x43c78d
cmp eax, dword [0x487174]
jle 0x43c791
mov dword [esp + 0x50], esi
cmp dword [0x7f9508], 4
jle 0x43c8b8
cmp dword [esp + 0x2c], edi
jne 0x43c980
lea ecx, [esp + 0x7c]
push 0xffffffffffffffff
push ecx
call fcn.004499f0
add esp, 8
test eax, eax
jne 0x43c86d
fild dword [esp + 0xac]
mov edx, dword [0x7f9508]
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 0x43c7ff
mov eax, esi
mov dword [esp + 0x80], eax
mov edi, dword [esp + 0x58]
cmp eax, edi
jle 0x43c80e
mov dword [esp + 0x80], edi
fild dword [esp + 0x80]
mov ecx, 1
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
fld qword [0x47ece8]
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 0x43c84b
add dword [esp + 0xc], ecx
fadd st(3)
fstp dword [esp + 0x10]
jmp 0x43c82e
fld st(0)
fsub st(3)
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x43c98a
fsub st(3)
mov ecx, 1
sub dword [esp + 0xc], ecx
fstp dword [esp + 0x10]
jmp 0x43c82e
mov eax, dword [esp + 0x7c]
cmp eax, esi
jl 0x43c87d
cmp eax, dword [0x487170]
jle 0x43c881
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x80]
cmp eax, esi
jl 0x43c894
cmp eax, dword [0x487174]
jle 0x43c898
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x4c]
cmp eax, esi
mov dword [esp + 0x14], eax
jge 0x43c8a8
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x14], edi
jle 0x43c8c0
mov dword [esp + 0x14], edi
jmp 0x43c8c0
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x2c], 1
jne 0x43c992
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, 0x178f5f8
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 0x43ca00
lea ecx, [esp + 0xb0]
push ecx
call fcn.00449af0
add esp, 4
cmp eax, 1
je 0x43cb6c
push 5
call dword [0x476080]
mov edx, dword [0x12f8a14]
cmp edx, 1
je 0x43cabf
mov ecx, dword [esp + 0xc]
jmp 0x43c100
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x4c]
jmp 0x43c992
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(0)
mov eax, dword [0x7f9508]
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 0x43c9c4
mov ebx, edi
fstp st(0)
mov dword [esp + 0x14], ebx
jmp 0x43c8cf
fidivr dword [esp + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fimul dword [esp + 0xc]
fiadd dword [esp + 0x4c]
call fcn.004546e0
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x14], ebx
jge 0x43c9ed
mov ebx, esi
mov dword [esp + 0x14], esi
cmp ebx, edi
jle 0x43c8cf
mov ebx, edi
mov dword [esp + 0x14], ebx
jmp 0x43c8cf
mov eax, dword [0x7f9508]
add eax, 0xfffffffc
cmp ecx, eax
jle 0x43ca12
mov ecx, eax
mov dword [esp + 0xc], ecx
test ecx, ecx
jge 0x43ca1e
mov dword [esp + 0xc], 0
mov eax, dword [0x487174]
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 [0x487170]
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 [0x487174]
mov eax, dword [0x487170]
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 0x43b7a2
call fcn.00445b70
lea eax, [esp + 0x8b0]
push eax
call fcn.004467a0
lea ecx, [esp + 0x224]
push ecx
call fcn.004467a0
lea edx, [esp + 0x408]
push edx
call fcn.004467a0
lea eax, [esp + 0x72c]
push eax
call fcn.004467a0
lea ecx, [esp + 0x7f8]
push ecx
call fcn.004467a0
lea edx, [esp + 0x5a4]
push edx
call fcn.004467a0
lea eax, [esp + 0x670]
push eax
call fcn.004467a0
lea ecx, [esp + 0x304]
push ecx
call fcn.004467a0
lea edx, [esp + 0x4e8]
push edx
call fcn.004467a0
add esp, 0x24
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a98]
xor ecx, esp
call fcn.004541b4
mov esp, ebp
pop ebp
ret
mov ecx, dword [0xf1e5e8]
push ecx
push esi
push esi
push 7
push edi
push str.SYS_OK
call fcn.004445c0
add esp, 0x18
mov edx, dword [0xf1e5ec]
push edx
push 0
push 0
push 5
push 4
push 0x477800
call fcn.004445c0
lea eax, [esp + 0x8c8]
push eax
call fcn.004467a0
lea ecx, [esp + 0x23c]
push ecx
call fcn.004467a0
lea edx, [esp + 0x420]
push edx
call fcn.004467a0
lea eax, [esp + 0x744]
push eax
call fcn.004467a0
lea ecx, [esp + 0x810]
push ecx
call fcn.004467a0
lea edx, [esp + 0x5bc]
push edx
call fcn.004467a0
lea eax, [esp + 0x688]
push eax
call fcn.004467a0
lea ecx, [esp + 0x31c]
push ecx
call fcn.004467a0
lea edx, [esp + 0x500]
push edx
call fcn.004467a0
add esp, 0x3c
mov ecx, dword [esp + 0x1aa4]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004541b4
mov esp, ebp
pop ebp
ret