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

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x28]
mov eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
push esi
mov esi, dword [eax + 4]
mov dword [esp + 0x10], esi
test ecx, ecx
jg 0x450eaa
jl 0x450e8b
cmp edx, 2
jae 0x450eaa
push str.Called_with_maxSize___2
push str.readLine
push eax
call fcn.0044f490
add esp, 0xc
or eax, 0xffffffff
or edx, eax
pop esi
add esp, 0x20
ret 0xc
add edx, 0xffffffff
push ebp
mov ebp, dword [esi + 0x7c]
adc ecx, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
test ebp, ebp
jne 0x450edb
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esp + 0x10]
movzx ebp, al
neg ebp
sbb ebp, ebp
add ebp, 2
mov dword [esi + 0x7c], ebp
push ebx
push edi
cmp ebp, 1
jne 0x451014
cmp byte [esi + 0x78], 0
je 0x451014
mov ecx, dword [esi + 0x40]
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov byte [esp + 0x38], 1
test ecx, ecx
je 0x450f1d
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x1c]
jmp 0x450f2f
movlpd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esi + 0x74]
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
jg 0x451090
jl 0x450f4b
cmp dword [esi + 0x70], eax
jae 0x451090
test ecx, ecx
je 0x450f81
mov eax, dword [esi + 0x74]
push eax
push dword [esi + 0x70]
push dword [esp + 0x1c]
push edx
push 0xa
call fcn.004b47f0
mov ecx, dword [esi + 0x40]
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x74]
test edx, edx
jl 0x450f87
jg 0x450f75
test eax, eax
jb 0x450f87
sub eax, edi
sbb edx, ebx
add eax, 1
adc edx, 0
jmp 0x450f8f
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x74]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x450fa6
push ebx
push edi
push edx
push eax
push dword [esp + 0x44]
call fcn.004b4920
mov edi, eax
mov ebx, edx
jmp 0x450fb7
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, edi
mov eax, ebx
add ecx, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
adc eax, dword [esi + 0x74]
mov dword [esi + 0x74], eax
mov edx, dword [esi + 0x40]
test edx, edx
je 0x450fd6
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xc]
jmp 0x450fe7
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x20]
jne 0x451090
cmp eax, edx
jne 0x451090
mov ecx, dword [esp + 0x10]
push 0
push 0
push dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x451090
mov ecx, dword [esi + 0x40]
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
xor dl, dl
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov byte [esp + 0x38], dl
movlpd qword [esp + 0x28], xmm0
test ecx, ecx
je 0x4510e4
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x4510e4
push dword [esp + 0x24]
push dword [esp + 0x24]
push dword [esp + 0x3c]
call fcn.004b4c50
mov ecx, dword [esi + 0x40]
mov edi, eax
mov ebx, edx
test ecx, ecx
je 0x45106c
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
jne 0x45107d
mov ecx, dword [esp + 0x10]
push 0
push 0
push dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x60]
cmp ebp, 1
je 0x451090
add dword [esi + 0x48], edi
mov dl, byte [esp + 0x38]
adc dword [esi + 0x4c], ebx
mov byte [esp + 0x38], dl
mov eax, edi
mov dword [esp + 0x24], ebx
mov ecx, eax
mov dword [esp + 0x1c], eax
or eax, ebx
mov dword [esp + 0x20], ecx
je 0x451100
mov eax, dword [esp + 0x34]
cmp byte [ecx + eax - 1], 0xa
jne 0x451100
test byte [esi + 0x30], 0x10
je 0x4510d2
test ebx, ebx
jl 0x4510d2
jg 0x4510c0
cmp edi, 1
jbe 0x4510d2
cmp byte [ecx + eax - 2], 0xd
jne 0x4510d2
add edi, 0xffffffff
adc ebx, 0xffffffff
mov byte [edi + eax - 1], 0xa
mov byte [edi + eax], 0
mov edx, ebx
mov eax, edi
pop edi
pop ebx
pop ebp
pop esi
add esp, 0x20
ret 0xc
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0
mov byte [esp + 0x38], dl
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
cmp eax, dword [esi + 0x50]
jne 0x451110
cmp edx, dword [esi + 0x54]
je 0x451137
cmp ebp, 1
je 0x451137
mov ecx, dword [esp + 0x10]
push edx
push dword [esi + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
test al, al
jne 0x451137
pop edi
pop ebx
or eax, 0xffffffff
pop ebp
or edx, eax
pop esi
add esp, 0x20
ret 0xc
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
sbb eax, dword [esp + 0x24]
cmp byte [esp + 0x38], 0
mov byte [esi + 0x79], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
je 0x451170
push eax
push edx
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00451220
jmp 0x451184
mov ecx, dword [esp + 0x10]
push dword [esp + 0x14]
push edx
mov eax, dword [ecx]
push dword [esp + 0x28]
mov eax, dword [eax + 0x64]
call eax
test edx, edx
jg 0x4511ae
jl 0x45118e
test eax, eax
jae 0x4511ae
mov eax, dword [esp + 0x20]
mov byte [eax], 0
mov eax, edi
or eax, ebx
jne 0x451205
or edi, 0xffffffff
or ebx, edi
mov eax, edi
pop edi
mov edx, ebx
pop ebx
pop ebp
pop esi
add esp, 0x20
ret 0xc
add edi, eax
adc ebx, edx
cmp byte [esi + 0x79], 0
jne 0x4511d1
cmp ebp, 1
je 0x4511d1
add dword [esi + 0x48], eax
mov dword [esi + 0x50], 0xffffffff
adc dword [esi + 0x4c], edx
mov dword [esi + 0x54], 0xffffffff
mov eax, dword [esp + 0x34]
mov byte [edi + eax], 0
test byte [esi + 0x30], 0x10
je 0x451205
test ebx, ebx
jl 0x451205
jg 0x4511ea
cmp edi, 1
jbe 0x451205
cmp byte [edi + eax - 1], 0xa
jne 0x451205
cmp byte [edi + eax - 2], 0xd
jne 0x451205
mov word [edi + eax - 2], 0xa
add edi, 0xffffffff
adc ebx, 0xffffffff
mov eax, edi
mov edx, ebx
pop edi
pop ebx
pop ebp
pop esi
add esp, 0x20
ret 0xc