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

Disassembly:
mov eax, 0x1094
call fcn.00519500
mov eax, dword [esp + 0x10a4]
push ebp
mov ebp, dword [esp + 0x109c]
push esi
xor esi, esi
mov dword [esp + 0x18], 1
mov dword [esp + 8], 0
mov dword [esp + 0x10], ebp
test eax, eax
jne 0x528e80
mov eax, dword [esp + 0x10a8]
test eax, eax
je 0x528e75
mov dword [eax], 0x63
pop esi
xor eax, eax
pop ebp
add esp, 0x1094
ret
mov dword [eax], esi
mov eax, dword [esp + 0x10a8]
test eax, eax
je 0x528e8f
mov dword [eax], esi
mov eax, dword [esp + 0x10b0]
push ebx
push edi
test eax, eax
jne 0x528ead
mov esi, 0x10
mov ecx, str.no_error
mov edx, esi
jmp 0x529736
mov ebx, dword [esp + 0x10bc]
mov dword [eax], esi
test ebx, ebx
jne 0x528ec6
mov ebx, 0x6a11a0
mov dword [esp + 0x10bc], ebx
mov edi, dword [esp + 0x10ac]
lea eax, [ebx + 0x100]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x200]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x340]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], eax
test edi, 0xd8038580
je 0x528f01
mov esi, 0x11
jmp 0x52971c
cmp byte [ebp], 0x28
jne 0x529093
jmp 0x528f10
cmp byte [esi + ebp + 1], 0x2a
jne 0x52908c
push 5
lea ebx, [ebp + 2]
add ebx, esi
push str.UTF8_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528f42
add esi, 7
or edi, 0x800
jmp 0x529082
push 4
push str.UCP_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528f64
add esi, 6
or edi, 0x20000000
jmp 0x529082
push 0xd
push str.NO_START_OPT_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528f86
add esi, 0xf
or edi, 0x4000000
jmp 0x529082
push 3
push 0x691c78
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528fad
add esi, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x529080
push 3
push 0x691c7c
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528fd4
add esi, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x529080
push 5
push str.CRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x528ffb
add esi, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x529080
push 4
push str.ANY_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x52901f
add esi, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x529080
push 8
push str.ANYCRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x529043
add esi, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x529080
push 0xc
push str.BSR_ANYCRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x52905e
mov eax, 0x800000
jmp 0x529077
push 0xc
push str.BSR_UNICODE_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x52908c
mov eax, 0x1000000
add esi, 0xe
and edi, 0xfe7fffff
or edi, eax
cmp byte [esi + ebp], 0x28
je 0x528f10
mov ebx, dword [esp + 0x10bc]
mov eax, edi
shr eax, 0xb
and eax, 1
mov dword [esp + 0x28], eax
je 0x5290d4
test edi, 0x2000
jne 0x5290d4
push dword [esp + 0x10b8]
push 0xffffffffffffffff
push ebp
call fcn.0053ad20
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x5290d4
mov esi, 0x2c
mov ecx, str.no_error
mov edx, esi
jmp 0x529736
mov eax, edi
and eax, 0x1800000
cmp eax, 0x1800000
je 0x529717
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
jg 0x529159
je 0x529137
test eax, eax
je 0x52910c
cmp eax, 0x100000
je 0x529130
cmp eax, 0x200000
jne 0x529717
mov eax, 0xa
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 1
mov byte [esp + 0xa0], al
jmp 0x529183
mov eax, 0xd
jmp 0x529111
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 2
mov word [esp + 0xa0], 0xa0d
jmp 0x529183
cmp eax, 0x400000
je 0x529178
cmp eax, 0x500000
jne 0x529717
mov dword [esp + 0x98], 2
jmp 0x529183
mov dword [esp + 0x98], 1
mov ecx, ebp
mov dword [esp + 0x78], 0
lea eax, [esp + 0xa4]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x64], 0
lea edx, [ecx + 1]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0x1000
mov dword [esp + 0x50], ebp
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5291e0
sub ecx, edx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], 0
lea eax, [ecx + ebp]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], eax
lea eax, [esi + ebp]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
mov byte [esp + 0xa8], 0x7d
push eax
push 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.005274a0
mov esi, dword [esp + 0x44]
add esp, 0x34
test esi, esi
jne 0x52971c
mov esi, dword [esp + 0x20]
cmp esi, 0x10000
jle 0x529296
mov esi, 0x14
jmp 0x52971c
mov eax, dword [esp + 0x68]
lea edi, [esi + 0x28]
imul eax, dword [esp + 0x64]
add edi, eax
push edi
call dword [0xb24ed8]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x5292c3
mov ebp, dword [esp + 0x10a8]
lea esi, [eax + 0x15]
jmp 0x52971c
mov dword [ebp], 0x50435245
mov dword [ebp + 4], edi
mov eax, dword [esp + 0x84]
mov dword [ebp + 8], eax
movzx eax, word [esp + 0x88]
mov word [ebp + 0xc], ax
xor eax, eax
mov word [ebp + 0xe], ax
mov dword [ebp + 0x14], eax
mov eax, 0x28
mov word [ebp + 0x18], ax
movzx eax, word [esp + 0x68]
mov word [ebp + 0x1a], ax
movzx eax, word [esp + 0x64]
mov word [ebp + 0x1c], ax
xor eax, eax
mov word [ebp + 0x1e], ax
mov eax, ebx
sub eax, 0x6a11a0
mov dword [ebp + 0x24], 0
neg eax
push 0
sbb eax, eax
and eax, ebx
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
movzx ecx, word [ebp + 0x18]
add ecx, ebp
mov dword [esp + 0x64], ecx
movzx eax, word [ebp + 0x1a]
movzx ebx, word [ebp + 0x1c]
imul ebx, eax
mov eax, dword [esp + 0x4c]
add ebx, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3c]
push eax
push 0
lea eax, [esp + 0x28]
mov dword [esp + 0x58], ebx
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x34]
mov dword [esp + 0xb4], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0xbc], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x84], 0
push eax
mov byte [ebx], 0x7d
push dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x48], ebx
call fcn.005274a0
movzx eax, word [esp + 0xa4]
add esp, 0x34
mov word [ebp + 0x10], ax
movzx eax, word [esp + 0x78]
mov word [ebp + 0x12], ax
mov eax, dword [esp + 0x88]
or eax, 1
mov word [ebp + 0xc], ax
cmp dword [esp + 0x90], 0
je 0x529410
or eax, 0xffffffff
jmp 0x529414
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x10], 0
mov dword [esp + 0x24], eax
jne 0x529430
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
je 0x529430
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x14]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, esi
jle 0x529449
mov eax, 0x17
mov dword [esp + 0x10], eax
jmp 0x52944d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
cmp edx, edi
jbe 0x529518
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0
test eax, eax
jne 0x529518
lea esp, [esp]
cmp edx, edi
jbe 0x529518
sub edx, 2
mov dword [esp + 0x5c], edx
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea eax, [ebx + 1]
movzx esi, byte [ecx + ebx]
lea edx, [ecx + ebx]
add eax, ecx
shl esi, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
movzx eax, byte [eax]
or esi, eax
cmp esi, dword [esp + 0x1c]
je 0x5294d9
push esi
push dword [esp + 0x2c]
push ebx
call fcn.00521a20
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
jmp 0x5294dd
mov eax, dword [esp + 0x20]
test eax, eax
je 0x52950b
mov ecx, eax
sub al, bl
sub ecx, ebx
sar ecx, 8
mov byte [edx], cl
mov ecx, dword [esp + 0x2c]
mov byte [ecx], al
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x529518
mov edx, dword [esp + 0x5c]
jmp 0x529480
mov eax, 0x35
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x6c], 0x1000
jle 0x529534
push edi
call dword [0xb24edc]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x52954f
mov ax, word [ebp + 0x12]
cmp ax, word [ebp + 0x10]
jbe 0x52954f
mov eax, 0xf
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x94], 0
je 0x52961a
push 0xffffffffffffffff
push dword [esp + 0x2c]
push ebx
call fcn.00521a20
mov edi, eax
add esp, 0xc
test edi, edi
je 0x52961a
jmp 0x529580
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
jne 0x5295d2
movzx esi, byte [edi - 2]
movzx eax, byte [edi - 1]
shl esi, 8
or esi, eax
lea eax, [esp + 0x38]
push eax
push 1
movzx ebx, byte [esi + edi - 3]
mov byte [esi + edi - 3], cl
mov eax, dword [ebp + 8]
shr eax, 0xb
and eax, 1
push eax
push edi
call fcn.00527f50
add esp, 0x10
mov byte [esi + edi - 3], bl
test eax, eax
js 0x5295f4
mov ecx, eax
mov byte [edi + 2], al
sar ecx, 8
mov byte [edi + 1], cl
push 0xffffffffffffffff
push dword [esp + 0x2c]
lea eax, [edi + 3]
push eax
call fcn.00521a20
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x529580
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
jmp 0x52961e
cmp eax, 0xfffffffe
jne 0x529603
mov dword [esp + 0x10], 0x24
jmp 0x529622
mov ebx, dword [esp + 0x34]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
and eax, 0xffffffd3
add eax, 0x46
mov dword [esp + 0x10], eax
jmp 0x52961e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x52963c
push ebp
call dword [0xb24edc]
mov esi, dword [esp + 0x14]
add esp, 4
mov ebp, dword [esp + 0x10a8]
jmp 0x52971c
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
test al, 0x10
jne 0x5296c5
mov esi, dword [esp + 0x7c]
push esi
push 0
push ebx
call fcn.00528b40
add esp, 0xc
test eax, eax
je 0x529667
mov eax, dword [esp + 0x2c]
or eax, 0x10
mov dword [ebp + 8], eax
jmp 0x5296c5
mov eax, dword [esp + 0x30]
test eax, eax
jns 0x529699
push 0
push ebx
call fcn.00527df0
add esp, 8
test eax, eax
jns 0x529699
push esi
push 0
push ebx
call fcn.00528cb0
add esp, 0xc
test eax, eax
je 0x5296c5
mov eax, 0x100
or word [ebp + 0xc], ax
jmp 0x5296c5
mov edx, eax
and edx, 0xff
mov word [ebp + 0x14], dx
test eax, 0x10000000
je 0x5296c0
mov eax, dword [esp + 0x3c]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x5296c0
or word [ebp + 0xc], 0x20
or word [ebp + 0xc], 0x10
mov eax, dword [esp + 0x24]
test eax, eax
js 0x52970a
test byte [ebp + 8], 0x10
je 0x5296da
test eax, 0x20000000
je 0x52970a
mov edx, eax
and edx, 0xff
mov word [ebp + 0x16], dx
test eax, 0x10000000
je 0x529705
mov eax, dword [esp + 0x3c]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x529705
mov eax, pe_nt_image_headers32
or word [ebp + 0xc], ax
or word [ebp + 0xc], 0x40
pop edi
pop ebx
pop esi
mov eax, ebp
pop ebp
add esp, 0x1094
ret
mov esi, 0x38
mov ecx, dword [esp + 0x10b8]
mov edx, esi
mov eax, dword [esp + 0x18]
sub eax, ebp
mov dword [ecx], eax
mov ecx, str.no_error
test esi, esi
jle 0x52974d
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529736
cmp byte [ecx], al
je 0x529748
dec edx
test edx, edx
jg 0x529736
jmp 0x52974d
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 0x529763
mov dword [eax], esi
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x1094
ret