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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x100]
cmp eax, dword [ecx + 8]
jbe 0x40241d
sub esp, 0x180
mov ebx, dword [0x6d9d2c]
cmp ebx, 1
jl 0x402288
mov ebx, 0x5f59b0
mov dword [esp], ebx
mov dword [esp + 4], 3
mov ebx, 0x5f9b4a
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x13
call fcn.004b0060
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xa8], ebx
call fcn.004a7a60
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x168], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x16c], ebx
mov edx, 0x65a0bc00
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x160], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x164], ebp
mov dword [esp + 0x7c], 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.0044b3b0
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 + 0x160], eax
mov dword [esp + 0x164], 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.0044b3b0
mov edi, dword [esp + 0x164]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x402408
mul esi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
sub eax, ebx
sbb edx, ecx
mov ecx, eax
mov ebx, dword [esp + 0x168]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x4023e0
mov eax, dword [esp + 0x160]
add eax, 1
adc edi, 0
mov dword [esp + 0x160], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x160]
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x110], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x114], edi
mov dword [esp + 8], edi
mov dword [esp + 0x118], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx + 0x24]
call ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xa4]
cmp ebx, 0
je 0x4023d9
lea ebx, [ebx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428960
cmp eax, 0
jne 0x4023cc
mov dword [esp], 0x5e7fe0
call fcn.0040e800
mov ecx, dword [esp + 4]
mov eax, 0x1b
mov byte [ecx], al
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp], 0x5ca4e0
mov ebx, dword [esp + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
call fcn.0040c170
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd0], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c40
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040b9b0
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 + 0xcc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x9c]
mov eax, 0x5b10c0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], ecx
call fcn.004cb880
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x9c], ebx
mov dword [esp], 0x5ca420
mov ebx, dword [esp + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
call fcn.0040c170
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc8], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c40
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040b9b0
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 + 0xc4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x9c]
mov eax, 0x5b10c0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], ecx
call fcn.004ca750
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 [0x6c4874]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x140], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x14c], 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 0x4023b7
mul esi
mov ecx, edx
mov edx, eax
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov eax, dword [esp + 0x140]
mov dword [esp + 0x78], eax
mov dword [esp + 0x144], 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.0044b3b0
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 + 0x140], eax
mov dword [esp + 0x144], 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.0044b3b0
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4023a2
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 + 0x148]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x40237a
mov eax, dword [esp + 0x140]
add eax, 1
adc edi, 0
mov dword [esp + 0x140], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x140]
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x120], ebp
mov dword [esp + 0x130], ebp
mov dword [esp + 0x124], edi
mov dword [esp + 0x134], edi
mov dword [esp + 0x128], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x12c], eax
mov dword [esp + 0x13c], eax
mov dword [esp], 0xb2d05e00
mov dword [esp + 4], 0
call fcn.004432e0
mov ebx, 0x5f59b0
mov dword [esp], ebx
mov dword [esp + 4], 3
mov ebx, 0x5f9b4a
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x13
call fcn.004b0060
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
call fcn.004a7a60
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x17c], ebx
mov edx, 0x65a0bc00
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x170], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x174], ebp
mov dword [esp + 0x74], ebp
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.0044b3b0
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 + 0x170], eax
mov dword [esp + 0x174], 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.0044b3b0
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x402365
mul esi
mov ecx, edx
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub ebp, eax
sbb edx, ecx
mov ebx, dword [esp + 0x178]
add ebp, ebx
mov ecx, ebp
cmp ebp, 0x3b9aca00
jl 0x40233d
mov eax, dword [esp + 0x170]
add eax, 1
adc edi, 0
mov dword [esp + 0x170], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x170]
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x100], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x104], edi
mov dword [esp + 8], edi
mov dword [esp + 0x108], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb4]
mov ebx, dword [ebx + 0x24]
call ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xb4]
cmp ebx, 0
je 0x402336
lea ebx, [ebx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428960
cmp eax, 0
jne 0x402329
mov dword [esp], 0x5e7fe0
call fcn.0040e800
mov eax, dword [esp + 4]
mov ecx, 0x1b
mov byte [eax], cl
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov dword [esp], 0x5ca4e0
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], ebx
call fcn.0040c170
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd0], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c40
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040b9b0
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 + 0xcc]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x9c]
mov eax, 0x5b10c0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], ecx
call fcn.004cb880
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x9c], ebx
mov dword [esp], 0x5ca420
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], ebx
call fcn.0040c170
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc8], ebx
mov dword [esp], 0x6b3700
mov ebx, 0x6d9c40
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040b9b0
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 + 0xc4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x9c]
mov eax, 0x5b10c0
mov dword [esp + 0xbc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], ecx
call fcn.004ca750
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 [0x6c4874]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x150], ebx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0x94]
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 0x402314
mul esi
mov ecx, edx
mov edx, eax
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov eax, dword [esp + 0x150]
mov dword [esp + 0x70], eax
mov dword [esp + 0x154], edi
mov dword [esp + 0x74], edi
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.0044b3b0
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 + 0x150], eax
mov dword [esp + 0x154], 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.0044b3b0
mov edi, dword [esp + 0x154]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4022ff
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 + 0x158]
add ecx, ebx
cmp ecx, 0x3b9aca00
jl 0x4022d7
mov eax, dword [esp + 0x150]
add eax, 1
adc edi, 0
mov dword [esp + 0x150], eax
sub ecx, 0x3b9aca00
mov ebp, dword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov dword [esp + 0xf0], ebp
mov dword [esp], ebp
mov dword [esp + 0xf4], edi
mov dword [esp + 4], edi
mov dword [esp + 0xf8], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xfc], eax
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x1c], ebx
call fcn.004a70f0
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.0044b3b0
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.0044b3b0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4022c2
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 [0x619860]
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, 3
jl 0x402288
mov ebx, 0x5f9f6a
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], 0x14
mov dword [esp], 0x5c
mov dword [esp + 4], 0x6d
call fcn.00401390
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp], 0
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xd8], eax
mov dword [esp + 0x10], eax
call fcn.0043fd10
lea ebx, [esp + 0x14]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00461ee0
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], eax
cmp eax, 0
je 0x4022bb
mov ecx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov dword [esp + 0xe0], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xdc], ecx
cmp ecx, 0
je 0x4022b4
lea ebx, [ecx + 0x14]
mov dword [esp], 0xc
mov dword [esp + 4], ebx
call fcn.00428960
cmp eax, 0
jne 0x4022a7
mov dword [esp], 0x5ca420
mov eax, dword [esp + 0xa0]
cmp eax, 0
je 0x4022a0
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.0040c170
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.0045ee30
mov ebx, dword [esp + 8]
mov dword [esp + 0xe4], ebx
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], 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 + 0x90], ebx
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
xor eax, eax
mov dword [esp + 0x30], ecx
mov ecx, edx
mov ebp, dword [esp + 0x30]
cmp eax, ebp
jge 0x40225c
movzx ebp, byte [ecx]
mov esi, dword [esp + 0x90]
cmp esi, 0
je 0x40229c
cmp eax, 0xf1b30
jae 0x402295
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 0x402236
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.004430b0
nop
call fcn.00429830
add esp, 0x180
ret
call fcn.00428680
ud2
mov dword [esi], eax
jmp 0x402245
mov dword [eax], eax
jmp 0x4021a8
nop
call fcn.00429830
add esp, 0x180
ret
mov dword [ecx], eax
jmp 0x402175
mov dword [eax], eax
jmp 0x402154
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x40200c
cmp ecx, 0
jge 0x401f04
mov eax, dword [esp + 0x150]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x150], eax
add ecx, 0x3b9aca00
jmp 0x401f04
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401ec3
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401dff
nop
call fcn.00429830
add esp, 0x180
ret
mov dword [ebx], eax
jmp 0x401bdb
cmp ebp, 0
jge 0x401b70
mov eax, dword [esp + 0x170]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x170], eax
add ecx, 0x3b9aca00
jmp 0x401b70
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x401b31
cmp ecx, 0
jge 0x4019af
mov eax, dword [esp + 0x140]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x140], eax
add ecx, 0x3b9aca00
jmp 0x4019af
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x40196e
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4018aa
nop
call fcn.00429830
add esp, 0x180
ret
mov dword [ebx], eax
jmp 0x401686
cmp ecx, 0
jge 0x40161b
mov eax, dword [esp + 0x160]
sub eax, 1
sbb edi, 0
mov dword [esp + 0x160], eax
add ecx, 0x3b9aca00
jmp 0x40161b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4015da
call fcn.00450db0
jmp fcn.00401480