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

Disassembly:
mov eax, 0x108c
call fcn.00426a60
mov ecx, dword [esp + 0x1098]
mov edx, dword [esp + 0x109c]
push ebx
mov ebx, dword [esp + 0x1094]
push ebp
push esi
push edi
mov edi, dword [esp + 0x10a4]
mov eax, edi
shr eax, 0xb
xor ebp, ebp
and eax, 1
xor esi, esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
cmp ecx, ebp
je 0x45fe0c
mov dword [ecx], ebp
cmp edx, ebp
jne 0x45f7cf
mov dword [esp + 0x10], 0x10
jmp 0x45fdf6
mov dword [edx], ebp
mov dword [esp + 0x30], 0x486dd0
mov dword [esp + 0x34], 0x486ed0
mov dword [esp + 0x38], 0x486fd0
mov dword [esp + 0x3c], 0x487110
test edi, 0xfc038580
je 0x45f806
mov dword [esp + 0x10], 0x11
jmp 0x45fde7
cmp byte [ebx], 0x28
jne 0x45f953
jmp 0x45f81e
mov eax, dword [esp + 0x1c]
cmp byte [ebx + esi + 1], 0x2a
jne 0x45f953
push 5
lea eax, [esi + ebx + 2]
push str.UTF8_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f84f
add esi, 7
or edi, 0x800
jmp 0x45f945
push 3
lea eax, [esi + ebx + 2]
push 0x48d21c
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f87a
add esi, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x45f943
push 3
lea eax, [esi + ebx + 2]
push 0x48d220
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f8a5
add esi, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x45f943
push 5
lea eax, [esi + ebx + 2]
push str.CRLF_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f8cd
add esi, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x45f943
push 4
lea eax, [esi + ebx + 2]
push str.ANY_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f8f5
add esi, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x45f943
push 8
lea eax, [esi + ebx + 2]
push str.ANYCRLF_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f91d
add esi, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x45f943
push 0xc
lea eax, [esi + ebx + 2]
push str.BSR_ANYCRLF_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f984
add esi, 0xe
mov eax, 0x800000
and edi, 0xfe7fffff
or edi, eax
cmp byte [esi + ebx], 0x28
je 0x45f81a
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x45f9a6
test edi, 0x2000
jne 0x45f9a6
push 0xffffffffffffffff
push ebx
call fcn.00433904
mov ecx, dword [esp + 0x10b4]
add esp, 8
cmp eax, ebp
mov dword [ecx], eax
jl 0x45f9a6
mov dword [esp + 0x10], 0x2c
jmp 0x45fdf6
push 0xc
lea eax, [esi + ebx + 2]
push str.BSR_UNICODE_
push eax
call fcn.00415538
add esp, 0xc
test eax, eax
jne 0x45f94f
add esi, 0xe
mov eax, 0x1000000
jmp 0x45f93d
mov eax, edi
and eax, 0x1800000
je 0x45f9ca
cmp eax, 0x800000
je 0x45f9ca
cmp eax, 0x1000000
je 0x45f9ca
mov dword [esp + 0x10], 0x38
jmp 0x45fde7
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
mov ecx, 2
jg 0x45fa2e
je 0x45fa27
cmp eax, ebp
je 0x45f9f1
cmp eax, 0x100000
je 0x45fa20
cmp eax, 0x200000
jne 0x45f9bd
mov eax, 0xa
cmp eax, 0xff
mov dword [esp + 0x88], ebp
jle 0x45fa52
mov edx, eax
sar edx, 8
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x90], dl
mov byte [esp + 0x91], al
jmp 0x45fa64
mov eax, 0xd
jmp 0x45f9f6
mov eax, 0xd0a
jmp 0x45f9f6
cmp eax, 0x400000
je 0x45fa45
cmp eax, 0x500000
jne 0x45f9bd
mov dword [esp + 0x88], ecx
jmp 0x45fa64
mov dword [esp + 0x88], 1
jmp 0x45fa64
mov dword [esp + 0x8c], 1
mov byte [esp + 0x90], al
lea edx, [esp + 0x98]
mov ecx, edx
push ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ebx
call fcn.00414ce0
add eax, ebx
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
push ebp
lea eax, [esp + 0xa8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
push ebp
push ebp
push ebp
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov edx, edi
and edx, 7
push edx
add esi, ebx
push edi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0xd0], 0x5e
call fcn.004526f7
add esp, 0x38
cmp dword [esp + 0x10], ebp
jne 0x45fde7
mov eax, dword [esp + 0x14]
cmp eax, 0x10000
jle 0x45fb36
mov dword [esp + 0x10], 0x14
jmp 0x45fde7
mov ecx, dword [esp + 0x60]
add ecx, 3
imul ecx, dword [esp + 0x5c]
lea edi, [ecx + eax + 0x28]
push edi
call dword [0x492670]
mov esi, eax
add esp, 4
cmp esi, ebp
jne 0x45fb63
mov dword [esp + 0x10], 0x15
jmp 0x45fde7
mov dword [esi], 0x50435245
mov dword [esi + 4], edi
mov edx, dword [esp + 0x74]
mov dword [esi + 8], edx
movzx eax, word [esp + 0x78]
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 + 0x60]
mov word [esi + 0x1a], dx
movzx eax, word [esp + 0x5c]
mov word [esi + 0x1c], ax
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], ebp
xor ecx, ecx
mov word [esi + 0x1e], cx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], ebp
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [esp + 0x58], eax
movzx ecx, word [esi + 0x1a]
movzx ebx, word [esi + 0x1c]
push ebp
imul ebx, ecx
lea ecx, [esp + 0x34]
push ecx
push ebp
lea edx, [esp + 0xa4]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x3c]
push ecx
push ebp
push ebp
add ebx, eax
mov eax, dword [esp + 0x44]
push ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x70], ebp
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x3c], eax
mov byte [ebx], 0x5e
mov eax, dword [esi + 8]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x48]
mov ecx, eax
push edx
and ecx, 7
push ecx
push eax
mov dword [esp + 0x54], ebx
call fcn.004526f7
movzx edx, word [esp + 0x98]
mov word [esi + 0x10], dx
movzx eax, word [esp + 0xa0]
mov word [esi + 0x12], ax
mov cx, word [esp + 0xac]
add esp, 0x34
mov word [esi + 0xc], cx
cmp dword [esp + 0x80], ebp
je 0x45fc7d
mov dword [esp + 0x24], 0xffffffff
cmp dword [esp + 0x10], ebp
jne 0x45fc94
mov edx, dword [esp + 0x18]
cmp byte [edx], 0
je 0x45fc94
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x20]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, dword [esp + 0x14]
jle 0x45fcb1
mov dword [esp + 0x10], 0x17
jmp 0x45fd31
cmp dword [esp + 0x10], ebp
jne 0x45fd31
lea ecx, [ecx]
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x98]
cmp eax, ecx
jbe 0x45fd1f
sub eax, 2
mov dword [esp + 0x54], 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]
mov edx, dword [esp + 0x1c]
shl eax, 8
or eax, ecx
push eax
push edx
push ebx
call fcn.00433f10
add esp, 0xc
cmp eax, ebp
je 0x45fd15
mov ecx, eax
sub ecx, ebx
sar ecx, 8
sub al, bl
mov byte [edi + ebx], cl
mov byte [edi + ebx + 1], al
cmp dword [esp + 0x10], ebp
je 0x45fcba
jmp 0x45fd31
mov dword [esp + 0x10], 0x35
jmp 0x45fd31
mov dx, word [esi + 0x12]
cmp dx, word [esi + 0x10]
jbe 0x45fd31
mov dword [esp + 0x10], 0xf
cmp dword [esp + 0x84], ebp
je 0x45fdd0
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
push eax
push ebx
call fcn.00433f10
mov edi, eax
add esp, 0xc
cmp edi, ebp
je 0x45fdd0
mov edi, edi
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
jne 0x45fdb7
movzx eax, byte [edi - 2]
movzx ecx, byte [edi - 1]
shl eax, 8
or eax, ecx
movzx edx, byte [eax + edi - 3]
lea eax, [eax + edi - 3]
mov byte [eax], 0
mov ecx, dword [esi + 8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x30]
push eax
push 1
push ecx
push edi
mov dword [esp + 0x38], edx
call fcn.00434020
mov dl, byte [esp + 0x38]
mov ecx, dword [esp + 0x24]
add esp, 0x10
cmp eax, ebp
mov byte [ecx], dl
jl 0x45fe19
mov edx, eax
sar edx, 8
mov byte [edi + 1], dl
mov byte [edi + 2], al
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
push eax
add edi, 3
push edi
call fcn.00433f10
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne 0x45fd5a
cmp dword [esp + 0x10], ebp
je 0x45fe2c
push esi
call dword [0x492674]
mov ebx, dword [esp + 0x10a4]
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10ac]
sub eax, ebx
mov dword [ecx], eax
mov edx, dword [esp + 0x10]
push edx
call fcn.00434cc3
mov ecx, dword [esp + 0x10ac]
add esp, 4
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x108c
ret
sub eax, 0xfffffffe
neg eax
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x24
mov dword [esp + 0x10], eax
jmp 0x45fdd6
mov eax, dword [esi + 8]
test al, 0x10
jne 0x45feb4
mov edx, dword [esp + 0x70]
push edx
mov dword [esp + 0x18], eax
push ebp
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.004419fa
add esp, 0x10
test eax, eax
je 0x45fe59
or dword [esi + 8], 0x10
jmp 0x45feb4
mov eax, dword [esp + 0x2c]
cmp eax, ebp
jge 0x45fe74
push ebp
lea ecx, [esp + 0x18]
push ecx
push ebx
call fcn.004417d2
add esp, 0xc
cmp eax, ebp
jl 0x45fe9c
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x45fe91
mov edx, dword [esp + 0x34]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x45fe91
mov eax, ecx
or word [esi + 0xc], 2
mov word [esi + 0x14], ax
jmp 0x45feb4
mov eax, dword [esp + 0x70]
push eax
push ebp
push ebx
call fcn.004418d3
add esp, 0xc
test eax, eax
je 0x45feb4
or word [esi + 0xc], 8
mov eax, dword [esp + 0x24]
cmp eax, ebp
jl 0x45fef2
test byte [esi + 8], 0x10
je 0x45fec9
test eax, 0x200
je 0x45fef2
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x45fee9
mov edx, dword [esp + 0x34]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x45fee9
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, 0x108c
ret