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

Disassembly:
mov eax, 0x109c
call fcn.004918b0
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 0x47d61c
mov eax, dword [esp + 0x10b0]
test eax, eax
je 0x47de24
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 0x47d62b
mov dword [eax], esi
mov eax, dword [esp + 0x10b8]
test eax, eax
jne 0x47d647
mov ebp, 0x10
mov ecx, str.no_error
mov edx, ebp
jmp 0x47ddf7
mov dword [eax], esi
mov dword [esp + 0x30], 0x49dca0
mov dword [esp + 0x34], 0x49dda0
mov dword [esp + 0x38], 0x49dea0
mov dword [esp + 0x3c], 0x49dfe0
test edi, 0xd8038580
je 0x47d67b
mov ebp, 0x11
jmp 0x47ddd8
cmp byte [ebp], 0x28
jne 0x47d801
cmp byte [esi + ebp + 1], 0x2a
jne 0x47d801
push 5
lea ebx, [ebp + 2]
add ebx, esi
push str.UTF8_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d6b7
add esi, 7
or edi, 0x800
jmp 0x47d7f7
push 4
push str.UCP_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d6d9
add esi, 6
or edi, 0x20000000
jmp 0x47d7f7
push 0xd
push str.NO_START_OPT_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d6fb
add esi, 0xf
or edi, 0x4000000
jmp 0x47d7f7
push 3
push 0x4a40fc
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d722
add esi, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x47d7f5
push 3
push 0x4a4100
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d749
add esi, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x47d7f5
push 5
push str.CRLF_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d770
add esi, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x47d7f5
push 4
push str.ANY_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d794
add esi, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x47d7f5
push 8
push str.ANYCRLF_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d7b8
add esi, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x47d7f5
push 0xc
push str.BSR_ANYCRLF_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d7d3
mov eax, 0x800000
jmp 0x47d7ec
push 0xc
push str.BSR_UNICODE_
push ebx
call fcn.00487b90
add esp, 0xc
test eax, eax
jne 0x47d801
mov eax, 0x1000000
add esi, 0xe
and edi, 0xfe7fffff
or edi, eax
cmp byte [esi + ebp], 0x28
je 0x47d685
test edi, 0x20000000
je 0x47d813
mov ebp, 0x43
jmp 0x47ddd8
mov eax, edi
and eax, 0x1800000
cmp eax, 0x1800000
je 0x47ddd3
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
jg 0x47d898
je 0x47d876
test eax, eax
je 0x47d876
cmp eax, 0x100000
je 0x47d852
cmp eax, 0x200000
jne 0x47ddd3
mov eax, 0xa
jmp 0x47d857
mov eax, 0xd
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 1
mov byte [esp + 0x98], al
jmp 0x47d8c2
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 2
mov word [esp + 0x98], 0xa0d
jmp 0x47d8c2
cmp eax, 0x400000
je 0x47d8b7
cmp eax, 0x500000
jne 0x47ddd3
mov dword [esp + 0x90], 2
jmp 0x47d8c2
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 0x47d920
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.0047ce70
mov ebp, dword [esp + 0x50]
add esp, 0x2c
test ebp, ebp
jne 0x47ddd8
mov esi, dword [esp + 0x10]
cmp esi, 0x10000
jle 0x47d9d0
mov ebp, 0x14
jmp 0x47ddd8
mov eax, dword [esp + 0x60]
lea ebx, [esi + 0x28]
imul eax, dword [esp + 0x5c]
add ebx, eax
push ebx
call dword [0x49ce34]
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
jne 0x47d9fa
lea ebp, [eax + 0x15]
jmp 0x47ddd8
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.0047ce70
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 0x47db4c
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 0x47dbf6
xor edx, edx
mov dword [esp + 0x20], 0xffffffff
test ebp, ebp
jne 0x47dbf6
mov edi, edi
cmp eax, ecx
jbe 0x47dbf6
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 0x47dbc8
push esi
mov ecx, ebx
call fcn.004789c0
add esp, 4
mov dword [esp + 0x20], esi
mov edx, eax
test edx, edx
je 0x47dbed
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 0x47db80
mov ecx, dword [esp + 0x40]
mov ebp, 0x35
cmp dword [esp + 0x64], 0x1000
jle 0x47dc0a
push ecx
call dword [0x49ce38]
add esp, 4
test ebp, ebp
jne 0x47dc1e
mov ax, word [edi + 0x12]
mov ecx, 0xf
cmp ax, word [edi + 0x10]
cmova ebp, ecx
cmp dword [esp + 0x8c], 0
je 0x47dcdf
push 0xffffffffffffffff
mov ecx, ebx
call fcn.004789c0
mov edi, eax
add esp, 4
test edi, edi
je 0x47dcdb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
jne 0x47dc98
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.004786a0
add esp, 8
mov byte [esi + edi - 3], bl
test eax, eax
js 0x47dcad
mov ecx, eax
mov byte [edi + 2], al
sar ecx, 8
mov byte [edi + 1], cl
push 0xffffffffffffffff
lea ecx, [edi + 3]
call fcn.004789c0
mov edi, eax
add esp, 4
test edi, edi
jne 0x47dc42
jmp 0x47dcd7
cmp eax, 0xfffffffe
jne 0x47dcc7
push dword [esp + 0x10]
lea ebp, [eax + 0x26]
call dword [0x49ce38]
add esp, 4
jmp 0x47ddd8
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 0x47dcf5
push dword [esp + 0x10]
call dword [0x49ce38]
add esp, 4
jmp 0x47ddd8
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
test al, 0x10
jne 0x47dd7e
mov esi, dword [esp + 0x74]
xor edx, edx
push esi
mov ecx, ebx
call fcn.0047d220
add esp, 4
test eax, eax
je 0x47dd21
mov eax, dword [esp + 0x1c]
or eax, 0x10
mov dword [edi + 8], eax
jmp 0x47dd7e
mov eax, dword [esp + 0x2c]
test eax, eax
jns 0x47dd52
xor edx, edx
mov ecx, ebx
call fcn.0047d470
test eax, eax
jns 0x47dd52
push esi
xor edx, edx
mov ecx, ebx
call fcn.0047d320
add esp, 4
test eax, eax
je 0x47dd7e
mov eax, 0x100
or word [edi + 0xc], ax
jmp 0x47dd7e
mov edx, eax
and edx, 0xff
mov word [edi + 0x14], dx
test eax, 0x10000000
je 0x47dd79
mov eax, dword [esp + 0x34]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x47dd79
or word [edi + 0xc], 0x20
or word [edi + 0xc], 0x10
mov eax, dword [esp + 0xa4]
test eax, eax
js 0x47ddc6
test byte [edi + 8], 0x10
je 0x47dd96
test eax, 0x20000000
je 0x47ddc6
mov edx, eax
and edx, 0xff
mov word [edi + 0x16], dx
test eax, 0x10000000
je 0x47ddc1
mov eax, dword [esp + 0x34]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x47ddc1
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 0x47de0e
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ddf7
cmp byte [ecx], al
je 0x47de09
dec edx
test edx, edx
jg 0x47ddf7
jmp 0x47de0e
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 0x47de24
mov dword [eax], ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x109c
ret