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

Disassembly:
mov eax, 0x1088
call fcn.004d0b30
mov edx, dword [esp + 0x108c]
push ebx
mov ebx, dword [esp + 0x109c]
push ebp
push esi
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x18], 1
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
cmp ebx, esi
jne 0x4b98b0
mov eax, dword [esp + 0x10a0]
cmp eax, esi
je 0x4b98a4
mov dword [eax], 0x63
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1088
ret
push edi
mov edi, dword [esp + 0x10a4]
mov dword [ebx], esi
cmp edi, esi
je 0x4b98c0
mov dword [edi], esi
mov eax, dword [esp + 0x10ac]
cmp eax, esi
jne 0x4b98d5
mov ecx, 0x10
jmp 0x4ba213
mov dword [eax], esi
mov eax, dword [esp + 0x10b0]
cmp eax, esi
jne 0x4b98ee
mov eax, 0x5004e8
mov dword [esp + 0x10b0], eax
lea ecx, [eax + 0x100]
mov dword [esp + 0x2c], ecx
lea ecx, [eax + 0x200]
mov dword [esp + 0x28], eax
add eax, 0x340
test dword [esp + 0x10a0], 0xd8038580
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
je 0x4b9926
mov ecx, 0x11
jmp 0x4ba1ef
cmp word [edx], 0x28
jne 0x4b9cfe
lea ebx, [edx + 4]
jmp 0x4b9942
mov edx, eax
cmp word [edx + ebp*2 + 2], 0x2a
jne 0x4b9cfc
mov edi, 6
mov ecx, ebx
mov esi, str.UTF16_
lea ebx, [ebx]
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b998a
test edi, edi
jne 0x4b9960
add ebp, 8
add ebx, 0x10
or dword [esp + 0x10a0], 0x800
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b99ac
add ebp, 8
add ebx, 0x10
or dword [esp + 0x10a0], 0x800
jmp 0x4b9ce3
mov edi, 4
mov ecx, ebx
mov esi, str.UCP_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b99e2
test edi, edi
jne 0x4b99b8
add ebp, 6
add ebx, 0xc
or dword [esp + 0x10a0], 0x20000000
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9a04
add ebp, 6
add ebx, 0xc
or dword [esp + 0x10a0], 0x20000000
jmp 0x4b9ce3
mov edi, 0xd
mov ecx, ebx
mov esi, str.NO_START_OPT_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9a3a
test edi, edi
jne 0x4b9a10
add ebp, 0xf
add ebx, 0x1e
or dword [esp + 0x10a0], 0x4000000
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9a5c
add ebp, 0xf
add ebx, 0x1e
or dword [esp + 0x10a0], 0x4000000
jmp 0x4b9ce3
mov edi, 3
mov ecx, ebx
mov esi, 0x509f30
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9a7e
test edi, edi
jne 0x4b9a68
jmp 0x4b9a8a
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9ab0
mov ecx, dword [esp + 0x10a0]
mov eax, 0x100000
and ecx, 0xff8fffff
add ebp, 5
add ebx, 0xa
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
mov edi, 3
mov ecx, ebx
mov esi, 0x509f34
lea esp, [esp]
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9afa
test edi, edi
jne 0x4b9ac0
mov ecx, dword [esp + 0x10a0]
mov eax, 0x200000
and ecx, 0xff8fffff
add ebp, 5
add ebx, 0xa
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9b2c
mov ecx, dword [esp + 0x10a0]
mov eax, 0x200000
and ecx, 0xff8fffff
add ebp, 5
add ebx, 0xa
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
mov edi, 5
mov ecx, ebx
mov esi, str.CRLF_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9b72
test edi, edi
jne 0x4b9b38
mov ecx, dword [esp + 0x10a0]
mov eax, 0x300000
and ecx, 0xff8fffff
add ebp, 7
add ebx, 0xe
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9ba4
mov ecx, dword [esp + 0x10a0]
mov eax, 0x300000
and ecx, 0xff8fffff
add ebp, 7
add ebx, 0xe
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
mov edi, 4
mov ecx, ebx
mov esi, str.ANY_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9bea
test edi, edi
jne 0x4b9bb0
mov ecx, dword [esp + 0x10a0]
mov eax, 0x400000
and ecx, 0xff8fffff
add ebp, 6
add ebx, 0xc
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9c1c
mov ecx, dword [esp + 0x10a0]
mov eax, 0x400000
and ecx, 0xff8fffff
add ebp, 6
add ebx, 0xc
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
mov edi, 8
mov ecx, ebx
mov esi, str.ANYCRLF_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9c62
test edi, edi
jne 0x4b9c28
mov ecx, dword [esp + 0x10a0]
mov eax, 0x500000
and ecx, 0xff8fffff
add ebp, 0xa
add ebx, 0x14
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9c91
mov ecx, dword [esp + 0x10a0]
mov eax, 0x500000
and ecx, 0xff8fffff
add ebp, 0xa
add ebx, 0x14
or ecx, eax
mov dword [esp + 0x10a0], ecx
jmp 0x4b9ce3
mov edi, 0xc
mov ecx, ebx
mov esi, str.BSR_ANYCRLF_
lea ecx, [ecx]
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9cb6
test edi, edi
jne 0x4b9ca0
jmp 0x4b9cc2
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9d2a
add ebp, 0xe
add ebx, 0x1c
mov eax, 0x800000
mov edx, dword [esp + 0x10a0]
and edx, 0xfe7fffff
or edx, eax
mov dword [esp + 0x10a0], edx
mov eax, dword [esp + 0x109c]
cmp word [eax + ebp*2], 0x28
je 0x4b9940
mov edx, dword [esp + 0x109c]
xor esi, esi
mov eax, dword [esp + 0x10a0]
test eax, 0x2000
jne 0x4b9d10
mov dword [esp + 0x10], esi
mov ecx, eax
and ecx, 0x1800000
cmp ecx, 0x1800000
jne 0x4b9d76
mov ecx, 0x38
jmp 0x4ba1ef
mov edi, 0xc
mov ecx, ebx
mov esi, str.BSR_UNICODE_
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x4b9d5a
test edi, edi
jne 0x4b9d36
add ebp, 0xe
add ebx, 0x1c
mov eax, 0x1000000
jmp 0x4b9ccd
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4b9cf5
add ebp, 0xe
add ebx, 0x1c
mov eax, 0x1000000
jmp 0x4b9ccd
and eax, 0x700000
cmp eax, 0x300000
jg 0x4b9de2
je 0x4b9ddb
cmp eax, esi
je 0x4b9ddb
cmp eax, 0x100000
je 0x4b9dd4
cmp eax, 0x200000
jne 0x4b9df0
mov eax, 0xa
mov dword [esp + 0x88], esi
cmp eax, 0xff
jle 0x4b9e14
mov ecx, eax
sar ecx, 8
movzx eax, al
and ecx, 0xff
mov dword [esp + 0x8c], 2
mov word [esp + 0x90], cx
mov word [esp + 0x92], ax
jmp 0x4b9e27
mov eax, 0xd
jmp 0x4b9d9b
mov eax, 0xd0a
jmp 0x4b9d9b
cmp eax, 0x400000
je 0x4b9e07
cmp eax, 0x500000
je 0x4b9dfa
mov ecx, 0x38
jmp 0x4ba1ef
mov dword [esp + 0x88], 2
jmp 0x4b9e27
mov dword [esp + 0x88], 1
jmp 0x4b9e27
mov dword [esp + 0x8c], 1
mov word [esp + 0x90], ax
lea ecx, [esp + 0x98]
mov eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov dword [esp + 0x4c], eax
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 + 0x5c], 0x800
mov dword [esp + 0x40], edx
mov eax, edx
cmp word [edx], si
je 0x4b9e79
lea ecx, [ecx]
add eax, 2
inc ecx
cmp word [eax], si
jne 0x4b9e70
mov esi, dword [esp + 0x109c]
lea edx, [esi + ecx*2]
mov eax, dword [esp + 0x10a0]
mov dword [esp + 0x44], edx
xor edi, edi
lea ecx, [esp + 0x98]
mov dword [esp + 0x18], ecx
mov edx, 0x7d
mov word [esp + 0x98], dx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push edx
push edi
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
push edi
push edi
push edi
push edi
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push ecx
lea esi, [esi + ebp*2]
push eax
mov dword [esp + 0xb0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x48], esi
call fcn.004b8dc0
mov ecx, dword [esp + 0x44]
add esp, 0x34
cmp ecx, edi
jne 0x4ba1ef
mov ebx, dword [esp + 0x1c]
cmp ebx, 0x10000
jle 0x4b9f20
lea ecx, [edi + 0x14]
jmp 0x4ba1ef
mov ebp, dword [esp + 0x54]
imul ebp, dword [esp + 0x58]
add ebp, ebx
lea ebp, [ebp + ebp + 0x28]
push ebp
call dword [0x5113b0]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b9f47
lea ecx, [eax + 0x15]
jmp 0x4ba1ef
mov dword [edi + 4], ebp
mov dword [edi], 0x50435245
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
movzx eax, word [esp + 0x78]
mov word [edi + 0xc], ax
xor ecx, ecx
mov word [edi + 0xe], cx
xor edx, edx
mov dword [edi + 0x14], edx
mov ecx, 0x14
mov word [edi + 0x18], cx
mov dx, word [esp + 0x58]
mov word [edi + 0x1a], dx
movzx eax, word [esp + 0x54]
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x10b0]
xor ecx, ecx
mov word [edi + 0x1e], cx
mov edx, eax
sub edx, 0x5004e8
neg edx
sbb edx, edx
and edx, eax
mov dword [edi + 0x20], edx
xor eax, eax
mov dword [edi + 0x24], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
movzx edx, word [edi + 0x18]
lea ebp, [edi + edx*2]
mov dword [esp + 0x50], ebp
movzx edx, word [edi + 0x1a]
movzx ecx, word [edi + 0x1c]
imul ecx, edx
push eax
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x2c]
push ecx
push eax
mov dword [esp + 0x48], ebp
mov edx, 0x7d
mov word [ebp], dx
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x34]
push ecx
push eax
push eax
push eax
push eax
lea edx, [esp + 0x34]
push edx
mov edx, dword [edi + 8]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x44]
push ecx
push edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebp
call fcn.004b8dc0
movzx eax, word [esp + 0x94]
mov word [edi + 0x10], ax
mov cx, word [esp + 0x9c]
mov word [edi + 0x12], cx
mov edx, dword [esp + 0xac]
or edx, 2
add esp, 0x34
mov word [edi + 0xc], dx
cmp dword [esp + 0x80], 0
je 0x4ba075
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x10], 0
jne 0x4ba08e
mov eax, dword [esp + 0x14]
cmp word [eax], 0
je 0x4ba08e
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov word [eax], cx
add eax, 2
sub eax, ebp
sar eax, 1
cmp eax, ebx
jle 0x4ba0aa
mov dword [esp + 0x10], 0x17
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x38]
jbe 0x4ba106
xor eax, eax
or edx, 0xffffffff
cmp dword [esp + 0x10], eax
jne 0x4ba106
nop
cmp ecx, dword [esp + 0x38]
jbe 0x4ba106
sub ecx, 2
mov dword [esp + 0x4c], ecx
movzx ebx, word [ecx]
movzx esi, word [ebp + ebx*2]
cmp esi, edx
je 0x4ba0e2
mov eax, ebp
call fcn.004b3000
mov edx, esi
test eax, eax
je 0x4ba0fe
mov ecx, eax
sub ecx, ebp
sar ecx, 1
mov word [ebp + ebx*2], cx
cmp dword [esp + 0x10], 0
jne 0x4ba106
mov ecx, dword [esp + 0x4c]
jmp 0x4ba0c0
mov dword [esp + 0x10], 0x35
cmp dword [esp + 0x5c], 0x800
jle 0x4ba11e
mov edx, dword [esp + 0x38]
push edx
call dword [0x5113b4]
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x4ba137
mov ax, word [edi + 0x12]
cmp ax, word [edi + 0x10]
jbe 0x4ba137
mov dword [esp + 0x10], 0xf
cmp dword [esp + 0x84], 0
je 0x4ba1da
or esi, 0xffffffff
mov eax, ebp
call fcn.004b3000
mov esi, eax
test esi, esi
je 0x4ba1da
lea esp, [esp]
cmp word [esi + 2], 0
jne 0x4ba1a7
movzx ecx, word [esi - 2]
movzx edx, word [esi + ecx*2 - 4]
lea ebx, [esi + ecx*2 - 4]
mov dword [esp + 0x1c], edx
xor eax, eax
mov word [ebx], ax
mov edx, dword [edi + 8]
lea ecx, [esp + 0x28]
push ecx
shr edx, 0xb
push 1
and edx, 1
push edx
push esi
call fcn.004b2ce0
mov cx, word [esp + 0x2c]
add esp, 0x10
mov word [ebx], cx
test eax, eax
js 0x4ba1ba
mov word [esi + 2], ax
lea eax, [esi + 4]
or esi, 0xffffffff
call fcn.004b3000
mov esi, eax
test esi, esi
jne 0x4ba160
jmp 0x4ba1da
cmp eax, 0xfffffffe
jne 0x4ba1c9
mov dword [esp + 0x10], 0x24
jmp 0x4ba1e1
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 0x4ba24c
push edi
call dword [0x5113b4]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x109c]
mov edx, dword [esp + 0x10ac]
mov ebx, dword [esp + 0x10a8]
mov edi, dword [esp + 0x10a4]
sar eax, 1
mov dword [edx], eax
mov esi, ecx
mov eax, str.no_error
test ecx, ecx
jle 0x4ba237
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4ba220
cmp byte [eax], dl
je 0x4ba232
dec esi
test esi, esi
jg 0x4ba220
jmp 0x4ba237
mov eax, str.Error_text_not_found__please_report_
mov dword [ebx], eax
test edi, edi
je 0x4ba23f
mov dword [edi], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1088
ret
mov ebx, dword [edi + 8]
test bl, 0x10
jne 0x4ba310
mov esi, dword [esp + 0x6c]
push esi
push 0
push ebp
call fcn.004b9180
add esp, 0xc
test eax, eax
je 0x4ba277
or ebx, 0x10
mov dword [edi + 8], ebx
jmp 0x4ba310
mov eax, dword [esp + 0x24]
test eax, eax
jns 0x4ba28e
push 0
push ebp
call fcn.004b9610
add esp, 8
test eax, eax
js 0x4ba2f7
mov word [edi + 0x14], ax
test eax, 0x10000000
je 0x4ba2f0
mov ecx, 0x80
cmp ax, cx
jae 0x4ba2b3
mov ecx, dword [esp + 0x2c]
movzx edx, ax
movzx edx, byte [edx + ecx]
cmp dx, ax
jmp 0x4ba2e9
movzx eax, ax
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4f29e8]
mov ecx, eax
shl edx, 7
and ecx, 0x8000007f
jns 0x4ba2d4
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx edx, word [edx*2 + 0x4f4be8]
mov ecx, dword [edx*8 + 0x4f190c]
add ecx, eax
cmp ecx, eax
je 0x4ba2f0
or word [edi + 0xc], 0x20
or word [edi + 0xc], 0x10
jmp 0x4ba310
push esi
push 0
push ebp
call fcn.004b9330
add esp, 0xc
test eax, eax
je 0x4ba310
mov edx, 0x100
or word [edi + 0xc], dx
mov eax, dword [esp + 0x20]
test eax, eax
js 0x4ba3b3
test byte [edi + 8], 0x10
je 0x4ba32d
test eax, 0x20000000
je 0x4ba3b3
mov word [edi + 0x16], ax
test eax, 0x10000000
je 0x4ba3ae
mov ecx, 0x80
cmp ax, cx
jae 0x4ba36d
mov ecx, dword [esp + 0x2c]
movzx edx, ax
movzx edx, byte [edx + ecx]
cmp dx, ax
je 0x4ba3ae
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, 0x1088
ret
movzx eax, ax
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4f29e8]
mov ecx, eax
shl edx, 7
and ecx, 0x8000007f
jns 0x4ba38e
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx edx, word [edx*2 + 0x4f4be8]
mov ecx, dword [edx*8 + 0x4f190c]
add ecx, eax
cmp ecx, eax
je 0x4ba3ae
mov edx, 0x80
or word [edi + 0xc], dx
or word [edi + 0xc], 0x40
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1088
ret