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

Disassembly:
push 0xffffffffffffffff
push 0x528278
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push ebp
xor ebx, ebx
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], 0x557280
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 8]
cmp eax, ebx
mov dword [esp + 0x80], ebx
jle 0x4b2701
test ebx, ebx
mov ebp, dword [esp + 0x3c]
jl 0x4b2e5a
cmp ebx, eax
jge 0x4b2e5a
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 4]
mov esi, dword [edx + ebx*4]
mov edi, dword [esp + 0x98]
mov ecx, dword [esi + 0xe0]
lea eax, [edx + ebx*4]
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
test cl, 0x40
je 0x4b260a
or eax, 1
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x68]
cmp dword [edx + 0x58], 0
je 0x4b261d
cmp dword [edx + 0x68], 0
je 0x4b2627
test cl, 0x20
je 0x4b2627
or eax, 0x80
mov edx, dword [esi]
push 0
push eax
mov eax, dword [esp + 0x9c]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
call dword [edx + 0x1e0]
test edi, edi
mov edx, dword [esi + 0x180]
je 0x4b2663
mov ecx, dword [esp + 0x90]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
jmp 0x4b2679
mov ecx, dword [esp + 0x8c]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 4]
mov edi, dword [esp + 0x30]
add edx, eax
add edi, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov esi, ebp
jl 0x4b2e5a
push 0xffffffffffffffff
inc ebp
push ebp
lea ecx, [esp + 0x3c]
call fcn.004b1d60
mov edx, dword [esp + 0x88]
lea edi, [esi + esi*2]
mov esi, dword [esp + 0x38]
shl edi, 4
add edi, esi
mov ecx, 0xc
lea esi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 8]
inc ebx
cmp ebx, eax
jl 0x4b25c5
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x4b2715
lea ecx, [esp + 0x34]
call fcn.004b1bc0
mov eax, dword [esp + 0x38]
push 0x4b1ab0
push 0x30
push ebp
push eax
call fcn.004f8b50
add esp, 0x10
or ecx, 0xffffffff
xor eax, eax
xor edi, edi
test ebp, ebp
mov ebx, 1
jle 0x4b2787
mov esi, dword [esp + 0x38]
add esi, 4
test edi, edi
jl 0x4b2e5a
cmp edi, ebp
jge 0x4b2e5a
mov edx, dword [esi]
cmp edx, eax
jge 0x4b28db
cmp ecx, dword [esi + 0x20]
jl 0x4b2768
test ebx, ebx
je 0x4b28db
push 0
sub eax, edx
push eax
push esi
mov ebx, 1
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x20]
inc edi
add esi, 0x30
cmp edi, ebp
jl 0x4b2741
mov eax, dword [esp + 0x94]
lea edi, [ebp - 1]
or edx, 0xffffffff
test edi, edi
mov dword [esp + 0x88], 1
jl 0x4b2808
mov esi, dword [esp + 0x38]
lea ecx, [edi + edi*2]
shl ecx, 4
test edi, edi
lea esi, [ecx + esi + 4]
jl 0x4b2e5a
cmp edi, ebp
jge 0x4b2e5a
mov ecx, dword [esi + 8]
mov ebx, ecx
sub ebx, eax
test ebx, ebx
jle 0x4b28e2
cmp edx, dword [esi + 0x20]
jl 0x4b27e4
mov edx, dword [esp + 0x88]
test edx, edx
je 0x4b28e2
push 0
sub eax, ecx
push eax
push esi
mov dword [esp + 0x94], 1
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi]
mov edx, dword [esi + 0x20]
dec edi
sub esi, 0x30
test edi, edi
jge 0x4b27b9
xor eax, eax
xor edi, edi
test ebp, ebp
jle 0x4b2849
mov esi, dword [esp + 0x38]
mov ebx, dword [sym.imp.USER32.dll_OffsetRect]
add esi, 4
lea ecx, [ecx]
test edi, edi
jl 0x4b2e5a
cmp edi, ebp
jge 0x4b2e5a
mov ecx, dword [esi]
cmp ecx, eax
jge 0x4b283e
push 0
sub eax, ecx
push eax
push esi
call ebx
mov eax, dword [esi + 8]
inc edi
add esi, 0x30
cmp edi, ebp
jl 0x4b2820
cmp eax, dword [esp + 0x94]
jle 0x4b2a15
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
jle 0x4b2970
mov ebp, dword [esp + 0x38]
add ebp, 0x28
mov ecx, eax
test ecx, ecx
jl 0x4b2e5a
cmp ecx, dword [esp + 0x3c]
jge 0x4b2e5a
mov eax, dword [esp + 0x98]
mov edi, dword [ebp - 0x28]
mov ebx, dword [edi + 0xe0]
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
test bl, 0x40
mov edx, eax
je 0x4b28ad
or edx, 1
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x68]
cmp dword [esi + 0x58], 0
je 0x4b28c0
cmp dword [esi + 0x68], 0
je 0x4b28cb
test bl, 0x20
je 0x4b28cb
or edx, 0x80
test dl, dl
js 0x4b28f2
mov edx, dword [esp + 0x94]
mov dword [ebp], edx
jmp 0x4b2943
xor ebx, ebx
jmp 0x4b2779
mov dword [esp + 0x88], 0
jmp 0x4b27fb
test bl, 0x40
je 0x4b28fa
or eax, 1
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x4b2908
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x4b2912
test bl, 0x20
je 0x4b2912
or eax, 0x80
mov edx, dword [edi]
push 0
push eax
push 1
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call dword [edx + 0x1e0]
mov eax, dword [esp + 0x98]
test eax, eax
mov eax, dword [esp + 0x2c]
jne 0x4b2939
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x88]
mov dword [ebp], eax
mov eax, dword [esp + 0x8c]
mov dword [ebp + 4], eax
add eax, dword [ebp]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
inc ecx
add ebp, 0x30
cmp ecx, eax
mov dword [esp + 0x88], ecx
jl 0x4b2877
mov ebp, eax
mov esi, dword [esp + 0x94]
lea edi, [ebp - 1]
test edi, edi
jl 0x4b2a15
mov edx, dword [esp + 0x38]
lea ecx, [edi + edi*2]
shl ecx, 4
test edi, edi
lea ecx, [ecx + edx + 4]
jl 0x4b2e5a
cmp edi, dword [esp + 0x3c]
jge 0x4b2e5a
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4b29b2
mov eax, dword [ecx + 0x10]
jmp 0x4b29b5
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx]
cmp eax, edx
jle 0x4b29bd
mov eax, edx
sub edx, dword [ecx + 8]
add edx, esi
cmp eax, edx
jge 0x4b29c8
mov eax, edx
mov ebx, dword [ecx + 0x28]
cmp eax, ebx
jge 0x4b29d1
mov eax, ebx
mov edx, dword [ecx + 0x24]
mov ebp, esi
sub ebp, eax
cmp ebp, edx
jge 0x4b29e0
mov eax, esi
sub eax, edx
mov ebp, esi
sub ebp, eax
cmp ebp, edx
jl 0x4b29ec
cmp eax, ebx
jge 0x4b29f7
cmp dword [esp + 0x3c], 1
jne 0x4b2a7d
xor edx, edx
test eax, eax
setl dl
mov dword [ecx + 8], esi
sub ecx, 0x30
dec edx
and eax, edx
mov dword [ecx + 0x30], eax
dec edi
test edi, edi
mov esi, eax
jge 0x4b2998
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x98]
xor esi, esi
cmp ebx, esi
jne 0x4b2a2b
lea ecx, [esp + 0x34]
call fcn.004b1bc0
cmp ebp, esi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x88], esi
jle 0x4b2b82
add eax, 0x10
mov dword [esp + 0x8c], eax
nop
mov eax, dword [esp + 0x88]
test eax, eax
jl 0x4b2e5a
cmp eax, ebp
jge 0x4b2e5a
test ebx, ebx
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax - 0x10]
je 0x4b2adc
mov edi, dword [eax - 4]
mov edx, dword [eax - 0xc]
jmp 0x4b2ae1
mov ecx, dword [esp + 0x3c]
lea eax, [ecx - 1]
test eax, eax
jl 0x4b2e5a
cmp eax, ecx
jge 0x4b2e5a
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
test ecx, ecx
mov eax, dword [eax + 0x24]
mov dword [edx], eax
mov dword [esp + 0x80], 0xffffffff
je 0x4b2ac4
push ecx
call fcn.00501033
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
add esp, 0x74
ret 0x1c
mov edi, dword [eax]
mov edx, dword [eax - 8]
sub edi, edx
mov edx, dword [ecx + 0xe0]
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
test dl, 0x40
je 0x4b2afd
or eax, 1
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 0x68]
cmp dword [esi + 0x58], 0
je 0x4b2b10
cmp dword [esi + 0x68], 0
je 0x4b2b1a
test dl, 0x20
je 0x4b2b1a
or eax, 0x80
mov edx, dword [ecx]
push 0
push eax
push edi
lea eax, [esp + 0x38]
push eax
call dword [edx + 0x1e0]
test ebx, ebx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, edx
jne 0x4b2b3b
mov eax, ecx
cmp dword [esp + 0xa0], eax
jg 0x4b2b56
test ebx, ebx
mov dword [esp + 0xa0], edx
jne 0x4b2b56
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
inc eax
add edx, 0x30
cmp eax, ebp
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
jl 0x4b2a50
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
cmp dword [ecx], 0
je 0x4b2e26
xor edx, edx
test ebp, ebp
mov dword [esp + 0x88], edx
jle 0x4b2e26
test edx, edx
mov ebp, dword [esp + 0x38]
jl 0x4b2e5a
cmp edx, dword [esp + 0x3c]
jge 0x4b2e5a
lea eax, [edx + edx*2]
shl eax, 4
mov ebx, dword [eax + ebp]
mov ecx, dword [ebx + 0xe0]
add eax, ebp
lea esi, [eax + 4]
mov eax, dword [esp + 0x98]
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
test cl, 0x40
je 0x4b2be6
or eax, 1
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x68]
cmp dword [edi + 0x58], 0
je 0x4b2bf9
cmp dword [edi + 0x68], 0
je 0x4b2c03
test cl, 0x20
je 0x4b2c03
or eax, 0x80
or eax, 0x40
test ecx, 0x100000
mov dword [esp + 0x8c], eax
je 0x4b2d37
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x3c]
test eax, eax
lea eax, [edi - 1]
je 0x4b2cb4
cmp edx, eax
jne 0x4b2c3c
mov eax, dword [esp + 0x94]
jmp 0x4b2c5a
lea eax, [edx + 1]
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov eax, dword [eax + 4]
test edx, edx
mov dword [esi + 8], eax
jne 0x4b2c6a
xor eax, eax
mov dword [esi], eax
jmp 0x4b2d2f
lea eax, [edx - 1]
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
mov edx, dword [esi]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, ebp
cmp dword [ecx + 0xc], edx
jge 0x4b2cae
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov eax, dword [eax + 0xc]
mov dword [esi], eax
jmp 0x4b2d2f
mov eax, edx
mov dword [esi], eax
jmp 0x4b2d2f
cmp edx, eax
jne 0x4b2cc1
mov eax, dword [esp + 0x94]
jmp 0x4b2cdf
lea eax, [edx + 1]
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov eax, dword [eax + 8]
test edx, edx
mov dword [esi + 0xc], eax
jne 0x4b2cea
xor eax, eax
jmp 0x4b2d2c
lea eax, [edx - 1]
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
shl ecx, 4
add ecx, ebp
cmp dword [ecx + 0x10], edx
jge 0x4b2d2a
test eax, eax
jl 0x4b2e5a
cmp eax, edi
jge 0x4b2e5a
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov eax, dword [eax + 0x10]
jmp 0x4b2d2c
mov eax, edx
mov dword [esi + 4], eax
or dword [esp + 0x8c], 1
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4b2d49
mov eax, dword [esi + 8]
mov ecx, dword [esi]
jmp 0x4b2d4f
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [ebx]
sub eax, ecx
mov ecx, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x90]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call dword [edx + 0x1e0]
mov eax, dword [esi]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov ecx, dword [esi + 4]
mov ebp, esi
mov dword [ebp], eax
add edx, eax
mov dword [ebp + 4], ecx
add edi, ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], edi
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x50]
test ah, 0x28
je 0x4b2da0
xor eax, eax
jmp 0x4b2db8
test ah, 0x82
je 0x4b2dac
mov eax, 1
jmp 0x4b2db8
and eax, 0x1400
neg eax
sbb eax, eax
add eax, 3
mov ecx, dword [ebx + 0x180]
mov dword [ecx + 0x14], eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004671a0
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
call fcn.00505843
push esi
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_EqualRect]
test eax, eax
jne 0x4b2e07
mov ecx, dword [ebx + 0x1c]
mov edx, dword [esp + 0x9c]
push esi
push ecx
push edx
call fcn.004fc511
mov eax, dword [ebx]
push 1
push 0
mov ecx, ebx
call dword [eax + 0x190]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
inc edx
cmp edx, eax
mov dword [esp + 0x88], edx
jl 0x4b2ba3
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esp + 0x80], 0xffffffff
je 0x4b2e3e
push eax
call fcn.00501033
add esp, 4
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0xa0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 0x1c
call fcn.004f9708
int3