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

Disassembly:
mov eax, 0x1084
call fcn.004c6f60
mov eax, dword [esp + 0x1094]
push ebx
mov ebx, dword [esp + 0x108c]
push esi
xor esi, esi
push edi
xor edi, edi
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
cmp eax, esi
jne 0x4b39c0
mov eax, dword [esp + 0x109c]
cmp eax, esi
je 0x4b39b4
mov dword [eax], 0x63
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1084
ret
mov dword [eax], esi
mov eax, dword [esp + 0x109c]
cmp eax, esi
je 0x4b39cf
mov dword [eax], esi
mov eax, dword [esp + 0x10a4]
push ebp
cmp eax, esi
jne 0x4b39e5
mov eax, 0x10
jmp 0x4b406d
mov dword [eax], esi
mov eax, dword [esp + 0x10ac]
cmp eax, esi
jne 0x4b39fe
mov eax, 0x4dec00
mov dword [esp + 0x10ac], eax
mov ebp, dword [esp + 0x109c]
lea ecx, [eax + 0x100]
lea edx, [eax + 0x200]
mov dword [esp + 0x28], eax
add eax, 0x340
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test ebp, 0xd8038580
je 0x4b3a38
mov eax, 0x11
jmp 0x4b405e
cmp byte [ebx], 0x28
jne 0x4b3ba4
jmp 0x4b3a45
xor esi, esi
cmp byte [ebx + edi + 1], 0x2a
jne 0x4b3ba4
push 5
lea esi, [edi + ebx + 2]
push str.UTF8_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3a76
add edi, 7
or ebp, 0x800
jmp 0x4b3b98
push 4
push str.UCP_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3a98
add edi, 6
or ebp, 0x20000000
jmp 0x4b3b98
push 0xd
push str.NO_START_OPT_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3aba
add edi, 0xf
or ebp, 0x4000000
jmp 0x4b3b98
push 3
push 0x4e5768
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3ae1
add edi, 5
mov eax, 0x100000
and ebp, 0xff8fffff
jmp 0x4b3b96
push 3
push 0x4e576c
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3b08
add edi, 5
mov eax, 0x200000
and ebp, 0xff8fffff
jmp 0x4b3b96
push 5
push str.CRLF_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3b2c
add edi, 7
mov eax, 0x300000
and ebp, 0xff8fffff
jmp 0x4b3b96
push 4
push str.ANY_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3b50
add edi, 6
mov eax, 0x400000
and ebp, 0xff8fffff
jmp 0x4b3b96
push 8
push str.ANYCRLF_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3b74
add edi, 0xa
mov eax, 0x500000
and ebp, 0xff8fffff
jmp 0x4b3b96
push 0xc
push str.BSR_ANYCRLF_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3bb6
add edi, 0xe
mov eax, 0x800000
and ebp, 0xfe7fffff
or ebp, eax
cmp byte [edi + ebx], 0x28
je 0x4b3a43
xor esi, esi
test ebp, 0x20000000
je 0x4b3bd4
mov eax, 0x43
jmp 0x4b405e
push 0xc
push str.BSR_UNICODE_
push esi
call fcn.004bd9fb
add esp, 0xc
test eax, eax
jne 0x4b3ba2
add edi, 0xe
mov eax, 0x1000000
jmp 0x4b3b90
mov eax, ebp
and eax, 0x1800000
cmp eax, 0x1800000
jne 0x4b3bec
mov eax, 0x38
jmp 0x4b405e
mov eax, ebp
and eax, 0x700000
mov ecx, 2
cmp eax, 0x300000
jg 0x4b3c50
je 0x4b3c49
cmp eax, esi
je 0x4b3c49
cmp eax, 0x100000
je 0x4b3c42
cmp eax, 0x200000
jne 0x4b3c5e
mov eax, 0xa
mov dword [esp + 0x88], esi
cmp eax, 0xff
jle 0x4b3c7e
mov dword [esp + 0x8c], ecx
mov ecx, eax
sar ecx, 8
mov byte [esp + 0x90], cl
mov byte [esp + 0x91], al
jmp 0x4b3c90
mov eax, 0xd
jmp 0x4b3c18
mov eax, 0xd0a
jmp 0x4b3c18
cmp eax, 0x400000
je 0x4b3c71
cmp eax, 0x500000
je 0x4b3c68
mov eax, 0x38
jmp 0x4b405e
mov dword [esp + 0x88], ecx
jmp 0x4b3c90
mov dword [esp + 0x88], 1
jmp 0x4b3c90
mov dword [esp + 0x8c], 1
mov byte [esp + 0x90], al
lea edx, [esp + 0x94]
mov eax, edx
mov dword [esp + 0x4c], eax
mov ecx, edx
mov eax, ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x5c], 0x1000
mov dword [esp + 0x40], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b3cd4
sub eax, edx
add eax, ebx
lea edx, [esp + 0x94]
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x48], eax
xor eax, eax
lea edx, [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
push eax
push eax
push eax
push eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x48]
push edx
lea esi, [edi + ebx]
push ebp
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x48], esi
mov byte [esp + 0xc8], 0x7d
call fcn.004b2ea0
mov eax, dword [esp + 0x44]
add esp, 0x34
test eax, eax
jne 0x4b405e
mov ebp, dword [esp + 0x18]
cmp ebp, 0x10000
jle 0x4b3d72
mov eax, 0x14
jmp 0x4b405e
mov eax, dword [esp + 0x58]
imul eax, dword [esp + 0x54]
lea ebx, [eax + ebp + 0x28]
push ebx
call dword [0x4ec360]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b3d97
lea eax, [edi + 0x15]
jmp 0x4b4057
mov dword [edi + 4], ebx
mov dword [edi], 0x50435245
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
movzx edx, word [esp + 0x78]
mov word [edi + 0xc], dx
xor eax, eax
mov word [edi + 0xe], ax
xor ecx, ecx
mov dword [edi + 0x14], ecx
mov eax, 0x28
mov word [edi + 0x18], ax
movzx ecx, word [esp + 0x58]
mov word [edi + 0x1a], cx
movzx edx, word [esp + 0x54]
xor eax, eax
mov word [edi + 0x1e], ax
mov eax, dword [esp + 0x10ac]
mov ecx, eax
mov word [edi + 0x1c], dx
sub ecx, 0x4dec00
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [edi + 0x20], ecx
xor ecx, ecx
mov dword [edi + 0x24], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], ecx
movzx eax, word [edi + 0x18]
add eax, edi
mov dword [esp + 0x50], eax
movzx edx, word [edi + 0x1a]
movzx ebx, word [edi + 0x1c]
imul ebx, edx
push ecx
add ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
lea edx, [esp + 0x2c]
push edx
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esp + 0x34]
push edx
push ecx
push ecx
push ecx
push ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x6c], ecx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x64], ebx
push ecx
lea edx, [esp + 0x48]
mov byte [ebx], 0x7d
mov eax, dword [edi + 8]
push edx
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], ebx
call fcn.004b2ea0
movzx ecx, word [esp + 0x94]
mov word [edi + 0x10], cx
movzx edx, word [esp + 0x9c]
mov word [edi + 0x12], dx
mov eax, dword [esp + 0xac]
or eax, 1
add esp, 0x34
mov word [edi + 0xc], ax
cmp dword [esp + 0x80], 0
je 0x4b3ebc
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x4b3ed4
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x4b3ed4
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, ebp
jle 0x4b3eea
mov dword [esp + 0x10], 0x17
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x38]
jbe 0x4b3f5f
xor eax, eax
or edx, 0xffffffff
cmp dword [esp + 0x10], eax
jne 0x4b3f5f
nop
cmp ecx, dword [esp + 0x38]
jbe 0x4b3f5f
sub ecx, 2
mov dword [esp + 0x4c], ecx
movzx ebp, byte [ecx + 1]
movzx ecx, byte [ecx]
shl ecx, 8
or ebp, ecx
movzx esi, byte [ebx + ebp]
movzx ecx, byte [ebx + ebp + 1]
shl esi, 8
or esi, ecx
cmp esi, edx
je 0x4b3f34
mov eax, ebx
call fcn.004ae340
mov edx, esi
test eax, eax
je 0x4b3f57
mov ecx, eax
sub ecx, ebx
sar ecx, 8
mov byte [ebx + ebp], cl
mov cl, al
sub cl, bl
mov byte [ebx + ebp + 1], cl
cmp dword [esp + 0x10], 0
jne 0x4b3f5f
mov ecx, dword [esp + 0x4c]
jmp 0x4b3f00
mov dword [esp + 0x10], 0x35
cmp dword [esp + 0x5c], 0x1000
jle 0x4b3f77
mov edx, dword [esp + 0x38]
push edx
call dword [0x4ec364]
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x4b3f90
mov ax, word [edi + 0x12]
cmp ax, word [edi + 0x10]
jbe 0x4b3f90
mov dword [esp + 0x10], 0xf
cmp dword [esp + 0x84], 0
je 0x4b4042
or esi, 0xffffffff
mov eax, ebx
call fcn.004ae340
mov esi, eax
test esi, esi
je 0x4b4042
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
jne 0x4b400f
movzx eax, byte [esi - 2]
movzx ecx, byte [esi - 1]
shl eax, 8
or eax, ecx
movzx edx, byte [eax + esi - 3]
lea ebp, [eax + esi - 3]
mov byte [ebp], 0
mov ecx, dword [edi + 8]
lea eax, [esp + 0x28]
push eax
shr ecx, 0xb
push 1
and ecx, 1
push ecx
push esi
mov dword [esp + 0x28], edx
call fcn.004ae030
mov dl, byte [esp + 0x28]
add esp, 0x10
mov byte [ebp], dl
test eax, eax
js 0x4b4022
mov ecx, eax
sar ecx, 8
mov byte [esi + 1], cl
mov byte [esi + 2], al
lea eax, [esi + 3]
or esi, 0xffffffff
call fcn.004ae340
mov esi, eax
test esi, esi
jne 0x4b3fb2
jmp 0x4b4042
cmp eax, 0xfffffffe
jne 0x4b4031
mov dword [esp + 0x10], 0x24
jmp 0x4b4049
sub eax, 0xfffffffc
neg eax
sbb eax, eax
and eax, 0xffffffd3
add eax, 0x46
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x4b40b2
push edi
call dword [0x4ec364]
mov eax, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x1098]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10a8]
sub ecx, ebx
mov dword [edx], ecx
mov esi, eax
mov ecx, str.no_error
test eax, eax
jle 0x4b408f
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4b4078
cmp byte [ecx], dl
je 0x4b408a
dec esi
test esi, esi
jg 0x4b4078
jmp 0x4b408f
mov ecx, str.Error_text_not_found__please_report_
mov edx, dword [esp + 0x10a4]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10a0]
test ecx, ecx
je 0x4b40a5
mov dword [ecx], eax
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1084
ret
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
test al, 0x10
jne 0x4b413f
mov esi, dword [esp + 0x6c]
push esi
push 0
push ebx
call fcn.004b3280
add esp, 0xc
test eax, eax
je 0x4b40e1
mov eax, dword [esp + 0x18]
or eax, 0x10
mov dword [edi + 8], eax
jmp 0x4b413f
mov eax, dword [esp + 0x24]
test eax, eax
jns 0x4b40f8
push 0
push ebx
call fcn.004b3730
add esp, 8
test eax, eax
js 0x4b4126
mov ecx, eax
and ecx, 0xff
mov word [edi + 0x14], cx
test eax, 0x10000000
je 0x4b411f
mov edx, dword [esp + 0x2c]
mov eax, ecx
movzx eax, byte [eax + edx]
cmp ax, cx
je 0x4b411f
or word [edi + 0xc], 0x20
or word [edi + 0xc], 0x10
jmp 0x4b413f
push esi
push 0
push ebx
call fcn.004b3440
add esp, 0xc
test eax, eax
je 0x4b413f
mov ecx, 0x100
or word [edi + 0xc], cx
mov ecx, dword [esp + 0x20]
test ecx, ecx
js 0x4b4185
test byte [edi + 8], 0x10
je 0x4b4155
test ecx, 0x20000000
je 0x4b4185
mov eax, ecx
and eax, 0xff
mov word [edi + 0x16], ax
test ecx, 0x10000000
je 0x4b4180
mov ecx, dword [esp + 0x2c]
mov edx, eax
movzx edx, byte [edx + ecx]
cmp dx, ax
je 0x4b4180
mov eax, 0x80
or word [edi + 0xc], ax
or word [edi + 0xc], 0x40
pop ebp
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x1084
ret