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

Disassembly:
sub esp, 0xbc
push ebx
mov ebx, dword [esp + 0xd0]
mov ecx, dword [ebx + 0x488]
push ebp
push esi
xor esi, esi
xor eax, eax
cmp dword [ebx + 0x484], esi
push edi
setne al
mov dword [esp + 0x7c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x48], esi
test dword [ecx], eax
jne 0x44bb16
lea edx, [esp + 0x10]
push edx
call fcn.004565a0
add esp, 4
lea eax, [esp + 0x10]
push 2
push eax
call fcn.00456980
lea eax, [ebx + 0x480]
push 1
push eax
push eax
call fcn.0045a010
add esp, 0x14
lea eax, [esp + 0x10]
mov esi, ebx
call fcn.004464e0
lea ecx, [esp + 0x10]
push ecx
call fcn.00456900
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
mov ecx, dword [ebx + 0x484]
lea edi, [ebx + 0x480]
xor eax, eax
cmp ecx, esi
setge al
cmp ecx, esi
jle 0x44bb3a
mov edx, dword [edi + 8]
push ecx
push edx
call fcn.00457960
add esp, 8
cmp eax, esi
je 0x44bc55
lea esi, [ebx + 0x24]
push 0x51a9e0
push esi
call fcn.004b80e6
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x44bb8d
call fcn.004b7db1
mov eax, dword [eax]
push eax
call fcn.004b731f
add esp, 4
push eax
push str.fopen_error:__s_n
call fcn.004b7f6d
push esi
push str.could_not_open__s_for_writing_n
call fcn.004b7f6d
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
push edi
push edi
call fcn.00457ad0
mov ecx, dword [0x5d6510]
push ecx
push edi
call fcn.00456e30
add esp, 0x10
push str.Fermat_method_found_perfect_square_factorization:_n
push ebp
test eax, eax
je 0x44bbe8
call fcn.00443960
add esp, 8
mov esi, 0x5d64d0
call fcn.0044ca50
push eax
call fcn.0044cfb0
push eax
push str.prp_d___s_n
push ebp
call fcn.00443960
add esp, 0x10
call fcn.0044ca50
push eax
call fcn.0044cfb0
push eax
push str.prp_d___s_n
jmp 0x44bc20
call fcn.00443960
add esp, 8
mov esi, 0x5d64d0
call fcn.0044ca50
push eax
call fcn.0044cfb0
push eax
push str.c_d___s_n
push ebp
call fcn.00443960
add esp, 0x10
call fcn.0044ca50
push eax
call fcn.0044cfb0
push eax
push str.c_d___s_n
push ebp
call fcn.00443960
add esp, 0x10
mov eax, edi
mov esi, ebx
call fcn.004464e0
mov eax, edi
call fcn.004464e0
push 1
push edi
call fcn.00456980
push ebp
call fcn.004b8276
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
lea edx, [esp + 0x4c]
push edx
call fcn.004565a0
lea eax, [esp + 0x40]
add esp, 4
push eax
call fcn.004565a0
lea ecx, [esp + 0x14]
add esp, 4
push ecx
call fcn.004565a0
lea edx, [esp + 0xa8]
add esp, 4
push edx
call fcn.004565a0
lea eax, [esp + 0x9c]
add esp, 4
push eax
call fcn.004565a0
mov ecx, dword [esp + 0xdc]
add esp, 4
push ecx
lea edx, [esp + 0xa8]
push edi
push edx
call fcn.00459570
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00457ad0
lea edx, [esp + 0x54]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.00458530
add esp, 0x14
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x40]
push eax
mov ecx, eax
push ecx
call fcn.00459720
add esp, 0xc
push 1
push 0x5623
call fcn.004b9228
mov edi, eax
push 1
push 0x411b
mov dword [esp + 0x94], edi
call fcn.004b9228
push 1
push 0x8169
mov dword [esp + 0x7c], eax
call fcn.004b9228
push 1
push 0x5623
mov dword [esp + 0x8c], eax
call fcn.004b9228
push 1
push 0x411b
mov dword [esp + 0xa8], eax
call fcn.004b9228
push 1
push 0x8169
mov dword [esp + 0x90], eax
call fcn.004b9228
push 0x56220
mov dword [esp + 0x90], eax
call fcn.004b7263
mov ecx, dword [esp + 0x74]
add esp, 0x34
mov dword [esp + 0x58], eax
xor ebp, ebp
mov dword [esp + 0x94], esi
xor eax, eax
cmp ecx, esi
setge al
cmp ecx, esi
jle 0x44bd9c
mov edx, dword [esp + 0x44]
push ecx
push edx
call fcn.00457960
add esp, 8
cmp eax, esi
jne 0x44c474
xor esi, esi
mov dword [esp + 0x1c], 0x8040201
mov dword [esp + 0x20], 0x80402010
xor ebp, ebp
push ebp
push esi
push ebp
push esi
call fcn.004bdf50
push 0
push 0x2b110
push edx
push eax
call fcn.004bdc90
mov ecx, eax
shrd ecx, edx, 3
and eax, 7
shr edx, 3
mov dl, byte [esp + eax + 0x1c]
or byte [ecx + edi], dl
add esi, 1
adc ebp, 0
jne 0x44bdf2
cmp esi, 0x2b110
jb 0x44bdb8
mov ebx, dword [esp + 0x64]
xor esi, esi
xor ebp, ebp
lea ebx, [ebx]
push ebp
push esi
push ebp
push esi
call fcn.004bdf50
push 0
push 0x208d3
push edx
push eax
call fcn.004bdc90
mov ecx, eax
shrd ecx, edx, 3
and eax, 7
shr edx, 3
mov dl, byte [esp + eax + 0x1c]
or byte [ecx + ebx], dl
add esi, 1
adc ebp, 0
jne 0x44be3a
cmp esi, 0x208d3
jb 0x44be00
mov ebx, dword [esp + 0x6c]
xor esi, esi
xor ebp, ebp
push ebp
push esi
push ebp
push esi
call fcn.004bdf50
push 0
push 0x40b47
push edx
push eax
call fcn.004bdc90
mov ecx, eax
shrd ecx, edx, 3
and eax, 7
shr edx, 3
mov dl, byte [esp + eax + 0x1c]
or byte [ecx + ebx], dl
add esi, 1
adc ebp, 0
jne 0x44be7c
cmp esi, 0x40b47
jb 0x44be42
push 0x2b110
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0045e010
add esp, 0xc
push 0x2b110
lea edx, [esp + 0x40]
mov ebp, eax
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0045e010
mov ebx, dword [esp + 0x8c]
add esp, 0xc
mov esi, eax
mov ecx, 2
mov dword [esp + 0x24], 0x72d8
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
mov eax, esi
and eax, 7
test byte [esp + eax + 0x1c], dl
je 0x44bee7
lea eax, [ecx - 2]
mov edx, eax
and eax, 7
mov al, byte [esp + eax + 0x1c]
sar edx, 3
or byte [edx + ebx], al
xor edx, edx
lea eax, [esi + ebp*2 + 1]
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
mov esi, edx
xor edx, edx
div ebp
mov eax, esi
and eax, 7
mov ebp, edx
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
test byte [esp + eax + 0x1c], dl
je 0x44bf29
lea eax, [ecx - 1]
mov edx, eax
and eax, 7
mov al, byte [esp + eax + 0x1c]
sar edx, 3
or byte [edx + ebx], al
xor edx, edx
lea eax, [esi + ebp*2 + 1]
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
mov esi, edx
xor edx, edx
div ebp
mov eax, esi
and eax, 7
mov ebp, edx
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
test byte [esp + eax + 0x1c], dl
je 0x44bf6a
mov edx, ecx
and edx, 7
mov dl, byte [esp + edx + 0x1c]
mov eax, ecx
sar eax, 3
or byte [eax + ebx], dl
lea eax, [esi + ebp*2 + 1]
xor edx, edx
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
mov esi, edx
xor edx, edx
div ebp
mov eax, esi
shr eax, 3
mov al, byte [eax + edi]
mov ebp, edx
mov edx, esi
and edx, 7
test byte [esp + edx + 0x1c], al
je 0x44bfac
lea eax, [ecx + 1]
mov edx, eax
and eax, 7
mov al, byte [esp + eax + 0x1c]
sar edx, 3
or byte [edx + ebx], al
xor edx, edx
lea eax, [esi + ebp*2 + 1]
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
mov esi, edx
xor edx, edx
div ebp
mov eax, esi
and eax, 7
mov ebp, edx
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
test byte [esp + eax + 0x1c], dl
je 0x44bfef
lea edx, [ecx + 2]
and edx, 7
mov dl, byte [esp + edx + 0x1c]
lea eax, [ecx + 2]
sar eax, 3
or byte [eax + ebx], dl
lea eax, [esi + ebp*2 + 1]
xor edx, edx
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
mov esi, edx
xor edx, edx
div ebp
mov eax, esi
shr eax, 3
mov al, byte [eax + edi]
mov ebp, edx
mov edx, esi
and edx, 7
test byte [esp + edx + 0x1c], al
je 0x44c032
lea edx, [ecx + 3]
and edx, 7
mov dl, byte [esp + edx + 0x1c]
lea eax, [ecx + 3]
sar eax, 3
or byte [eax + ebx], dl
lea eax, [esi + ebp*2 + 1]
xor edx, edx
mov esi, 0x2b110
div esi
lea eax, [ebp + 1]
mov ebp, 0x2b110
add ecx, 6
mov esi, edx
xor edx, edx
div ebp
dec dword [esp + 0x24]
mov ebp, edx
jne 0x44bec2
xor eax, eax
xor esi, esi
test byte [ebx], 1
jne 0x44c079
inc eax
mov ecx, eax
sar ecx, 3
mov cl, byte [ecx + ebx]
mov edx, eax
and edx, 7
test byte [esp + edx + 0x1c], cl
je 0x44c065
mov ecx, 0x2b110
mov edx, dword [esp + 0x58]
inc eax
dec ecx
mov word [edx + ecx*2], ax
cmp eax, esi
jbe 0x44c08e
mov esi, eax
mov edx, ecx
sar edx, 3
mov dl, byte [edx + ebx]
mov edi, ecx
and edi, 7
test byte [esp + edi + 0x1c], dl
je 0x44c0a3
xor eax, eax
test ecx, ecx
jg 0x44c07e
push 0x208d3
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0045e010
add esp, 0xc
push 0x208d3
lea edx, [esp + 0x40]
mov ebp, eax
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0045e010
mov edi, dword [esp + 0x70]
add esp, 0xc
mov esi, eax
xor ecx, ecx
nop
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
mov eax, esi
and eax, 7
test byte [esp + eax + 0x1c], dl
je 0x44c107
mov eax, ecx
sar eax, 3
add eax, dword [esp + 0x60]
mov edx, ecx
and edx, 7
mov dl, byte [esp + edx + 0x1c]
or byte [eax], dl
lea eax, [esi + ebp*2 + 1]
xor edx, edx
mov esi, 0x208d3
div esi
lea eax, [ebp + 1]
mov ebx, 0x208d3
inc ecx
mov esi, edx
xor edx, edx
div ebx
mov ebp, edx
cmp ecx, ebx
jb 0x44c0e0
push 0x40b47
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0045e010
add esp, 0xc
push 0x40b47
lea edx, [esp + 0x40]
mov ebp, eax
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0045e010
mov edi, dword [esp + 0x78]
add esp, 0xc
xor ebx, ebx
mov esi, eax
xor ecx, ecx
mov edx, esi
shr edx, 3
mov dl, byte [edx + edi]
mov eax, esi
and eax, 7
test byte [esp + eax + 0x1c], dl
je 0x44c18a
mov eax, ecx
sar eax, 3
add eax, dword [esp + 0x5c]
mov edx, ecx
and edx, 7
mov dl, byte [esp + edx + 0x1c]
or byte [eax], dl
lea eax, [esi + ebp*2 + 1]
xor edx, edx
mov esi, 0x40b47
div esi
lea eax, [ebp + 1]
mov ebp, 0x40b47
inc ecx
mov esi, edx
xor edx, edx
div ebp
mov ebp, edx
cmp ecx, 0x40b47
jb 0x44c163
push 1
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0xa0]
push ecx
call fcn.004570a0
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
add esp, 0xc
push ebx
push 0x64
push edx
push eax
xor ebp, ebp
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x34], ebx
call fcn.004bdc20
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
xor esi, esi
xor edx, edx
xor ecx, ecx
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x68]
movzx eax, word [eax + edi*2]
mov ebx, dword [esp + 0x38]
add ebx, eax
add esi, eax
mov dword [esp + 0x38], ebx
cmp ebx, 0x208d3
jb 0x44c230
sub dword [esp + 0x38], 0x208d3
mov ebx, dword [esp + 0x48]
add ebx, eax
mov dword [esp + 0x48], ebx
cmp ebx, 0x40b47
jb 0x44c24a
sub dword [esp + 0x48], 0x40b47
add edi, eax
mov dword [esp + 0x68], edi
cmp edi, 0x2b110
jb 0x44c262
sub edi, 0x2b110
mov dword [esp + 0x68], edi
add edx, 1
adc ecx, 0
test ecx, ecx
ja 0x44c912
jb 0x44c27e
cmp edx, 0x2b110
ja 0x44c912
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x60]
mov edi, eax
shr edi, 3
mov bl, byte [edi + ebx]
and eax, 7
test byte [esp + eax + 0x1c], bl
je 0x44c208
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x5c]
mov edi, eax
shr edi, 3
mov bl, byte [edi + ebx]
and eax, 7
test byte [esp + eax + 0x1c], bl
je 0x44c208
push esi
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.00456ad0
add esp, 0xc
lea eax, [esp + 0x10]
push esi
push eax
mov ecx, eax
push ecx
call fcn.00459570
add esp, 0xc
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x40]
push eax
mov ecx, eax
push ecx
call fcn.00459390
add esp, 0xc
lea edx, [esi + esi]
push edx
lea eax, [esp + 0x9c]
push eax
mov ecx, eax
push ecx
call fcn.00456ad0
mov ebx, dword [esp + 0xa0]
add esp, 0xc
add ebp, esi
adc ebx, 0
mov dword [esp + 0x94], ebx
cmp ebx, dword [esp + 0xd4]
ja 0x44c46b
jb 0x44c33a
cmp ebp, dword [esp + 0xd0]
ja 0x44c46b
mov edi, dword [esp + 0x74]
cmp ebx, edi
jb 0x44c446
ja 0x44c352
cmp ebp, dword [esp + 0x70]
jbe 0x44c446
cmp dword [0x5d5f9c], 1
jle 0x44c446
mov esi, dword [esp + 0x24]
test esi, esi
jle 0x44c380
jmp 0x44c370
push 0x5b214c
call fcn.004b7f6d
add esp, 4
dec esi
jne 0x44c370
mov eax, ebx
mov ecx, ebx
and eax, 0x7fffffff
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xd0]
and ecx, 0x80000000
xor edx, edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc0], ebp
fild qword [esp + 0xc0]
mov dword [esp + 0xb0], edx
fild qword [esp + 0xb0]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0xbc], eax
fchs
and ecx, 0x80000000
faddp st(1)
mov dword [esp + 0x2c], ecx
fild qword [esp + 0xb8]
mov dword [esp + 0x28], edx
fild qword [esp + 0x28]
fchs
faddp st(1)
fdivp st(1)
fmul qword [0x5b45c8]
call fcn.004bd196
push edx
push eax
push str._I64u__
call fcn.004b7f6d
add esp, 0xc
mov dword [esp + 0x24], eax
call fcn.004b7416
add eax, 0x20
push eax
call fcn.004b7c36
mov ecx, dword [esp + 0x8c]
add esp, 4
add dword [esp + 0x70], ecx
adc edi, dword [esp + 0x8c]
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0x40]
xor eax, eax
test ecx, ecx
setns al
test ecx, ecx
jle 0x44c463
mov edx, dword [esp + 0x44]
push ecx
push edx
call fcn.00457960
add esp, 8
test eax, eax
je 0x44c202
mov ebx, dword [esp + 0xdc]
xor esi, esi
lea eax, [esp + 0x4c]
push ebp
push eax
mov ecx, eax
push ecx
call fcn.00456ad0
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov eax, ecx
cmp ecx, esi
jge 0x44c491
neg eax
cmp eax, esi
jbe 0x44c912
xor eax, eax
test ecx, ecx
setns al
test ecx, ecx
jle 0x44c4b2
mov edx, dword [esp + 0x44]
push ecx
push edx
call fcn.00457960
add esp, 8
test eax, eax
je 0x44c912
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00457ad0
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x58]
push eax
mov ecx, edx
push ecx
call fcn.00459390
add esp, 0x14
lea edx, [esp + 0x10]
push edx
lea eax, [ebx + 0x480]
push eax
mov dword [esp + 0x2c], eax
mov eax, edx
push eax
call fcn.00458a00
add esp, 0xc
lea esi, [ebx + 0x24]
push 0x51a9e0
push esi
call fcn.004b80e6
mov edi, eax
add esp, 8
mov dword [esp + 0x7c], edi
test edi, edi
jne 0x44c542
call fcn.004b7db1
mov ecx, dword [eax]
push ecx
call fcn.004b731f
add esp, 4
push eax
push str.fopen_error:__s_n
call fcn.004b7f6d
push esi
push str.could_not_open__s_for_writing_n
call fcn.004b7f6d
add esp, 0x10
jmp 0x44c912
push str.Fermat_method_found_factors:_n
push edi
call fcn.00443960
lea eax, [esp + 0x18]
mov esi, ebx
call fcn.004464e0
mov edx, dword [0x5d6510]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00456e30
add esp, 0x10
test eax, eax
je 0x44c639
cmp dword [0x5d64d0], 0
jne 0x44c588
lea ecx, [esp + 0x10]
push ecx
push 0xa
push 0
jmp 0x44c5c3
lea edx, [esp + 0x10]
push 0xa
push edx
call fcn.00457f70
add eax, 2
add esp, 8
cmp eax, 0x400
jl 0x44c5b5
push eax
mov eax, dword [0x5d64d0]
push eax
call fcn.004b95e6
add esp, 8
mov dword [0x5d64d0], eax
mov edx, dword [0x5d64d0]
lea ecx, [esp + 0x10]
push ecx
push 0xa
push edx
call fcn.00456610
mov ebp, eax
lea eax, [esp + 0x34]
add esp, 0xc
push eax
call fcn.004565a0
add esp, 4
lea ecx, [esp + 0x10]
push 0xa
push ecx
call fcn.00457f70
lea edx, [esp + 0x30]
push 0xa
push edx
mov esi, eax
call fcn.00456980
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov edx, ecx
push edx
call fcn.00459240
add esp, 0x1c
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00456920
xor edx, edx
test eax, eax
setg dl
lea eax, [esp + 0x30]
push eax
sub esi, edx
call fcn.00456900
add esp, 0xc
push ebp
push esi
push str.prp_d___s_n
jmp 0x44c6f9
cmp dword [0x5d64d0], 0
jne 0x44c64d
lea ecx, [esp + 0x10]
push ecx
push 0xa
push 0
jmp 0x44c688
lea edx, [esp + 0x10]
push 0xa
push edx
call fcn.00457f70
add eax, 2
add esp, 8
cmp eax, 0x400
jl 0x44c67a
push eax
mov eax, dword [0x5d64d0]
push eax
call fcn.004b95e6
add esp, 8
mov dword [0x5d64d0], eax
mov edx, dword [0x5d64d0]
lea ecx, [esp + 0x10]
push ecx
push 0xa
push edx
call fcn.00456610
mov ebp, eax
lea eax, [esp + 0x34]
add esp, 0xc
push eax
call fcn.004565a0
add esp, 4
lea ecx, [esp + 0x10]
push 0xa
push ecx
call fcn.00457f70
lea edx, [esp + 0x30]
push 0xa
push edx
mov esi, eax
call fcn.00456980
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov edx, ecx
push edx
call fcn.00459240
add esp, 0x1c
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00456920
xor edx, edx
test eax, eax
setg dl
lea eax, [esp + 0x30]
push eax
sub esi, edx
call fcn.00456900
add esp, 0xc
push ebp
push esi
push str.c_d___s_n
push edi
call fcn.00443960
mov esi, dword [esp + 0x34]
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push esi
push esi
call fcn.00457360
add esp, 0xc
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x14]
push eax
call fcn.00457ad0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x58]
push edx
mov eax, ecx
push eax
call fcn.00459720
add esp, 0x14
lea ecx, [esp + 0x10]
push ecx
mov edx, ecx
push esi
push edx
call fcn.00458a00
add esp, 0xc
lea eax, [esp + 0x10]
mov esi, ebx
call fcn.004464e0
mov eax, dword [0x5d6510]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00456e30
add esp, 8
test eax, eax
je 0x44c835
cmp dword [0x5d64d0], 0
jne 0x44c784
lea edx, [esp + 0x10]
push edx
push 0xa
push 0
jmp 0x44c7bf
lea eax, [esp + 0x10]
push 0xa
push eax
call fcn.00457f70
add eax, 2
add esp, 8
cmp eax, 0x400
jl 0x44c7b2
mov ecx, dword [0x5d64d0]
push eax
push ecx
call fcn.004b95e6
add esp, 8
mov dword [0x5d64d0], eax
mov eax, dword [0x5d64d0]
lea edx, [esp + 0x10]
push edx
push 0xa
push eax
call fcn.00456610
lea ecx, [esp + 0x34]
add esp, 0xc
push ecx
mov ebx, eax
call fcn.004565a0
add esp, 4
lea edx, [esp + 0x10]
push 0xa
push edx
call fcn.00457f70
mov esi, eax
lea eax, [esp + 0x30]
push 0xa
push eax
call fcn.00456980
lea ecx, [esi - 1]
push ecx
lea edx, [esp + 0x3c]
push edx
mov eax, edx
push eax
call fcn.00459240
add esp, 0x1c
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00456920
xor ecx, ecx
test eax, eax
setg cl
lea edx, [esp + 0x30]
push edx
sub esi, ecx
call fcn.00456900
add esp, 0xc
push ebx
push esi
push str.prp_d___s_n
jmp 0x44c8f6
cmp dword [0x5d64d0], 0
jne 0x44c849
lea eax, [esp + 0x10]
push eax
push 0xa
push 0
jmp 0x44c885
lea ecx, [esp + 0x10]
push 0xa
push ecx
call fcn.00457f70
add eax, 2
add esp, 8
cmp eax, 0x400
jl 0x44c877
mov edx, dword [0x5d64d0]
push eax
push edx
call fcn.004b95e6
add esp, 8
mov dword [0x5d64d0], eax
mov ecx, dword [0x5d64d0]
lea eax, [esp + 0x10]
push eax
push 0xa
push ecx
call fcn.00456610
lea edx, [esp + 0x34]
add esp, 0xc
push edx
mov ebx, eax
call fcn.004565a0
add esp, 4
lea eax, [esp + 0x10]
push 0xa
push eax
call fcn.00457f70
lea ecx, [esp + 0x30]
push 0xa
push ecx
mov esi, eax
call fcn.00456980
lea edx, [esi - 1]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, eax
push ecx
call fcn.00459240
add esp, 0x1c
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00456920
xor ecx, ecx
test eax, eax
setg cl
lea edx, [esp + 0x30]
push edx
sub esi, ecx
call fcn.00456900
add esp, 0xc
push ebx
push esi
push str.c_d___s_n
push edi
call fcn.00443960
add esp, 0x10
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x28]
push eax
push eax
call fcn.00457360
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
call fcn.00456900
lea edx, [esp + 0x50]
add esp, 4
push edx
call fcn.00456900
lea eax, [esp + 0x40]
add esp, 4
push eax
call fcn.00456900
lea ecx, [esp + 0xa8]
add esp, 4
push ecx
call fcn.00456900
lea edx, [esp + 0x9c]
add esp, 4
push edx
call fcn.00456900
mov eax, dword [esp + 0x88]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [esp + 0x68]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [esp + 0x70]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [esp + 0x84]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [esp + 0x60]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call fcn.004b7229
mov eax, dword [esp + 0x80]
add esp, 4
test eax, eax
je 0x44c9ce
push eax
call fcn.004b8276
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret