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

Disassembly:
push 0xffffffffffffffff
push 0x4d35d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
mov ebx, ecx
push esi
lea eax, [esp + 0x1c]
push edi
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
mov ecx, ebx
mov dword [esp + 0x34], ebx
call fcn.0045aa30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x68]
cmp eax, ecx
mov edi, eax
jg 0x45abb4
mov eax, dword [ebx + 0x70]
mov ecx, dword [eax + 0x80]
mov esi, dword [ecx + edi*4]
mov edx, esi
shr edx, 0x10
je 0x45aba7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc8]
test eax, eax
je 0x45aba7
mov ecx, dword [ebx + 0x90]
xor eax, eax
mov edx, dword [ecx + 8]
test edx, edx
jle 0x45ab73
mov ecx, dword [ecx + 4]
cmp dword [ecx], esi
je 0x45ab6f
inc eax
add ecx, 4
cmp eax, edx
jl 0x45ab61
jmp 0x45ab73
test eax, eax
jge 0x45aba7
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
test ebp, ebp
je 0x45ab90
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
jmp 0x45ab98
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
sub eax, edx
sub eax, 2
sub ecx, eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jle 0x45ab2e
lea ecx, [esp + 0x40]
call fcn.004bc941
mov dword [esp + 0x40], vtable.CSCBArray.0
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x64], 0
call fcn.004bc9a1
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov ecx, ebx
call fcn.0045aa30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
mov edi, eax
jg 0x45ac56
mov eax, dword [ebx + 0x70]
mov ecx, dword [eax + 0x80]
mov esi, dword [ecx + edi*4]
mov edx, esi
shr edx, 0x10
je 0x45ac4d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc8]
test eax, eax
je 0x45ac4d
mov ecx, dword [ebx + 0x90]
xor eax, eax
mov edx, dword [ecx + 8]
test edx, edx
jle 0x45ac4d
mov ecx, dword [ecx + 4]
cmp dword [ecx], esi
je 0x45ac3f
inc eax
add ecx, 4
cmp eax, edx
jl 0x45ac31
jmp 0x45ac4d
test eax, eax
jl 0x45ac4d
push esi
lea ecx, [esp + 0x44]
call fcn.0045ae60
mov eax, dword [esp + 0x18]
inc edi
cmp edi, eax
jle 0x45abfe
mov ebp, dword [esp + 0x48]
xor edx, edx
cmp ebp, edx
mov dword [esp + 0x14], edx
mov edi, 2
jle 0x45acdc
mov esi, dword [esp + 0x44]
mov ebx, ebp
mov eax, dword [esp + 0x68]
mov ecx, dword [esi]
test eax, eax
je 0x45ac7e
mov eax, dword [ecx + 0x78]
jmp 0x45ac84
mov eax, dword [ecx + 0x84]
mov ebp, dword [esp + 0x14]
sub eax, 2
add ebp, eax
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x45aca1
mov eax, dword [ecx + 0x9c]
jmp 0x45aca7
mov eax, dword [ecx + 0xa0]
sub eax, 2
add edi, eax
test ebp, ebp
je 0x45acb5
mov eax, dword [ecx + 0x7c]
jmp 0x45acbb
mov eax, dword [ecx + 0x80]
cmp edx, eax
jg 0x45acce
test ebp, ebp
je 0x45acc8
mov edx, dword [ecx + 0x7c]
jmp 0x45acce
mov edx, dword [ecx + 0x80]
add esi, 4
dec ebx
jne 0x45ac6f
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x48]
cmp edi, dword [esp + 0x64]
jle 0x45ad45
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x10]
jl 0x45acf6
cmp ecx, eax
jge 0x45ad2d
mov ecx, dword [ebx + 0x70]
push 1
inc eax
push ebx
push eax
add ecx, 0x7c
call fcn.004bcae1
mov ecx, dword [esp + 0x10]
push 1
inc ecx
push 0
push ecx
mov ecx, dword [ebx + 0x70]
add ecx, 0x7c
call fcn.004bcae1
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 0x70]
push 1
push edx
add ecx, 0x7c
call fcn.004bcb73
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], 0xffffffff
call fcn.004bc974
xor eax, eax
jmp 0x45ae4a
xor eax, eax
test ebp, ebp
jle 0x45ad74
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
jmp 0x45ad59
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx + eax*4]
test esi, esi
je 0x45ad65
mov dword [ecx + 0x7c], edx
jmp 0x45ad6b
mov dword [ecx + 0x80], edx
mov ebp, dword [esp + 0x48]
inc eax
cmp eax, ebp
jl 0x45ad55
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x64]
cmp eax, esi
je 0x45ae34
sub esi, eax
je 0x45ae34
mov ebx, dword [esp + 0x68]
xor edi, edi
mov dword [esp + 0x64], esi
test ebp, ebp
jle 0x45ae0d
mov edx, dword [esp + 0x44]
test ebx, ebx
mov eax, dword [edx + edi*4]
je 0x45adb0
mov edx, dword [eax + 0x9c]
mov ecx, dword [eax + 0x78]
jmp 0x45adbc
mov edx, dword [eax + 0xa0]
mov ecx, dword [eax + 0x84]
cmp ecx, edx
jne 0x45adc4
test esi, esi
jl 0x45adfe
mov ecx, dword [eax + 0xc8]
test ecx, ecx
jne 0x45adfe
test esi, esi
jne 0x45add6
xor ecx, ecx
jmp 0x45ade2
xor ecx, ecx
test esi, esi
setge cl
dec ecx
and ecx, 0xfffffffe
inc ecx
test ebx, ebx
je 0x45adeb
add eax, 0x78
jmp 0x45adf0
add eax, 0x84
mov edx, dword [eax]
add edx, ecx
sub esi, ecx
mov dword [eax], edx
mov ebp, dword [esp + 0x48]
je 0x45ae03
inc edi
cmp edi, ebp
jl 0x45ad9a
cmp dword [esp + 0x64], esi
je 0x45ae0d
test esi, esi
jne 0x45ad90
xor eax, eax
test ebp, ebp
jle 0x45ae2c
xor ecx, ecx
mov edx, dword [esp + 0x44]
inc eax
mov edx, dword [edx + eax*4 - 4]
mov dword [edx + 0xc8], ecx
mov ebp, dword [esp + 0x48]
cmp eax, ebp
jl 0x45ae15
test esi, esi
jne 0x45ad8c
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], 0xffffffff
call fcn.004bc974
mov eax, 1
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret 8