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

Disassembly:
mov eax, 0x1078
call fcn.004203f0
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 0x45ac43
mov dword [eax], edi
cmp ecx, edi
jne 0x45a5ec
mov dword [esp + 0x10], 0x10
jmp 0x45ac2d
mov dword [ecx], edi
mov dword [esp + 0x28], 0x484da8
mov dword [esp + 0x2c], 0x484ea8
mov dword [esp + 0x30], 0x484fa8
mov dword [esp + 0x34], 0x4850e8
test ebx, 0xfc038580
je 0x45a623
mov dword [esp + 0x10], 0x11
jmp 0x45ac1e
cmp byte [ebp], 0x28
jne 0x45a786
lea ebx, [ebx]
cmp byte [esi + ebp + 1], 0x2a
jne 0x45a786
push 5
lea eax, [esi + ebp + 2]
push str.UTF8_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a664
add esi, 7
or ebx, 0x800
jmp 0x45a77c
push 3
lea eax, [esi + ebp + 2]
push 0x48b4cc
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a68f
add esi, 5
mov eax, 0x100000
and ebx, 0xff8fffff
jmp 0x45a77a
push 3
lea eax, [esi + ebp + 2]
push 0x48b4d0
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a6ba
add esi, 5
mov eax, 0x200000
and ebx, 0xff8fffff
jmp 0x45a77a
push 5
lea eax, [esi + ebp + 2]
push str.CRLF_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a6e5
add esi, 7
mov eax, 0x300000
and ebx, 0xff8fffff
jmp 0x45a77a
push 4
lea eax, [esi + ebp + 2]
push str.ANY_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a70d
add esi, 6
mov eax, 0x400000
and ebx, 0xff8fffff
jmp 0x45a77a
push 8
lea eax, [esi + ebp + 2]
push str.ANYCRLF_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a735
add esi, 0xa
mov eax, 0x500000
and ebx, 0xff8fffff
jmp 0x45a77a
push 0xc
lea eax, [esi + ebp + 2]
push str.BSR_ANYCRLF_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a754
mov eax, 0x800000
jmp 0x45a771
push 0xc
lea eax, [esi + ebp + 2]
push str.BSR_UNICODE_
push eax
call fcn.00415e08
add esp, 0xc
test eax, eax
jne 0x45a786
mov eax, 0x1000000
add esi, 0xe
and ebx, 0xfe7fffff
or ebx, eax
cmp byte [esi + ebp], 0x28
je 0x45a633
test ebx, 0x800
je 0x45a7bb
test ebx, 0x2000
jne 0x45a7bb
push 0xffffffffffffffff
push ebp
call fcn.00434842
mov ecx, dword [esp + 0x10a0]
add esp, 8
cmp eax, edi
mov dword [ecx], eax
jl 0x45a7bb
mov dword [esp + 0x10], 0x2c
jmp 0x45ac2d
mov eax, ebx
and eax, 0x1800000
je 0x45a7df
cmp eax, 0x800000
je 0x45a7df
cmp eax, 0x1000000
je 0x45a7df
mov dword [esp + 0x10], 0x38
jmp 0x45ac1e
mov eax, ebx
and eax, 0x700000
cmp eax, 0x300000
mov ecx, 2
jg 0x45a83d
je 0x45a814
cmp eax, edi
je 0x45a806
cmp eax, 0x100000
je 0x45a80d
cmp eax, 0x200000
jne 0x45a7d2
mov eax, 0xa
jmp 0x45a819
mov eax, 0xd
jmp 0x45a819
mov eax, 0xd0a
cmp eax, 0xff
mov dword [esp + 0x78], edi
jle 0x45a85b
mov edx, eax
sar edx, 8
mov dword [esp + 0x7c], ecx
mov byte [esp + 0x80], dl
mov byte [esp + 0x81], al
jmp 0x45a86a
cmp eax, 0x400000
je 0x45a851
cmp eax, 0x500000
jne 0x45a7d2
mov dword [esp + 0x78], ecx
jmp 0x45a86a
mov dword [esp + 0x78], 1
jmp 0x45a86a
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.004156d0
add eax, ebp
mov dword [esp + 0x48], 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
add esi, ebp
push ebx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xbc], esi
mov dword [esp + 0x4c], esi
mov byte [esp + 0xc0], 0x5e
call fcn.00456a8e
add esp, 0x38
cmp dword [esp + 0x10], edi
jne 0x45ac1e
mov eax, dword [esp + 0x18]
cmp eax, 0x10000
jle 0x45a938
mov dword [esp + 0x10], 0x14
jmp 0x45ac1e
mov ecx, dword [esp + 0x54]
add ecx, 3
imul ecx, dword [esp + 0x50]
lea ebx, [ecx + eax + 0x28]
push ebx
call dword [0x490650]
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x45a965
mov dword [esp + 0x10], 0x15
jmp 0x45ac1e
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.00456a8e
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 0x45aa74
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x10], edi
jne 0x45aa8b
mov edx, dword [esp + 0x14]
cmp byte [edx], 0
je 0x45aa8b
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 0x45aaa8
mov dword [esp + 0x10], 0x17
jmp 0x45ac14
cmp dword [esp + 0x10], edi
jne 0x45ac14
nop
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x88]
cmp eax, ecx
jbe 0x45abfe
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.00434e4e
add esp, 0xc
test eax, eax
je 0x45ab1b
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 0x45aab3
jmp 0x45ac14
mov dword [esp + 0x10], 0x35
jmp 0x45ac14
mov eax, dword [esi + 8]
test al, 0x10
jne 0x45abb3
mov edx, dword [esp + 0x64]
push edx
mov dword [esp + 0x1c], eax
push 0
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.0044268c
add esp, 0x10
test eax, eax
je 0x45ab56
or dword [esi + 8], 0x10
jmp 0x45abb3
mov eax, dword [esp + 0x24]
test eax, eax
jge 0x45ab72
push 0
lea ecx, [esp + 0x1c]
push ecx
push ebx
call fcn.00442464
add esp, 0xc
test eax, eax
jl 0x45ab9a
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x45ab8f
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x45ab8f
mov eax, ecx
or word [esi + 0xc], 2
mov word [esi + 0x14], ax
jmp 0x45abb3
mov eax, dword [esp + 0x64]
push eax
push 0
push ebx
call fcn.00442565
add esp, 0xc
test eax, eax
je 0x45abb3
or word [esi + 0xc], 8
mov eax, dword [esp + 0x20]
test eax, eax
jl 0x45abf1
test byte [esi + 8], 0x10
je 0x45abc8
test eax, 0x200
je 0x45abf1
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x45abe8
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x45abe8
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 0x45ab28
mov dword [esp + 0x10], 0xf
push esi
call dword [0x490654]
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.00435b43
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 0x45a593