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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov eax, dword [0x464504]
mov esi, dword [ebp + 0x14]
cmp dword [ebp + 0x10], 0
lea ecx, [esp + 0x40]
mov dword [0x464504], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], str.OStrings.StdRealToStringForm
jg 0x404099
push 0x464504
push 0x14
call fcn.00401380
add esp, 8
push 0x275
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x18]
test esi, esi
js 0x4040a7
cmp esi, eax
jl 0x4040d0
push 0x464504
push 0x15
call fcn.00401380
add esp, 8
push 0x276
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov eax, dword [ebp + 0x24]
add esp, 0xc
movsd xmm0, qword [ebp + 8]
cmp ebx, 3
jg 0x4040e0
neg eax
cmp eax, ebx
jl 0x40410b
push 0x464504
push 0x16
call fcn.00401380
add esp, 8
push 0x277
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
movsd xmm0, qword [ebp + 8]
add esp, 0xc
movzx esi, word [ebp + 0x1c]
sub esp, 0xc
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
movsd qword [esp], xmm0
call fcn.00424ff1
add esp, 0xc
fstp qword [esp + 0x80]
mov ecx, dword [esp + 0x38]
cmp ecx, 0x7fffffff
jne 0x404192
movsd xmm0, qword [esp + 0x80]
movzx eax, si
mov bx, 0x8f
cmp eax, 0x30
cmovne bx, si
ucomisd xmm0, qword [0x43d3d8]
jne 0x4042a8
jp 0x4042a8
movzx eax, word [0x43d78a]
movsd xmm0, qword [str._inf]
mov esi, dword [ebp + 0x14]
mov edx, 4
mov word [esp + 0x90], ax
movsd qword [esp + 0x88], xmm0
jmp 0x404393
mov eax, dword [0x43d78c]
movsd xmm2, qword [ebp + 8]
xorpd xmm0, xmm0
xor edx, edx
mov dword [esp + 0x88], eax
movzx eax, word [0x43d790]
ucomisd xmm0, xmm2
mov word [esp + 0x8c], ax
seta al
ja 0x4041c7
movapd xmm1, xmm2
jmp 0x4041d3
movapd xmm1, xmmword [0x43d220]
xorpd xmm1, xmm2
mov esi, dword [ebp + 0x14]
mov dl, al
ucomisd xmm1, xmm0
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
mov edx, 1
jne 0x4041f1
jnp 0x40474a
imul eax, ecx, 0x7597
movapd xmmword [esp + 0x10], xmm1
add eax, 0xfffc5348
push 0x186a0
push eax
call fcn.00401830
add esp, 8
mov edi, eax
test edi, edi
mov dword [esp + 0x38], edi
jle 0x4042da
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
movsd qword [esp + 0x28], xmm0
sub esp, 0x10
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
add esp, 0x10
fstp qword [esp + 0x58]
movapd xmm0, xmmword [esp + 0x10]
divsd xmm0, qword [esp + 0x58]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004017a0
add esp, 8
mov esi, eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
movapd xmm1, xmmword [esp + 0x20]
add esp, 0x10
fstp qword [esp + 0x50]
divsd xmm1, qword [esp + 0x50]
jmp 0x40453f
ucomisd xmm0, qword [0x43d3d0]
mov esi, dword [ebp + 0x14]
jne 0x404378
jp 0x404378
mov dword [esp + 0x8c], 0x66
mov dword [esp + 0x88], 0x6e0069
jmp 0x40438e
xor ecx, ecx
mov eax, edi
sub ecx, dword [0x45c194]
neg eax
cmp edi, ecx
jle 0x40448b
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsd qword [esp + 0x28], xmm0
sub esp, 0x10
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
add esp, 0x10
fstp qword [esp + 0x68]
movsd xmm0, qword [esp + 0x68]
mulsd xmm0, qword [esp + 0x10]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004017a0
add esp, 8
mov esi, eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
movapd xmm1, xmmword [esp + 0x20]
add esp, 0x10
fstp qword [esp + 0x60]
mulsd xmm1, qword [esp + 0x60]
jmp 0x40453f
mov dword [esp + 0x8c], 0x6e
mov dword [esp + 0x88], 0x61006e
mov edx, 3
xor edi, edi
cmp edx, esi
mov dword [esp + 0x10], edx
jge 0x4043f1
sub esi, edx
xor edi, edi
nop word cs:[eax + eax]
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x4043e3
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x28a
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
cmp esi, edi
mov word [ecx + eax*2], bx
jne 0x4043b0
mov edi, esi
cmp edi, dword [ebp + 0x24]
jge 0x404e14
xor ebx, ebx
nop dword [eax]
lea eax, [edi + ebx]
movzx esi, word [esp + ebx*2 + 0x88]
cmp eax, dword [ebp + 0x24]
jb 0x40443c
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x28f
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], si
lea esi, [edi + ebx + 1]
lea eax, [ebx + 1]
cmp esi, dword [ebp + 0x24]
jge 0x404455
cmp ebx, edx
mov ebx, eax
jl 0x404400
add edi, eax
cmp edi, dword [ebp + 0x24]
jl 0x404e1d
push 0x464504
push 0x17
call fcn.00401380
add esp, 8
push 0x349
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
jmp 0x404e50
mov ecx, dword [0x45c198]
add ecx, ecx
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
add esp, 0x10
fstp qword [esp + 0x78]
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [0x45c1a0]
mulsd xmm0, qword [esp + 0x10]
mulsd xmm0, xmm1
mulsd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call fcn.004017a0
add esp, 8
mov esi, eax
mov eax, dword [0x45c198]
lea eax, [edi + eax*2]
neg eax
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
call fcn.004250f0
movapd xmm1, xmmword [esp + 0x20]
add esp, 0x10
fstp qword [esp + 0x70]
mulsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [0x45c1a0]
mulsd xmm1, xmm0
mulsd xmm1, xmm0
mov ecx, dword [ebp + 0x10]
xor eax, eax
cmp esi, 0x3e8
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mov edx, esi
setl al
test ebx, ebx
lea eax, [eax + ecx - 4]
jns 0x404567
mov ecx, edi
sub ecx, ebx
cmp eax, ecx
cmovg eax, ecx
subsd xmm1, xmm0
test eax, eax
js 0x4045d1
mov esi, edx
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
movapd xmmword [esp + 0x20], xmm1
call fcn.004250f0
movapd xmm1, xmmword [esp + 0x20]
add esp, 0x10
movsd xmm0, qword [0x43d3c8]
fstp qword [esp + 0x48]
mov edx, esi
divsd xmm0, qword [esp + 0x48]
addsd xmm1, xmm0
ucomisd xmm1, qword [0x43d3d0]
jb 0x4045f0
addsd xmm1, qword [0x43d3d8]
inc edx
jmp 0x4045f0
cmp eax, 0xfffffffd
je 0x4045e5
cmp eax, 0xfffffffe
je 0x4045ed
cmp eax, 0xffffffff
jne 0x4045f0
add edx, 5
jmp 0x4045f0
add edx, 0x1f4
jmp 0x4045f0
add edx, 0x32
xor esi, esi
cmp edx, 0x3e8
mov eax, 0xffffffff
cmovge eax, esi
cmp dword [ebp + 0x10], 0
lea ecx, [eax + edi + 3]
mov dword [esp + 0x38], ecx
jle 0x404742
mov dword [esp + 8], ecx
cmp edx, 0x3e8
mov eax, 0x64
mov ecx, 0x3e8
mov dword [esp + 0x28], edx
mov edx, 1
cmovl ecx, eax
nop word cs:[eax + eax]
ucomisd xmm1, qword [0x43d3e8]
jne 0x404654
jp 0x404654
test ecx, ecx
jle 0x404739
test ecx, ecx
mov dword [esp + 4], edx
jle 0x4046a0
push ecx
mov edi, dword [esp + 0x2c]
push edi
movapd xmmword [esp + 0x18], xmm1
mov ebx, ecx
call fcn.00401830
add esp, 8
mov dword [esp + 0xc], eax
push ebx
push edi
call fcn.00401950
add esp, 8
mov dword [esp + 0x28], eax
push 0xa
push ebx
mov ebx, dword [esp + 0x14]
call fcn.00401830
movapd xmm1, xmmword [esp + 0x18]
add esp, 8
mov ecx, eax
jmp 0x4046d5
mulsd xmm1, qword [0x43d3e0]
movapd xmmword [esp + 0x10], xmm1
sub esp, 8
movsd qword [esp], xmm1
mov edi, ecx
call fcn.004017a0
movapd xmm1, xmmword [esp + 0x18]
mov ecx, edi
add esp, 8
mov ebx, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, ebx
subsd xmm1, xmm0
lea edi, [ebx + 0x30]
cmp esi, 0x50
mov eax, esi
jb 0x40471b
push 0x464504
push 0xfffffffffffffff9
movapd xmmword [esp + 0x18], xmm1
mov dword [esp + 0x14], ecx
call fcn.00401380
add esp, 8
push 0x2cf
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov ecx, dword [esp + 0x18]
movapd xmm1, xmmword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov edx, dword [esp + 4]
inc esi
test ebx, ebx
mov ebx, dword [ebp + 0x18]
mov word [esp + eax*2 + 0x88], di
cmovne edx, esi
cmp esi, dword [ebp + 0x10]
jl 0x404640
mov ecx, dword [esp + 8]
mov esi, dword [ebp + 0x14]
jmp 0x40474a
mov esi, dword [ebp + 0x14]
mov edx, 1
sub esi, dword [esp + 0x24]
test ebx, ebx
mov dword [esp + 8], ecx
js 0x404778
lea eax, [edx + 1]
cmp dword [esp + 8], eax
mov eax, dword [esp + 8]
jg 0x404820
test ebx, ebx
jne 0x404820
cmp eax, 0xfffffffd
jl 0x404820
mov eax, dword [esp + 8]
cmp dword [esp + 8], 0
mov ecx, edx
mov edx, 1
movsd xmm1, qword [ebp + 8]
xorpd xmm0, xmm0
mov dword [esp + 4], ecx
lea edi, [eax + 1]
mov eax, edi
cmovs eax, edx
mov edx, ebx
neg edx
sub ecx, edi
mov edi, 1
mov dword [esp + 0x28], eax
cmovle ecx, edi
test ebx, ebx
cmovs ecx, edx
mov edx, dword [esp + 8]
sub esi, eax
xor edi, edi
sub esi, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xc], esi
dec esi
neg edx
ucomisd xmm0, xmm1
jbe 0x40480b
mov dword [esp + 0x10], edx
mov edx, eax
xor eax, eax
mov edi, 0
mov dword [esp + 0x24], ebx
test edx, edx
cmovns edi, edx
test ecx, ecx
mov edx, dword [esp + 4]
cmovns eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edi
cmp eax, ecx
cmovle esi, dword [esp + 0xc]
setg al
mov dword [esp + 0xc], edx
mov dword [esp + 0x34], eax
jmp 0x404890
mov eax, dword [esp + 4]
mov dword [esp + 0x24], ebx
mov ecx, edx
mov dword [esp + 0xc], eax
xor eax, eax
jmp 0x4048e8
mov ecx, eax
neg eax
cmovl eax, ecx
mov ecx, 3
cmp eax, 0x63
jg 0x40484a
cmp ebx, 1
jg 0x404840
mov ecx, 2
cmp eax, 9
jg 0x40484a
test ebx, ebx
mov ecx, 1
cmovg ecx, ebx
cmp edx, 1
mov eax, 2
mov dword [esp + 0x24], ecx
cmovg eax, edx
add esi, 0xfffffffd
sub esi, eax
mov dword [esp + 0xc], eax
sub esi, ecx
test esi, esi
jle 0x40487f
add esi, eax
xor eax, eax
mov edi, esi
mov ecx, esi
mov esi, dword [ebp + 0x10]
sub ecx, esi
cmovle ecx, eax
cmovg edi, esi
mov esi, ecx
jmp 0x404881
mov edi, eax
dec edi
xor ecx, ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x3c], edi
movzx eax, word [ebp + 0x1c]
xor edi, edi
cmp eax, 0x30
jne 0x4048e4
mov eax, dword [esp + 0x34]
test al, al
je 0x4048e8
cmp dword [ebp + 0x24], 0
jne 0x4048d3
push 0x464504
push 0xfffffffffffffff9
mov edi, ecx
call fcn.00401380
add esp, 8
push 0x302
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov ecx, edi
add esp, 0xc
mov eax, dword [ebp + 0x20]
mov edi, 1
mov word [eax], 0x2d
xor eax, eax
jmp 0x4048e8
mov eax, dword [esp + 0x34]
test esi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
jle 0x404941
inc esi
nop word cs:[eax + eax]
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x40492f
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x307
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
movzx edx, word [ebp + 0x1c]
dec esi
inc edi
cmp esi, 1
mov word [ecx + eax*2], dx
jg 0x404900
cmp byte [esp + 0x34], 0
je 0x404995
cmp edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jge 0x4049a1
mov eax, edi
jb 0x404989
push 0x464504
push 0xfffffffffffffff9
mov esi, edx
call fcn.00401380
add esp, 8
push 0x30c
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, esi
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], 0x2d
jmp 0x40499d
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor esi, esi
cmp edi, dword [ebp + 0x24]
setl al
jge 0x404ad1
cmp dword [esp + 0x28], 0
jle 0x404ad1
xor esi, esi
nop dword [eax]
cmp esi, edx
mov dword [esp + 0x10], ecx
jge 0x404a50
test ecx, ecx
jg 0x404a50
cmp esi, 0x50
mov eax, esi
mov dword [esp + 4], esi
jb 0x404a07
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x312
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
movzx esi, word [esp + eax*2 + 0x88]
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404a3e
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x312
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], si
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
inc esi
jmp 0x404a94
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404a8b
push 0x464504
push 0xfffffffffffffff9
mov dword [esp + 0xc], edi
mov edi, edx
call fcn.00401380
add esp, 8
push 0x315
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], 0x30
mov ecx, dword [esp + 0x10]
inc edi
dec ecx
cmp edi, dword [ebp + 0x24]
setl byte [esp + 4]
jge 0x404ac8
mov eax, edi
mov edi, edx
mov edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x28]
cmp esi, 1
lea esi, [esi - 1]
mov dword [esp + 0x28], esi
mov esi, ebx
mov ebx, edx
mov edx, edi
mov edi, eax
jg 0x4049c0
cmp byte [esp + 4], 0
jne 0x404adc
jmp 0x404b29
mov byte [esp + 4], al
cmp byte [esp + 4], 0
je 0x404b29
cmp edi, dword [ebp + 0x24]
mov eax, edi
mov dword [esp + 0x10], ecx
jb 0x404b1b
push 0x464504
push 0xfffffffffffffff9
mov dword [esp + 0xc], edi
mov edi, edx
call fcn.00401380
add esp, 8
push 0x31c
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], 0x2e
mov ecx, dword [esp + 0x10]
cmp edi, dword [ebp + 0x24]
setl al
jge 0x404c2e
test ebx, ebx
jle 0x404c2e
nop dword [eax]
cmp esi, edx
mov dword [esp + 0x10], ecx
jge 0x404bd0
test ecx, ecx
jg 0x404bd0
cmp esi, 0x50
mov eax, esi
mov dword [esp + 4], esi
jb 0x404b87
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x321
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
movzx esi, word [esp + eax*2 + 0x88]
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404bbe
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x321
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], si
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
inc esi
jmp 0x404c14
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404c0b
push 0x464504
push 0xfffffffffffffff9
mov dword [esp + 0xc], edi
mov edi, edx
call fcn.00401380
add esp, 8
push 0x324
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], 0x30
inc edi
mov ecx, dword [esp + 0x10]
cmp edi, dword [ebp + 0x24]
setl al
jge 0x404c2e
dec ecx
cmp ebx, 1
lea ebx, [ebx - 1]
jg 0x404b40
mov esi, dword [esp + 0x24]
test esi, esi
jle 0x404e14
test al, al
je 0x404c77
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404c6d
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x32c
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], 0x45
mov eax, dword [esp + 8]
cmp edi, dword [ebp + 0x24]
jge 0x404d09
test eax, eax
js 0x404cc6
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404cb7
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x334
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], 0x2b
mov eax, dword [esp + 8]
jmp 0x404d08
cmp edi, dword [ebp + 0x24]
mov eax, edi
jb 0x404cf5
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x331
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
mov word [ecx + eax*2], 0x2d
mov eax, dword [esp + 8]
neg eax
mov dword [esp + 0x38], eax
inc edi
cmp esi, 3
jne 0x404d64
cmp edi, dword [ebp + 0x24]
jge 0x404d64
push 0x64
mov ebx, eax
push eax
call fcn.00401830
mov edx, dword [ebp + 0x24]
add esp, 8
mov esi, eax
mov eax, edi
add esi, 0x30
cmp edi, edx
jb 0x404d56
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x339
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], si
mov eax, ebx
mov esi, dword [esp + 0x24]
cmp esi, 2
jl 0x404dc6
cmp edi, dword [ebp + 0x24]
jge 0x404dc6
push 0xa
mov ebx, eax
push eax
call fcn.00401830
add esp, 8
push 0xa
push eax
call fcn.00401950
mov edx, dword [ebp + 0x24]
add esp, 8
mov esi, eax
mov eax, edi
add esi, 0x30
cmp edi, edx
jb 0x404dbc
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x33d
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], si
mov eax, ebx
cmp edi, dword [ebp + 0x24]
jge 0x404e14
push 0xa
push eax
call fcn.00401950
mov edx, dword [ebp + 0x24]
add esp, 8
mov esi, eax
mov eax, edi
add esi, 0x30
cmp edi, edx
jb 0x404e0c
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x341
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp + 0x20]
inc edi
mov word [ecx + eax*2], si
cmp edi, dword [ebp + 0x24]
jge 0x404460
jb 0x404e47
push 0x464504
push 0xfffffffffffffff9
call fcn.00401380
add esp, 8
push 0x347
push str.OStrings.c
push 0x43d25a
call fcn.00424f0d
add esp, 0xc
xor edi, edi
mov eax, dword [ebp + 0x20]
mov word [eax + edi*2], 0
mov eax, dword [esp + 0x40]
mov dword [0x464504], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret