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

Disassembly:
mov eax, 0x109c
call fcn.00492d90
mov eax, dword [esp + 0x10a4]
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0xc], 1
xor esi, esi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], ebp
push edi
mov edi, edx
test eax, eax
jne 0x47eafc
mov eax, dword [esp + 0x10b0]
test eax, eax
je 0x47f304
mov dword [eax], 0x63
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x109c
ret
mov dword [eax], esi
mov eax, dword [esp + 0x10b0]
test eax, eax
je 0x47eb0b
mov dword [eax], esi
mov eax, dword [esp + 0x10b8]
test eax, eax
jne 0x47eb27
mov ebp, 0x10
mov ecx, str.no_error
mov edx, ebp
jmp 0x47f2d7
mov dword [eax], esi
mov dword [esp + 0x30], 0x4a0070
mov dword [esp + 0x34], 0x4a0170
mov dword [esp + 0x38], 0x4a0270
mov dword [esp + 0x3c], 0x4a03b0
test edi, 0xd8038580
je 0x47eb5b
mov ebp, 0x11
jmp 0x47f2b8
cmp byte [ebp], 0x28
jne 0x47ece1
cmp byte [esi + ebp + 1], 0x2a
jne 0x47ece1
push 5
lea ebx, [ebp + 2]
add ebx, esi
push str.UTF8_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47eb97
add esi, 7
or edi, 0x800
jmp 0x47ecd7
push 4
push str.UCP_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ebb9
add esi, 6
or edi, 0x20000000
jmp 0x47ecd7
push 0xd
push str.NO_START_OPT_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ebdb
add esi, 0xf
or edi, 0x4000000
jmp 0x47ecd7
push 3
push 0x4a64ec
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ec02
add esi, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x47ecd5
push 3
push 0x4a64f0
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ec29
add esi, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x47ecd5
push 5
push str.CRLF_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ec50
add esi, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x47ecd5
push 4
push str.ANY_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ec74
add esi, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x47ecd5
push 8
push str.ANYCRLF_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ec98
add esi, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x47ecd5
push 0xc
push str.BSR_ANYCRLF_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ecb3
mov eax, 0x800000
jmp 0x47eccc
push 0xc
push str.BSR_UNICODE_
push ebx
call fcn.00489070
add esp, 0xc
test eax, eax
jne 0x47ece1
mov eax, 0x1000000
add esi, 0xe
and edi, 0xfe7fffff
or edi, eax
cmp byte [esi + ebp], 0x28
je 0x47eb65
test edi, 0x20000000
je 0x47ecf3
mov ebp, 0x43
jmp 0x47f2b8
mov eax, edi
and eax, 0x1800000
cmp eax, 0x1800000
je 0x47f2b3
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
jg 0x47ed78
je 0x47ed56
test eax, eax
je 0x47ed56
cmp eax, 0x100000
je 0x47ed32
cmp eax, 0x200000
jne 0x47f2b3
mov eax, 0xa
jmp 0x47ed37
mov eax, 0xd
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 1
mov byte [esp + 0x98], al
jmp 0x47eda2
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 0xa0d
jmp 0x47eda2
cmp eax, 0x400000
je 0x47ed97
cmp eax, 0x500000
jne 0x47f2b3
mov dword [esp + 0x90], 2
jmp 0x47eda2
mov dword [esp + 0x90], 1
mov ecx, ebp
mov dword [esp + 0x70], 0
lea eax, [esp + 0xa8]
mov dword [esp + 0x74], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x5c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], 0x1000
mov dword [esp + 0x48], ebp
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ee00
sub ecx, edx
mov dword [esp + 0x84], 0
lea edx, [esp + 0x14]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], 0
lea eax, [ecx + ebp]
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], eax
mov ecx, edi
lea eax, [esi + ebp]
mov byte [esp + 0xa8], 0x7d
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
push 0
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0047e350
mov ebp, dword [esp + 0x50]
add esp, 0x2c
test ebp, ebp
jne 0x47f2b8
mov esi, dword [esp + 0x10]
cmp esi, 0x10000
jle 0x47eeb0
mov ebp, 0x14
jmp 0x47f2b8
mov eax, dword [esp + 0x60]
lea ebx, [esi + 0x28]
imul eax, dword [esp + 0x5c]
add ebx, eax
push ebx
call dword [0x49f204]
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
jne 0x47eeda
lea ebp, [eax + 0x15]
jmp 0x47f2b8
mov dword [edi + 4], ebx
lea edx, [esp + 0x14]
mov dword [edi], 0x50435245
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
movzx eax, word [esp + 0x80]
mov word [edi + 0xc], ax
xor eax, eax
mov word [edi + 0xe], ax
mov dword [edi + 0x14], eax
mov eax, 0x28
mov word [edi + 0x18], ax
movzx eax, word [esp + 0x60]
mov word [edi + 0x1a], ax
movzx eax, word [esp + 0x5c]
mov word [edi + 0x1c], ax
xor eax, eax
mov word [edi + 0x1e], ax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x5c], 0
movzx ecx, word [edi + 0x18]
add ecx, edi
mov dword [esp + 0x58], ecx
movzx eax, word [edi + 0x1a]
movzx ebx, word [edi + 0x1c]
imul ebx, eax
mov eax, dword [esp + 0x40]
add ebx, ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
push 0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
push eax
push 0
lea eax, [esp + 0x2c]
mov dword [esp + 0x50], ebx
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x94], 0
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x48]
mov dword [esp + 0xac], 0
push eax
mov dword [esp + 0xb4], 0
lea eax, [esp + 0x40]
mov dword [esp + 0x78], 0
mov byte [ebx], 0x7d
mov ecx, dword [edi + 8]
push eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], ebx
call fcn.0047e350
movzx eax, word [esp + 0x94]
or ecx, 0xffffffff
mov ebp, dword [esp + 0x50]
add esp, 0x2c
mov word [edi + 0x10], ax
movzx eax, word [esp + 0x70]
mov word [edi + 0x12], ax
mov eax, dword [esp + 0x80]
or eax, 1
mov word [edi + 0xc], ax
cmp dword [esp + 0x88], 0
mov eax, dword [esp + 0x20]
cmovne eax, ecx
mov dword [esp + 0xa4], eax
test ebp, ebp
jne 0x47f02c
mov eax, dword [esp + 0x18]
mov ecx, 0x16
cmp byte [eax], 0
cmovne ebp, ecx
mov eax, dword [esp + 0x14]
mov ecx, 0x17
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, esi
mov eax, dword [esp + 0x54]
cmovg ebp, ecx
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jbe 0x47f0d6
xor edx, edx
mov dword [esp + 0x20], 0xffffffff
test ebp, ebp
jne 0x47f0d6
mov edi, edi
cmp eax, ecx
jbe 0x47f0d6
sub eax, 2
mov dword [esp + 0x54], eax
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
movzx esi, byte [ecx + ebx]
lea eax, [ecx + ebx]
inc ecx
mov dword [esp + 0x1c], eax
add ecx, ebx
shl esi, 8
mov dword [esp + 0x14], ecx
movzx eax, byte [ecx]
or esi, eax
cmp esi, dword [esp + 0x20]
je 0x47f0a8
push esi
mov ecx, ebx
call fcn.00479ea0
add esp, 4
mov dword [esp + 0x20], esi
mov edx, eax
test edx, edx
je 0x47f0cd
mov eax, dword [esp + 0x1c]
mov ecx, edx
sub ecx, ebx
sar ecx, 8
mov byte [eax], cl
mov al, dl
mov ecx, dword [esp + 0x14]
sub al, bl
mov byte [ecx], al
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
jmp 0x47f060
mov ecx, dword [esp + 0x40]
mov ebp, 0x35
cmp dword [esp + 0x64], 0x1000
jle 0x47f0ea
push ecx
call dword [0x49f208]
add esp, 4
test ebp, ebp
jne 0x47f0fe
mov ax, word [edi + 0x12]
mov ecx, 0xf
cmp ax, word [edi + 0x10]
cmova ebp, ecx
cmp dword [esp + 0x8c], 0
je 0x47f1bf
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00479ea0
mov edi, eax
add esp, 4
test edi, edi
je 0x47f1bb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
jne 0x47f178
movzx esi, byte [edi - 2]
movzx eax, byte [edi - 1]
shl esi, 8
or esi, eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x14]
push 1
movzx ebx, byte [esi + edi - 3]
mov byte [esi + edi - 3], cl
mov ecx, edi
mov edx, dword [eax + 8]
shr edx, 0xb
and edx, 1
call fcn.00479b80
add esp, 8
mov byte [esi + edi - 3], bl
test eax, eax
js 0x47f18d
mov ecx, eax
mov byte [edi + 2], al
sar ecx, 8
mov byte [edi + 1], cl
push 0xffffffffffffffff
lea ecx, [edi + 3]
call fcn.00479ea0
mov edi, eax
add esp, 4
test edi, edi
jne 0x47f122
jmp 0x47f1b7
cmp eax, 0xfffffffe
jne 0x47f1a7
push dword [esp + 0x10]
lea ebp, [eax + 0x26]
call dword [0x49f208]
add esp, 4
jmp 0x47f2b8
cmp eax, 0xfffffffc
mov ebp, 0x19
mov ecx, 0x46
cmove ebp, ecx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
test ebp, ebp
je 0x47f1d5
push dword [esp + 0x10]
call dword [0x49f208]
add esp, 4
jmp 0x47f2b8
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
test al, 0x10
jne 0x47f25e
mov esi, dword [esp + 0x74]
xor edx, edx
push esi
mov ecx, ebx
call fcn.0047e700
add esp, 4
test eax, eax
je 0x47f201
mov eax, dword [esp + 0x1c]
or eax, 0x10
mov dword [edi + 8], eax
jmp 0x47f25e
mov eax, dword [esp + 0x2c]
test eax, eax
jns 0x47f232
xor edx, edx
mov ecx, ebx
call fcn.0047e950
test eax, eax
jns 0x47f232
push esi
xor edx, edx
mov ecx, ebx
call fcn.0047e800
add esp, 4
test eax, eax
je 0x47f25e
mov eax, 0x100
or word [edi + 0xc], ax
jmp 0x47f25e
mov edx, eax
and edx, 0xff
mov word [edi + 0x14], dx
test eax, 0x10000000
je 0x47f259
mov eax, dword [esp + 0x34]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x47f259
or word [edi + 0xc], 0x20
or word [edi + 0xc], 0x10
mov eax, dword [esp + 0xa4]
test eax, eax
js 0x47f2a6
test byte [edi + 8], 0x10
je 0x47f276
test eax, 0x20000000
je 0x47f2a6
mov edx, eax
and edx, 0xff
mov word [edi + 0x16], dx
test eax, 0x10000000
je 0x47f2a1
mov eax, dword [esp + 0x34]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x47f2a1
mov eax, 0x80
or word [edi + 0xc], ax
or word [edi + 0xc], 0x40
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x109c
ret
mov ebp, 0x38
mov ecx, dword [esp + 0x10b8]
mov edx, ebp
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0xa0]
mov dword [ecx], eax
mov ecx, str.no_error
test ebp, ebp
jle 0x47f2ee
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47f2d7
cmp byte [ecx], al
je 0x47f2e9
dec edx
test edx, edx
jg 0x47f2d7
jmp 0x47f2ee
mov ecx, str.Error_text_not_found__please_report_
mov eax, dword [esp + 0x10b4]
mov dword [eax], ecx
mov eax, dword [esp + 0x10b0]
test eax, eax
je 0x47f304
mov dword [eax], ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x109c
ret