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

Disassembly:
mov eax, 0x1078
call fcn.00426240
mov eax, dword [esp + 0x1084]
mov ecx, dword [esp + 0x1088]
push ebx
mov ebx, dword [esp + 0x1084]
push ebp
mov ebp, dword [esp + 0x1084]
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
cmp eax, edi
je 0x4589a4
mov dword [eax], edi
cmp ecx, edi
jne 0x45836d
mov dword [esp + 0x10], 0x10
jmp 0x45898e
mov dword [ecx], edi
test ebx, 0x800
je 0x4583a4
test ebx, 0x2000
jne 0x4583a4
push 0xffffffffffffffff
push ebp
call fcn.00433c33
mov ecx, dword [esp + 0x10a0]
add esp, 8
cmp eax, edi
mov dword [ecx], eax
jl 0x4583a4
mov dword [esp + 0x10], 0x2c
jmp 0x45898e
test ebx, 0xfc038580
je 0x4583b9
mov dword [esp + 0x10], 0x11
jmp 0x45897f
mov dword [esp + 0x28], 0x480bc0
mov dword [esp + 0x2c], 0x480cc0
mov dword [esp + 0x30], 0x480dc0
mov dword [esp + 0x34], 0x480f00
cmp byte [ebp], 0x28
jne 0x458511
nop
cmp byte [esi + ebp + 1], 0x2a
jne 0x458511
push 3
lea eax, [esi + ebp + 2]
push 0x4870c0
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x45841a
add esi, 5
mov eax, 0x100000
and ebx, 0xff8fffff
jmp 0x458505
push 3
lea eax, [esi + ebp + 2]
push 0x4870c4
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x458445
add esi, 5
mov eax, 0x200000
and ebx, 0xff8fffff
jmp 0x458505
push 5
lea eax, [esi + ebp + 2]
push str.CRLF_
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x458470
add esi, 7
mov eax, 0x300000
and ebx, 0xff8fffff
jmp 0x458505
push 4
lea eax, [esi + ebp + 2]
push str.ANY_
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x458498
add esi, 6
mov eax, 0x400000
and ebx, 0xff8fffff
jmp 0x458505
push 8
lea eax, [esi + ebp + 2]
push str.ANYCRLF_
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x4584c0
add esi, 0xa
mov eax, 0x500000
and ebx, 0xff8fffff
jmp 0x458505
push 0xc
lea eax, [esi + ebp + 2]
push str.BSR_ANYCRLF_
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x4584df
mov eax, 0x800000
jmp 0x4584fc
push 0xc
lea eax, [esi + ebp + 2]
push str.BSR_UNICODE_
push eax
call fcn.00415318
add esp, 0xc
test eax, eax
jne 0x458511
mov eax, 0x1000000
add esi, 0xe
and ebx, 0xfe7fffff
or ebx, eax
cmp byte [esi + ebp], 0x28
je 0x4583e4
mov eax, ebx
and eax, 0x1800000
je 0x458535
cmp eax, 0x800000
je 0x458535
cmp eax, 0x1000000
je 0x458535
mov dword [esp + 0x10], 0x38
jmp 0x45897f
mov eax, ebx
and eax, 0x700000
cmp eax, 0x300000
mov ecx, 2
jg 0x458593
je 0x45856a
cmp eax, edi
je 0x45855c
cmp eax, 0x100000
je 0x458563
cmp eax, 0x200000
jne 0x458528
mov eax, 0xa
jmp 0x45856f
mov eax, 0xd
jmp 0x45856f
mov eax, 0xd0a
cmp eax, 0xff
mov dword [esp + 0x78], edi
jle 0x4585b1
mov edx, eax
sar edx, 8
mov dword [esp + 0x7c], ecx
mov byte [esp + 0x80], dl
mov byte [esp + 0x81], al
jmp 0x4585c0
cmp eax, 0x400000
je 0x4585a7
cmp eax, 0x500000
jne 0x458528
mov dword [esp + 0x78], ecx
jmp 0x4585c0
mov dword [esp + 0x78], 1
jmp 0x4585c0
mov dword [esp + 0x7c], 1
mov byte [esp + 0x80], al
lea edx, [esp + 0x88]
mov ecx, edx
push ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], ebp
call fcn.00414be0
add eax, ebp
mov dword [esp + 0x48], eax
lea eax, [esi + ebp]
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x30]
push edx
push edi
lea eax, [esp + 0x98]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x38]
push ecx
push edi
push edi
push edi
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov edx, ebx
and edx, 7
push edx
push ebx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
mov byte [esp + 0xc0], 0x5e
call fcn.004562d1
add esp, 0x38
cmp dword [esp + 0x10], edi
jne 0x45897f
mov eax, dword [esp + 0x18]
cmp eax, 0x10000
jle 0x45868f
mov dword [esp + 0x10], 0x14
jmp 0x45897f
mov ecx, dword [esp + 0x54]
add ecx, 3
imul ecx, dword [esp + 0x50]
lea ebx, [ecx + eax + 0x28]
push ebx
call dword [0x48c650]
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x4586bc
mov dword [esp + 0x10], 0x15
jmp 0x45897f
mov dword [esi + 4], ebx
mov dword [esi], 0x50435245
mov edx, dword [esp + 0x68]
mov dword [esi + 8], edx
movzx eax, word [esp + 0x6c]
mov word [esi + 0xc], ax
xor ecx, ecx
mov word [esi + 0xe], cx
xor edx, edx
mov word [esi + 0x14], dx
xor eax, eax
mov word [esi + 0x16], ax
mov ecx, 0x28
mov word [esi + 0x18], cx
movzx edx, word [esp + 0x54]
mov word [esi + 0x1a], dx
movzx eax, word [esp + 0x50]
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
xor ecx, ecx
mov word [esi + 0x1e], cx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x50], edi
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [esp + 0x4c], eax
movzx ecx, word [esi + 0x1a]
movzx ebx, word [esi + 0x1c]
push edi
imul ebx, ecx
lea ecx, [esp + 0x2c]
push ecx
push edi
lea edx, [esp + 0x94]
mov dword [esp + 0x54], edx
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x34]
push ecx
push edi
push edi
add ebx, eax
mov eax, dword [esp + 0xa0]
push edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x38], eax
mov byte [ebx], 0x5e
mov eax, dword [esi + 8]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x44]
mov ecx, eax
push edx
and ecx, 7
push ecx
push eax
mov dword [esp + 0x50], ebx
call fcn.004562d1
movzx edx, word [esp + 0x8c]
mov word [esi + 0x10], dx
movzx eax, word [esp + 0x94]
mov word [esi + 0x12], ax
mov cx, word [esp + 0xa0]
add esp, 0x34
mov word [esi + 0xc], cx
cmp dword [esp + 0x74], edi
je 0x4587cb
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x10], edi
jne 0x4587e2
mov edx, dword [esp + 0x14]
cmp byte [edx], 0
je 0x4587e2
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, dword [esp + 0x18]
jle 0x4587ff
mov dword [esp + 0x10], 0x17
jmp 0x458975
cmp dword [esp + 0x10], edi
jne 0x458975
jmp 0x458814
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x88]
cmp eax, ecx
jbe 0x45895f
sub eax, 2
mov dword [esp + 0x48], eax
movzx edx, byte [eax]
movzx edi, byte [eax + 1]
shl edx, 8
or edi, edx
movzx eax, byte [edi + ebx]
movzx ecx, byte [edi + ebx + 1]
shl eax, 8
or eax, ecx
mov ecx, dword [esi + 8]
shr ecx, 0xb
push eax
and ecx, 1
push ecx
push ebx
call fcn.0043423f
add esp, 0xc
test eax, eax
je 0x45887c
mov edx, eax
sub edx, ebx
sar edx, 8
sub al, bl
mov byte [edi + ebx], dl
mov byte [edi + ebx + 1], al
cmp dword [esp + 0x10], 0
je 0x458814
jmp 0x458975
mov dword [esp + 0x10], 0x35
jmp 0x458975
mov eax, dword [esi + 8]
test al, 0x10
jne 0x458914
mov edx, dword [esp + 0x64]
push edx
mov dword [esp + 0x1c], eax
push 0
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004411ac
add esp, 0x10
test eax, eax
je 0x4588b7
or dword [esi + 8], 0x10
jmp 0x458914
mov eax, dword [esp + 0x24]
test eax, eax
jge 0x4588d3
push 0
lea ecx, [esp + 0x1c]
push ecx
push ebx
call fcn.00440fde
add esp, 0xc
test eax, eax
jl 0x4588fb
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x4588f0
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x4588f0
mov eax, ecx
or word [esi + 0xc], 2
mov word [esi + 0x14], ax
jmp 0x458914
mov eax, dword [esp + 0x64]
push eax
push 0
push ebx
call fcn.004410df
add esp, 0xc
test eax, eax
je 0x458914
or word [esi + 0xc], 8
mov eax, dword [esp + 0x20]
test eax, eax
jl 0x458952
test byte [esi + 8], 0x10
je 0x458929
test eax, 0x200
je 0x458952
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x458949
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x458949
and eax, 0xfffffeff
or word [esi + 0xc], 4
mov word [esi + 0x16], ax
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1078
ret
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x458889
mov dword [esp + 0x10], 0xf
push esi
call dword [0x48c654]
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1098]
sub eax, ebp
mov dword [ecx], eax
mov edx, dword [esp + 0x10]
push edx
call fcn.00434dc8
mov ecx, dword [esp + 0x1098]
add esp, 4
mov dword [ecx], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1078
ret
jmp 0x458314