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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x128]
cmp eax, dword [ecx + 8]
jbe 0x40252c
sub esp, 0x1a8
xor eax, eax
lea edi, [esp + 0x18c]
call fcn.00452fb9
mov ebx, dword [0x6d9d0c]
cmp ebx, 1
jl 0x40236e
mov ebx, 0x5f5a50
mov dword [esp], ebx
mov dword [esp + 4], 3
mov ebx, 0x5f9bea
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x13
call fcn.004d78f0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xac], ebx
call fcn.004a7b10
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x164], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x168], ebx
mov edx, 0x65a0bc00
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x160], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x58], edx
mov dword [esp], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
add eax, ebx
adc edx, ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], edx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov edi, dword [esp + 0x160]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x402517
mul esi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
sub eax, ebx
sbb edx, ecx
mov ecx, eax
mov ebx, dword [esp + 0x164]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x4024ef
mov eax, dword [esp + 0x15c]
add eax, 1
adc edi, 0
mov dword [esp + 0x15c], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x15c]
mov eax, dword [esp + 0x168]
mov dword [esp + 0x11c], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x120], edi
mov dword [esp + 8], edi
mov dword [esp + 0x124], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xac]
mov dword [esp], ebx
mov ebx, dword [esp + 0xa8]
mov ebx, dword [ebx + 0x24]
call ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xa8]
cmp ebx, 0
je 0x4024e8
lea ebx, [ebx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428a80
cmp eax, 0
jne 0x4024db
mov dword [esp], 0x5e8080
call fcn.0040e920
mov ecx, dword [esp + 4]
mov eax, 0x1b
mov byte [ecx], al
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp], 0x5ca580
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
call fcn.0040c290
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c20
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bad0
lea ebx, [esp + 0xc]
lea edi, [esp + 8]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa4]
mov eax, 0x5b1160
mov dword [esp + 0xc0], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x14], ecx
call fcn.004f3110
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xa4], ebx
mov dword [esp], 0x5ca4c0
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
call fcn.0040c290
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c20
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bad0
lea ebx, [esp + 0xc]
lea edi, [esp + 8]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa4]
mov eax, 0x5b1160
mov dword [esp + 0xc0], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x14], ecx
call fcn.004f1fe0
mov dword [esp], 0x76c
mov dword [esp + 4], 1
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov ebx, dword [0x6c4870]
mov dword [esp + 0x1c], ebx
call fcn.004a7cc0
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x14c], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x154], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x9c]
mov eax, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
xor edx, edx
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4024c6
mul esi
mov ecx, edx
mov edx, eax
xor ebx, ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x150], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x60], edx
mov dword [esp], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
add eax, ebx
adc edx, ecx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], edx
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov edi, dword [esp + 0x150]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4024b1
mul esi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
sub eax, ebx
sbb edx, ecx
mov ecx, eax
mov ebx, dword [esp + 0x154]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x402489
mov eax, dword [esp + 0x14c]
add eax, 1
adc edi, 0
mov dword [esp + 0x14c], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x14c]
mov eax, dword [esp + 0x158]
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x110], edi
mov dword [esp + 0x140], edi
mov dword [esp + 0x114], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x148], eax
mov dword [esp], 0xee6b2800
mov dword [esp + 4], 0
call fcn.00443400
mov ebx, 0x5f5a50
mov dword [esp], ebx
mov dword [esp + 4], 3
mov ebx, 0x5f9bea
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x13
call fcn.004d78f0
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb4], ebx
call fcn.004a7b10
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x184], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x188], ebx
mov edx, 0x65a0bc00
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x17c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x180], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x48], edx
mov dword [esp], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add eax, ebx
adc edx, ecx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], edx
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov edi, dword [esp + 0x180]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x402474
mul esi
mov ecx, edx
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
sub ebp, eax
sbb edx, ecx
mov ebx, dword [esp + 0x184]
add ebp, ebx
mov ecx, ebp
cmp ebp, 0x3b9aca00
jl 0x40244c
mov eax, dword [esp + 0x17c]
add eax, 1
adc edi, 0
mov dword [esp + 0x17c], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x17c]
mov eax, dword [esp + 0x188]
mov dword [esp + 0xfc], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x100], edi
mov dword [esp + 8], edi
mov dword [esp + 0x104], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xb4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb0]
mov ebx, dword [ebx + 0x24]
call ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xb0]
cmp ebx, 0
je 0x402445
lea ebx, [ebx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428a80
cmp eax, 0
jne 0x402438
mov dword [esp], 0x5e8080
call fcn.0040e920
mov eax, dword [esp + 4]
mov ecx, 0x1b
mov byte [eax], cl
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], eax
mov dword [esp], 0x5ca580
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
call fcn.0040c290
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c20
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bad0
lea ebx, [esp + 0xc]
lea edi, [esp + 8]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa4]
mov eax, 0x5b1160
mov dword [esp + 0xc0], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x14], ecx
call fcn.004f3110
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xa4], ebx
mov dword [esp], 0x5ca4c0
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
call fcn.0040c290
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c20
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040bad0
lea ebx, [esp + 0xc]
lea edi, [esp + 8]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xa4]
mov eax, 0x5b1160
mov dword [esp + 0xc0], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x14], ecx
call fcn.004f1fe0
mov dword [esp], 0x76c
mov dword [esp + 4], 1
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov ebx, dword [0x6c4870]
mov dword [esp + 0x1c], ebx
call fcn.004a7cc0
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x16c], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x174], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x98]
mov eax, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
xor edx, edx
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x402423
mul esi
mov ecx, edx
mov edx, eax
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x170], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x50], edx
mov dword [esp], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add eax, ebx
adc edx, ecx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov edi, dword [esp + 0x170]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x40240e
mul esi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub eax, ebx
sbb edx, ecx
mov ecx, eax
mov ebx, dword [esp + 0x174]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x4023e6
mov eax, dword [esp + 0x16c]
add eax, 1
adc edi, 0
mov dword [esp + 0x16c], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x16c]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x12c], ebp
mov dword [esp], ebp
mov dword [esp + 0x130], edi
mov dword [esp + 4], edi
mov dword [esp + 0x134], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x138], eax
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x1c], ebx
call fcn.004a71a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x68], edx
mov dword [esp], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call fcn.0044b4d0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4023d1
mul esi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
fild qword [esp + 0x38]
fstp qword [esp + 0x88]
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x88], xmm0
fild qword [esp + 0x40]
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, qword [0x619980]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x88]
addsd xmm1, xmm0
movsd qword [esp + 0x88], xmm1
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [esp + 0x88]
cvttsd2si ebx, xmm0
cmp ebx, 4
jl 0x40236e
mov dword [esp], 0x5ee120
call fcn.0040e920
mov edi, dword [esp + 4]
mov dword [esp + 0xa0], edi
cmp edi, 0
je 0x4023ca
xor eax, eax
call fcn.00452f98
mov dword [esp], 0x5ed3c0
call fcn.0040e920
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4023c3
xor eax, eax
call fcn.00452f8f
mov eax, 1
mov byte [ecx + 0x40], al
mov ebx, dword [esp + 0xa0]
cmp ebx, 0
je 0x4023bc
cmp byte [0x6d9e18], 0
jne 0x4023a8
mov dword [ebx + 0x54], ecx
mov ecx, dword [esp + 0xa0]
xor ebx, ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov eax, 0x6b0ad0
mov dword [esp + 0xe8], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0xec], ecx
mov dword [esp + 0x190], ecx
mov ebx, 0x5fc66a
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 0x1b
mov dword [esp], 0x5c
mov dword [esp + 4], 0xdc
call fcn.00401390
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp], 0
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xdc], eax
mov dword [esp + 0x10], eax
call fcn.0043fe30
lea ebx, [esp + 0x14]
lea edi, [esp + 4]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
lea ebx, [esp + 0x18c]
mov dword [esp], ebx
call fcn.00462000
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
cmp eax, 0
je 0x4023a1
mov ecx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov dword [esp + 0xe4], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xe0], ecx
cmp ecx, 0
je 0x40239a
lea ebx, [ecx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428a80
cmp eax, 0
jne 0x40238d
mov dword [esp], 0x5ca4c0
mov eax, dword [esp + 0x90]
cmp eax, 0
je 0x402386
add eax, 0x20
lea edi, [esp + 4]
cld
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
call fcn.0040c290
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.0045ef50
mov ebx, dword [esp + 8]
mov dword [esp + 0xf0], ebx
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf4], eax
mov dword [esp], eax
call fcn.00401040
mov ebx, dword [esp + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x94], ebx
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
mov dword [esp + 0x30], ecx
mov ecx, edx
mov ebp, dword [esp + 0x30]
cmp eax, ebp
jge 0x402342
movzx ebp, byte [ecx]
mov esi, dword [esp + 0x94]
cmp esi, 0
je 0x402382
cmp eax, 0xf1b30
jae 0x40237b
add esi, eax
xchg ebp, eax
mov byte [esi], al
xchg ebp, eax
inc ecx
inc eax
mov ebp, dword [esp + 0x30]
cmp eax, ebp
jl 0x40231c
mov ebx, dword [esp + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004431d0
nop
call fcn.00429950
add esp, 0x1a8
ret
call fcn.004287a0
ud2
mov dword [esi], eax
jmp 0x40232b
mov dword [eax], eax
jmp 0x40228e
nop
call fcn.00429950
add esp, 0x1a8
ret
mov dword [ecx], eax
jmp 0x40225b
mov dword [eax], eax
jmp 0x40223a
lea esi, [ebx + 0x54]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f2f0
jmp 0x40213e
mov dword [ebx], eax
jmp 0x40212e
mov dword [ecx], eax
jmp 0x40210f
mov dword [edi], eax
jmp 0x4020ed
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x40201a
cmp ecx, 0
jge 0x401f12
mov eax, dword [esp + 0x16c]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x16c], eax
add ecx, 0x3b9aca00
jmp 0x401f12
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401ed1
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401e0d
nop
call fcn.00429950
add esp, 0x1a8
ret
mov dword [ebx], eax
jmp 0x401be9
cmp ebp, 0
jge 0x401b7e
mov eax, dword [esp + 0x17c]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x17c], eax
add ecx, 0x3b9aca00
jmp 0x401b7e
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401b3f
cmp ecx, 0
jge 0x4019bd
mov eax, dword [esp + 0x14c]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x14c], eax
add ecx, 0x3b9aca00
jmp 0x4019bd
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x40197c
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4018b8
nop
call fcn.00429950
add esp, 0x1a8
ret
mov dword [ebx], eax
jmp 0x401694
cmp ecx, 0
jge 0x401629
mov eax, dword [esp + 0x15c]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x15c], eax
add ecx, 0x3b9aca00
jmp 0x401629
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4015e8
call fcn.00450ed0
jmp fcn.00401480