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

Disassembly:
add byte [edx - 0x76e8db84], cl
test byte [esp], ah
add byte [eax], al
add byte [eax + 0x57401ff], al
cmp bh, 0x17
jne 0x4b3e5c
test esi, esi
je 0x4b3e5c
mov al, byte [esi + 0x4c]
cmp al, 1
je 0x4b3e35
cmp al, 0x17
jne 0x4b3e5c
mov al, byte [esi + 0x4e]
cmp al, byte [ebp + 0x4e]
jne 0x4b3e5c
mov al, byte [esi + 0x4f]
cmp al, byte [ebp + 0x4f]
jne 0x4b3e5c
push 8
call fcn.004bd540
add esp, 4
add dword [esp + 0xa4], eax
jmp 0x4b3e5c
cmp bh, 0xe
je 0x4b3e6f
cmp bh, 0xa
je 0x4b3e6f
cmp bh, 0xb
je 0x4b3e6f
xor bl, bl
jmp 0x4b3e71
mov bl, 1
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
mov cl, bl
xor cl, 1
mov dword [esp + 0x64], esi
cmp dword [esp + 0xac], 0x80000000
mov byte [esp + 0x26], cl
jne 0x4b4048
movss xmm1, dword [0x5045b8]
comiss xmm1, dword [esp + 0xb0]
jbe 0x4b4048
mov edx, dword [esp + 0x3c]
lea eax, [edx - 3]
cmp eax, 0x17
ja case.0x4b3ec2.4
movzx eax, byte [eax + 0x4b6fc8]
jmp dword [eax*4 + 0x4b6f98]
mov ecx, dword [esp + 0x10]
mov eax, ecx
and al, 3
mov dword [esp + 0xb0], 0x40400000
cmp al, 1
je 0x4b408e
test ecx, 0x400
jne 0x4b408e
xor cl, cl
mov byte [esp + 0x26], cl
jmp 0x4b4092
mov dword [esp + 0xb0], 0x40a00000
jmp 0x4b4092
mov dword [esp + 0xb0], 0x40000000
jmp 0x4b40a3
mov eax, dword [esp + 0x28]
cmp word [eax], 0
jne case.0x4b3ec2.4
test byte [esp + 0x10], 4
je 0x4b3f40
mov dword [esp + 0xb0], 0x40400000
jmp 0x4b40b9
mov dword [esp + 0xb0], 0x3f800000
jmp case.0x4b3ec2.4
mov dword [esp + 0xb0], 0x3f800000
jmp 0x4b4092
test byte [esp + 0x10], 0x40
je 0x4b3fa9
mov eax, dword fs:[0x2c]
mov ecx, dword [0x62271c]
push 0x60
push 0xffffff70
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x8c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1e60]
shl ecx, 5
push dword [eax + ecx]
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
call eax
mov cl, byte [esp + 0x26]
mov dword [esp + 0xac], eax
jmp 0x4b405a
mov dword [esp + 0xb0], 0x40a00000
jmp case.0x4b3ec2.4
mov eax, dword [esp + 0x10]
test al, 2
je 0x4b3fd1
mov dword [esp + 0xb0], 0x40a00000
jmp 0x4b40b9
push dword [esp + 0xcc]
mov ecx, edi
push eax
call fcn.004b8410
mov cl, byte [esp + 0x26]
mov dword [esp + 0xac], eax
jmp 0x4b405a
test byte [esp + 0x10], 4
je 0x4b3f67
mov dword [esp + 0xb0], 0x40a00000
jmp 0x4b40b9
mov dword [esp + 0xb0], 0x41200000
jmp 0x4b40b9
mov eax, dword [esp + 0x60]
test eax, eax
je case.0x4b3ec2.4
lea ecx, [esp + 0x25c]
push ecx
push dword [eax + 0x38]
call esi
mov eax, dword [esp + 0x268]
sub eax, dword [esp + 0x260]
mov cl, byte [esp + 0x26]
mov dword [esp + 0xac], eax
jmp 0x4b405a
cmp bh, 7
je 0x4b4052
cmp bh, 8
jne 0x4b405a
or dword [esp + 0x10], 0x400
mov edx, dword [esp + 0x3c]
movss xmm0, dword [esp + 0xb0]
comiss xmm0, dword [0x5045a4]
mov dword [esp + 0x34], 0
mov dword [esp + 0x50], 0
jbe 0x4b424a
movss xmm1, dword [0x5045b8]
jmp 0x4b4092
mov cl, byte [esp + 0x26]
mov eax, edx
sub eax, 3
je 0x4b40a3
sub eax, 4
je 0x4b40a3
sub eax, 1
jne 0x4b40b9
movss xmm0, dword [esp + 0xb0]
addss xmm0, xmm1
movss dword [esp + 0xb0], xmm0
test cl, cl
je 0x4b4215
push dword [edi + 0x38]
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword fs:[0x2c]
mov ebx, eax
mov eax, dword [0x62271c]
mov dword [esp + 0x34], ebx
mov esi, dword [ecx + eax*4]
mov ecx, dword [edi + 0x8c]
lea edx, [ecx + ecx*2]
mov ecx, dword [esi + 0x1e60]
shl edx, 5
push dword [ecx + edx + 0x5c]
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x26c]
push eax
push ebx
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
movss xmm2, dword [esp + 0xb0]
cvtps2pd xmm0, xmm2
mov edx, dword [esp + 0x3c]
addsd xmm0, qword [0x5045c8]
cvttsd2si ecx, xmm0
movd xmm0, dword [esp + 0x26c]
cvtdq2ps xmm0, xmm0
lea eax, [ecx - 1]
imul eax, dword [esp + 0x27c]
mulss xmm0, xmm2
movd xmm1, eax
lea eax, [edx - 3]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x5045c8]
cvttsd2si esi, xmm0
mov dword [esp + 0xac], esi
cmp eax, 0x15
ja case.0x4b417a.5
movzx eax, byte [eax + 0x4b6ff4]
jmp dword [eax*4 + 0x4b6fe0]
push 8
call fcn.004bd540
add dword [esp + 0xb0], eax
add esp, 4
mov ebx, dword [esp + 0x10]
test ebx, 0x100000
je 0x4b424e
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [esp + 0xac], eax
jmp 0x4b424e
mov eax, dword fs:[0x2c]
mov ecx, dword [0x62271c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0x8c]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x1e60]
shl edx, 5
sub esi, dword [eax + edx]
dec esi
mov dword [esp + 0xac], esi
jmp 0x4b424a
mov eax, dword [edi + 0x9c]
mov ebx, dword [esp + 0x10]
imul eax, ecx
add eax, esi
mov dword [esp + 0xac], eax
jmp 0x4b4252
lea eax, [ecx + 1]
imul eax, dword [edi + 0x9c]
add eax, esi
mov dword [esp + 0xac], eax
mov ebx, dword [esp + 0x10]
jmp 0x4b4252
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], 0
test bl, bl
jne 0x4b424a
push 0x1e
call fcn.004bd540
add esp, 4
mov dword [esp + 0xac], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], 0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0xac], 0x80000000
mov byte [esp + 0x4d], 0
je 0x4b4275
cmp dword [esp + 0xa8], 0x80000000
jne 0x4b49d7
xor esi, esi
lea eax, [edx - 1]
mov dword [esp + 0x38], esi
mov ecx, 0x400
mov dword [esp + 0x70], esi
mov dword [esp + 0x44], ecx
cmp eax, 0x16
ja case.0x4b429b.2
movzx eax, byte [eax + 0x4b7018]
jmp dword [eax*4 + 0x4b700c]
mov eax, dword [esp + 0x28]
cmp word [eax], si
je case.0x4b429b.2
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x4b42f6
push dword [edi + 0x38]
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [0x62271c]
mov esi, eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x34], esi
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x8c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1e60]
shl ecx, 5
push dword [eax + ecx + 0x5c]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x26c]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
mov esi, dword [esp + 0x280]
add esi, 4
mov dword [esp + 0x38], esi
test ebx, 0x200000
je 0x4b4329
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add esi, eax
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x28]
cmp word [esi], 0
je 0x4b4369
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b4340
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0xa
jne 0x4b4369
mov eax, dword [esp + 0x27c]
add eax, dword [esp + 0x26c]
mov dword [esp + 0x70], eax
mov ecx, 0x2c40
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x34]
mov esi, ecx
test eax, eax
jne 0x4b43c0
push dword [edi + 0x38]
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [0x62271c]
mov dword [esp + 0x34], eax
mov eax, dword fs:[0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0x8c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1e60]
shl ecx, 5
push dword [eax + ecx + 0x5c]
push dword [esp + 0x38]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x17]
cmp cl, 1
jne 0x4b43e6
mov edi, dword [esp + 0x44]
or edi, 0x40
mov dword [esp + 0x44], edi
test bl, bl
jns 0x4b4425
mov edi, esi
or edi, 0x840
mov dword [esp + 0x44], edi
jmp 0x4b4425
cmp cl, 5
je 0x4b43f0
cmp cl, 6
jne 0x4b4421
lea ecx, [esp + 0x26c]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
push 0x47
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, dword [esp + 0x38]
add eax, dword [esp + 0x280]
add esi, 2
mov edi, dword [esp + 0x44]
add esi, eax
mov dword [esp + 0x38], esi
jmp 0x4b4429
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
mov al, byte [esp + 0x17]
test ebx, 0x800000
je 0x4b445f
cmp al, 1
je 0x4b443d
cmp al, 0x17
jne 0x4b445f
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
add esi, esi
push 6
mov dword [esp + 0x3c], esi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add eax, eax
mov dword [esp + 0x70], eax
mov al, byte [esp + 0x17]
cmp dword [esp + 0xa8], 0x80000000
je 0x4b4487
cmp al, 4
je 0x4b4478
cmp al, 5
je 0x4b4478
cmp al, 6
jne 0x4b4480
test ebx, 0x2000
je 0x4b4487
or edi, 0x10
mov dword [esp + 0x44], edi
cmp dword [esp + 0xa8], 0x80000000
mov dword [esp + 0x25c], 0
mov dword [esp + 0x260], 0
jne 0x4b44b7
mov dword [esp + 0x264], 0
jmp 0x4b44c7
mov eax, dword [esp + 0xa8]
sub eax, esi
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0xac]
xor ecx, ecx
cmp eax, 0x80000000
cmove eax, ecx
mov dword [esp + 0x268], eax
xor eax, eax
cmp byte [esp + 0x17], 0x17
mov dword [esp + 0x68], eax
jne 0x4b46c0
test bl, 4
je 0x4b44ff
or edi, 0x800
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x28]
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b4510
sub ecx, edx
mov edx, 2
sar ecx, 1
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ec50a
movzx ecx, word [esi]
mov edi, eax
add esp, 4
mov dword [esp + 0x244], edi
mov edx, edi
mov dword [esp + 0x40], edx
test cx, cx
je 0x4b4678
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
mov ebp, esi
nop
cmp cx, 0x3c
jne 0x4b464d
movzx esi, word [ebp + 2]
test esi, 0xffffff80
jne 0x4b4587
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
add esp, 4
test eax, eax
je 0x4b4587
and esi, 0xffffffdf
cmp si, 0x41
jne 0x4b4649
lea esi, [ebp + 4]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4b45a1
cmp eax, 9
jne 0x4b45a6
add esi, 2
jmp 0x4b4594
cmp eax, 0x3e
je 0x4b460a
nop dword [eax + eax]
movzx ecx, word [esi]
mov eax, ecx
test eax, 0xffffff80
jne 0x4b45ce
push eax
call edi
movzx ecx, word [esi]
add esp, 4
test eax, eax
je 0x4b45ce
add esi, 2
jmp 0x4b45b0
cmp cx, 0x3d
jne 0x4b4649
mov eax, 0x22
cmp ax, word [esi + 2]
jne 0x4b4649
push eax
lea eax, [esi + 4]
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4b4649
lea esi, [eax + 2]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4b4600
cmp eax, 9
jne 0x4b4605
add esi, 2
jmp 0x4b45f3
cmp eax, 0x3e
jne 0x4b45b0
add esi, 2
je 0x4b4649
push 0x5056c0
push esi
call fcn.004e6500
mov edx, dword [esp + 0x48]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4b464d
cmp esi, ecx
jae 0x4b4644
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
mov word [edx], ax
add edx, 2
cmp esi, ecx
jb 0x4b4630
mov dword [esp + 0x40], edx
lea ebp, [ecx + 6]
jmp 0x4b465b
mov edx, dword [esp + 0x40]
mov ax, word [ebp]
mov word [edx], ax
add edx, 2
mov dword [esp + 0x40], edx
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, eax
test ax, ax
jne 0x4b4560
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x244]
xor eax, eax
mov word [edx], ax
cmp edx, edi
jbe 0x4b4689
movzx eax, word [edx - 2]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x25c]
cmp word [edi], 0
push ecx
push eax
push 0xffffffffffffffff
mov eax, 0x503e48
cmovne eax, edi
push eax
push dword [esp + 0x44]
call dword [sym.imp.USER32.dll_DrawTextW]
push edi
mov esi, eax
call fcn.004ebb81
mov ecx, dword [esp + 0x6c]
add esp, 4
jmp 0x4b470a
push edi
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x260]
push eax
push 0xffffffffffffffff
mov eax, 0x503e48
cmp word [edi], cx
cmovne eax, edi
push eax
push dword [esp + 0x44]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp word [edi], 0
mov esi, eax
je 0x4b4708
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b46f2
sub ecx, edx
sar ecx, 1
movzx ecx, word [edi + ecx*2 - 2]
jmp 0x4b470a
xor ecx, ecx
mov edi, dword [esp + 0x264]
mov eax, dword [esp + 0x3c]
sub edi, dword [esp + 0x25c]
sub eax, 1
je 0x4b4734
sub eax, 3
je 0x4b472d
sub eax, 8
je 0x4b4734
jmp 0x4b4761
cmp dword [esp + 0x6c], 0
jne 0x4b4761
test cx, cx
je 0x4b4761
movzx eax, cx
lea ecx, [esp + 0x244]
push ecx
push eax
push eax
push dword [esp + 0x40]
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
test eax, eax
je 0x4b4761
mov eax, dword [esp + 0x24c]
test eax, eax
jns 0x4b4761
sub edi, eax
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0x17]
cmp eax, 0x80000000
je 0x4b4784
cmp esi, eax
jle 0x4b4867
cmp cl, 0xc
je 0x4b4867
add esi, dword [esp + 0x70]
mov dword [esp + 0xac], esi
cmp cl, 0xc
jne 0x4b482d
push 8
call fcn.004bd540
add dword [esp + 0xb0], eax
add esp, 4
test ebx, 0x100000
je 0x4b47c0
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [esp + 0xac], eax
mov ebx, dword [esp + 0x1c]
mov cl, byte [esp + 0x17]
mov eax, dword [esp + 0xa8]
cmp eax, 0x80000000
je 0x4b47de
cmp edi, eax
jle case.0x4b429b.2
mov eax, dword [esp + 0x38]
add eax, edi
mov byte [esp + 0x4d], 1
mov dword [esp + 0xa8], eax
cmp cl, 4
jne case.0x4b429b.2
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword fs:[0x2c]
add eax, eax
mov edi, dword [0x62271c]
mov edx, dword [ecx + edi*4]
mov ecx, dword [ebx + 0x8c]
lea esi, [ecx + ecx*2]
mov ecx, dword [edx + 0x1e60]
shl esi, 5
sub eax, dword [ecx + esi]
add dword [esp + 0xa8], eax
jmp 0x4b4876
mov ebx, dword [esp + 0x1c]
cmp cl, 4
jne 0x4b47c8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x62271c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x8c]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x1e60]
shl edx, 5
sub esi, dword [eax + edx]
dec esi
mov dword [esp + 0xac], esi
jmp 0x4b47c4
mov ebx, dword [esp + 0x1c]
jmp 0x4b47c8
mov edi, dword [0x62271c]
cmp dword [esp + 0xa8], 0x80000000
mov ebx, dword [esp + 0x1c]
jne case.0x4b48d3.4
mov eax, dword fs:[0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push 0xffffffffffffffb8
mov edx, dword [eax + edi*4]
mov eax, dword [ebx + 0x8c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1e60]
shl ecx, 5
push dword [eax + ecx]
call esi
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffd
cmp eax, 0x17
ja case.0x4b48d3.4
movzx eax, byte [eax + 0x4b7054]
jmp dword [eax*4 + 0x4b7030]
mov dword [esp + 0xa8], ecx
jmp case.0x4b48d3.4
lea eax, [ecx + ecx]
mov dword [esp + 0xa8], eax
jmp case.0x4b48d3.4
mov eax, dword [esp + 0x10]
mov edi, dword [0x62271c]
test al, 0x40
je 0x4b4952
mov dword [esp + 0xa8], ecx
jmp 0x4b49e5
mov eax, dword [esp + 0x10]
test al, 2
je 0x4b4932
push dword [esp + 0xcc]
mov ecx, ebx
mov edi, dword [0x62271c]
mov dword [esp + 0xa8], ecx
jmp 0x4b49e5
mov eax, dword [esp + 0x10]
mov edi, dword [0x62271c]
test al, 4
je 0x4b4903
mov eax, dword fs:[0x2c]
push 0x60
push 0xffffff70
mov edx, dword [eax + edi*4]
mov eax, dword [ebx + 0x8c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x1e60]
shl ecx, 5
push dword [eax + ecx]
call esi
mov dword [esp + 0xa8], eax
jmp 0x4b49e1
mov eax, dword [ebx + 0x98]
lea eax, [ecx + eax*2]
mov dword [esp + 0xa8], eax
jmp case.0x4b48d3.4
mov eax, dword [ebx + 0x98]
lea eax, [eax + eax*2]
lea eax, [eax + ecx*2]
mov dword [esp + 0xa8], eax
jmp case.0x4b48d3.4
mov eax, dword [esp + 0x60]
test eax, eax
je case.0x4b48d3.4
lea ecx, [esp + 0x244]
push ecx
push dword [eax + 0x38]
call dword [esp + 0x6c]
mov eax, dword [esp + 0x24c]
sub eax, dword [esp + 0x244]
mov dword [esp + 0xa8], eax
jmp case.0x4b48d3.4
mov ebx, dword [esp + 0x1c]