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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x5257ab
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00463890
mov ebp, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esi + 0x460], eax
call ebp
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x4650d6
push 0xc
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
mov ebx, eax
call ebp
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
test ebx, ebx
jle 0x4650d6
cmp ebx, 8
jg 0x4650d6
mov edi, 1
jmp 0x4650d8
xor edi, edi
mov ecx, esi
call fcn.00463580
mov ecx, esi
call fcn.004635d0
call fcn.00463be0
test edi, edi
je 0x4650fb
mov ecx, esi
call fcn.00464b40
jmp 0x465ab6
mov eax, 5
mov ebx, 0x46
mov edx, 0xd
mov ecx, 0xf
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x9c], ebx
mov ebx, 0x2e
mov edi, 0x1e
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], edx
mov edx, 0x10
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xc8], eax
mov eax, 0x5a
mov ebp, 0x21
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 0xa5
mov dword [esp + 0x40], 0x1f
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x5c], 0x32
mov dword [esp + 0x60], 0x29
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], 0x8f
mov dword [esp + 0x70], 0x23
mov dword [esp + 0x74], 0x11
mov dword [esp + 0x80], 0x26
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], 0x4b
mov dword [esp + 0x90], 0x27
mov dword [esp + 0x94], edx
mov dword [esp + 0xa0], 0x2b
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], 0x14
mov dword [esp + 0xb0], 0x3d
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], 0x28
mov dword [esp + 0xc4], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0x2a
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], eax
lea ebx, [esp + 0x34]
mov dword [esp + 0x14], 0xb
mov eax, dword [ebx + 4]
cmp eax, 0x3e
jbe 0x465274
mov edx, eax
jmp 0x46528b
mov ecx, dword [esi + eax*4 + 0x260]
cmp ecx, 0xffffffff
jne 0x465289
mov edx, dword [esi + eax*4 + 0x164]
jmp 0x46528b
mov edx, ecx
mov eax, dword [ebx]
cmp eax, 0x3e
ja 0x4652a9
mov ecx, dword [esi + eax*4 + 0x260]
cmp ecx, 0xffffffff
jne 0x4652a7
mov eax, dword [esi + eax*4 + 0x164]
jmp 0x4652a9
mov eax, ecx
mov ecx, dword [ebx + 8]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004634b0
mov edx, dword [ebx - 4]
mov dword [esi + edx*4 + 0x164], eax
mov eax, dword [esp + 0x14]
add ebx, 0x10
dec eax
mov dword [esp + 0x14], eax
jne 0x465268
mov ecx, 0x23
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], ecx
mov ecx, 0x25
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
mov ecx, 0x26
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], ecx
mov ecx, 0x27
mov dword [esp + 0x90], ecx
mov dword [esp + 0x98], ecx
mov eax, 0x1f
mov ecx, 0x2b
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov eax, 0x64
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa8], ecx
mov ecx, 0x3d
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov eax, 0x28
mov ecx, 0x2d
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc8], eax
mov eax, 0x2c
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe8], ecx
mov ecx, 0x2e
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], edi
mov ebx, 0x29
mov dword [esp + 0x84], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xc4], edi
mov dword [esp + 0xf4], edi
mov edi, dword [esi + 0x2d8]
cmp edi, 0xffffffff
mov edx, 0x50
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov eax, 0xb4
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf8], ecx
mov ecx, 0x2f
mov dword [esp + 0x3c], 0x32
mov dword [esp + 0x40], 0x20
mov dword [esp + 0x48], 0xd
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x8c], 0x55
mov dword [esp + 0x9c], 0x32
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe4], 0x1f
mov dword [esp + 0xec], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ebp
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
jne 0x465495
mov ecx, dword [esi + 0x1dc]
jmp 0x465497
mov ecx, edi
mov ebx, dword [esi + 0x29c]
cmp ebx, 0xffffffff
jne 0x4654aa
mov eax, dword [esi + 0x1a0]
jmp 0x4654ac
mov eax, ebx
push 0x420c0000
push 1
push ecx
push eax
mov ecx, esi
call fcn.00464200
test eax, eax
je 0x4654ee
cmp edi, 0xffffffff
jne 0x4654cb
mov edi, dword [esi + 0x1dc]
cmp ebx, 0xffffffff
jne 0x4654d8
mov eax, dword [esi + 0x1a0]
jmp 0x4654da
mov eax, ebx
push 0x420c0000
push edi
push eax
mov ecx, esi
call fcn.00464860
mov dword [esi + 0x1dc], eax
lea edx, [esp + 0x34]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], 0xe
mov edi, edi
mov ebx, dword [edx + 4]
cmp ebx, 0x3e
jbe 0x46550c
mov ecx, ebx
jmp 0x465523
mov eax, dword [esi + ebx*4 + 0x260]
cmp eax, 0xffffffff
jne 0x465521
mov ecx, dword [esi + ebx*4 + 0x164]
jmp 0x465523
mov ecx, eax
mov edi, dword [edx]
cmp edi, 0x3e
jbe 0x46552e
mov eax, edi
jmp 0x465541
mov eax, dword [esi + edi*4 + 0x260]
cmp eax, 0xffffffff
jne 0x465541
mov eax, dword [esi + edi*4 + 0x164]
mov edx, dword [esp + 0x14]
fild dword [edx + 8]
fstp dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
push ebp
push 1
push ecx
push eax
mov ecx, esi
call fcn.00464200
test eax, eax
jne 0x4655b0
cmp ebx, 0x3e
ja 0x46557c
mov eax, dword [esi + ebx*4 + 0x260]
cmp eax, 0xffffffff
jne 0x46557a
mov ebx, dword [esi + ebx*4 + 0x164]
jmp 0x46557c
mov ebx, eax
cmp edi, 0x3e
ja 0x465598
mov eax, dword [esi + edi*4 + 0x260]
cmp eax, 0xffffffff
jne 0x465596
mov edi, dword [esi + edi*4 + 0x164]
jmp 0x465598
mov edi, eax
push ebp
push ebx
push edi
mov ecx, esi
call fcn.004642b0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov dword [esi + edx*4 + 0x164], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add edx, 0x10
dec eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
jne 0x465500
mov ebx, dword [esi + 0x2ec]
cmp ebx, 0xffffffff
jne 0x4655dd
mov ecx, dword [esi + 0x1f0]
jmp 0x4655df
mov ecx, ebx
mov edi, dword [esi + 0x304]
cmp edi, 0xffffffff
jne 0x4655f2
mov eax, dword [esi + 0x208]
jmp 0x4655f4
mov eax, edi
push 0x43110000
push 1
push ecx
push eax
mov ecx, esi
call fcn.00464200
test eax, eax
je 0x46563a
cmp ebx, 0xffffffff
jne 0x465615
mov ecx, dword [esi + 0x1f0]
jmp 0x465617
mov ecx, ebx
cmp edi, 0xffffffff
jne 0x465624
mov eax, dword [esi + 0x208]
jmp 0x465626
mov eax, edi
push 0x43110000
push ecx
push eax
mov ecx, esi
call fcn.00464860
mov dword [esi + 0x1f0], eax
mov ebp, dword [esi + 0x274]
cmp ebp, 0xffffffff
jne 0x465651
mov eax, dword [esi + 0x178]
mov dword [esp + 0x18], eax
jmp 0x465655
mov dword [esp + 0x18], ebp
mov edi, dword [esi + 0x294]
cmp edi, 0xffffffff
jne 0x46566c
mov ecx, dword [esi + 0x198]
mov dword [esp + 0x20], ecx
jmp 0x465670
mov dword [esp + 0x20], edi
mov eax, dword [esi + 0x2d8]
cmp eax, 0xffffffff
jne 0x465687
mov edx, dword [esi + 0x1dc]
mov dword [esp + 0x24], edx
jmp 0x46568b
mov dword [esp + 0x24], eax
cmp ebp, 0xffffffff
jne 0x46569c
mov ecx, dword [esi + 0x178]
mov dword [esp + 0x14], ecx
jmp 0x4656a0
mov dword [esp + 0x14], ebp
cmp edi, 0xffffffff
jne 0x4656b1
mov edx, dword [esi + 0x198]
mov dword [esp + 0x1c], edx
jmp 0x4656b5
mov dword [esp + 0x1c], edi
cmp eax, 0xffffffff
jne 0x4656c2
mov ebx, dword [esi + 0x1dc]
jmp 0x4656c4
mov ebx, eax
cmp ebp, 0xffffffff
jne 0x4656cf
mov ebp, dword [esi + 0x178]
cmp edi, 0xffffffff
jne 0x4656da
mov edi, dword [esi + 0x198]
cmp eax, 0xffffffff
jne 0x4656e5
mov eax, dword [esi + 0x1dc]
shr eax, 0x10
movzx ecx, al
imul ecx, ecx, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov edx, edi
shr edx, 0x10
movzx eax, dl
lea edi, [eax + eax*4]
shl edi, 1
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
mov edx, ebp
shr edx, 0x10
movzx eax, dl
lea edi, [eax + eax*4]
shl edi, 3
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
xor eax, eax
mov ah, cl
movzx edi, bh
imul edi, edi, 0x32
mov dword [esp + 0x10], eax
mov eax, 0x51eb851f
imul edi
movzx eax, byte [esp + 0x1d]
lea edi, [eax + eax*4]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shl edi, 1
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
movzx eax, byte [esp + 0x15]
lea edi, [eax + eax*4]
shl edi, 3
mov eax, 0x51eb851f
imul edi
movzx edi, byte [esp + 0x24]
sar edx, 5
imul edi, edi, 0x32
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
mov eax, dword [esp + 0x10]
mov al, cl
shl eax, 8
mov dword [esp + 0x10], eax
mov eax, 0x51eb851f
imul edi
movzx eax, byte [esp + 0x20]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
lea edi, [eax + eax*4]
add ecx, edx
shl edi, 1
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
movzx eax, byte [esp + 0x18]
lea edi, [eax + eax*4]
shl edi, 3
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add cl, al
mov eax, dword [esp + 0x10]
movzx ecx, cl
or eax, ecx
mov dword [esi + 0x1f4], eax
mov eax, dword [esi + 0x29c]
cmp eax, 0xffffffff
jne 0x465823
mov eax, dword [esi + 0x1a0]
mov dword [esp + 0x14], eax
jmp 0x465827
mov dword [esp + 0x14], eax
movzx ecx, al
movzx ebx, ah
shr eax, 0x10
cmp ecx, ebx
movzx edx, al
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edx
mov eax, ecx
jg 0x465847
mov eax, ebx
cmp eax, edx
jle 0x465857
cmp ecx, ebx
jle 0x465853
mov edi, ecx
jmp 0x465859
mov edi, ebx
jmp 0x465859
mov edi, edx
test edi, edi
jne 0x465869
mov dword [esi + 0x224], 0x232323
jmp 0x4658b9
mov eax, 0xff
sub eax, edi
cmp eax, 0x23
jle 0x46587a
mov eax, 0x23
lea ebp, [eax + edi]
mov eax, ebp
imul eax, edx
cdq
idiv edi
xor edx, edx
mov dh, al
mov eax, ebp
imul eax, ebx
mov dword [esp + 0x10], edx
cdq
idiv edi
mov edx, dword [esp + 0x10]
mov dl, al
mov eax, ebp
imul eax, ecx
shl edx, 8
mov dword [esp + 0x10], edx
cdq
idiv edi
movzx edx, al
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x2a0]
cmp eax, 0xffffffff
jne 0x4658ca
mov eax, dword [esi + 0x1a4]
movzx ecx, al
movzx ebx, ah
shr eax, 0x10
cmp ecx, ebx
movzx edi, al
mov dword [esp + 0x10], edi
mov eax, ecx
jg 0x4658e2
mov eax, ebx
cmp eax, edi
jle 0x4658ee
cmp ecx, ebx
mov edi, ecx
jg 0x4658ee
mov edi, ebx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x465902
mov dword [esi + 0x228], 0x7f7f7f
jmp 0x465955
test edi, edi
jne 0x46590e
mov dword [esi + 0x228], edi
jmp 0x465955
xor edx, edx
lea eax, [edi - 0x2b]
test eax, eax
setl dl
dec edx
and edx, eax
mov ebp, edx
mov eax, ebp
imul eax, dword [esp + 0x10]
cdq
idiv edi
xor edx, edx
mov dh, al
mov eax, ebp
imul eax, ebx
mov dword [esp + 0x10], edx
cdq
idiv edi
mov edx, dword [esp + 0x10]
mov dl, al
mov eax, ebp
imul eax, ecx
shl edx, 8
mov ecx, edx
cdq
idiv edi
movzx eax, al
or ecx, eax
mov dword [esi + 0x228], ecx
mov ebx, dword [esi + 0x1e0]
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x54d010]
call fcn.0042bf80
xor ecx, ecx
mov ch, al
movzx eax, bh
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x10], ecx
fmul qword [0x54d010]
call fcn.0042bf80
mov ecx, dword [esp + 0x10]
movzx edx, bl
mov cl, al
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x54d010]
shl ecx, 8
mov dword [esp + 0x10], ecx
call fcn.0042bf80
mov ecx, dword [esp + 0x10]
movzx eax, al
or ecx, eax
mov eax, dword [esp + 0x18]
add eax, 0xf
cmp eax, 0xff
mov dword [esi + 0x1ec], ecx
jl 0x4659d9
mov eax, 0xff
mov ecx, dword [esp + 0x20]
add ecx, 0xf
cmp ecx, 0xff
mov edx, ecx
jl 0x4659ef
mov edx, 0xff
mov ecx, dword [esp + 0x24]
add ecx, 0xf
cmp ecx, 0xff
jl 0x465a03
mov ecx, 0xff
xor ebx, ebx
mov bh, cl
movzx ecx, al
mov bl, dl
shl ebx, 8
or ebx, ecx
mov dword [esi + 0x1bc], ebx
mov eax, dword [esi + 0x2d8]
cmp eax, 0xffffffff
jne 0x465a28
mov eax, dword [esi + 0x1dc]
mov dword [esi + 0x238], eax
mov eax, dword [esi + 0x300]
cmp eax, 0xffffffff
jne 0x465a3f
mov eax, dword [esi + 0x204]
mov edx, dword [esi + 0x204]
mov ecx, esi
mov dword [esi + 0x24c], eax
mov dword [esi + 0x254], edx
call fcn.00464b40
lea ecx, [esp + 0x28]
call fcn.0047b880
push str.TREEVIEW
push 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x120], 0
call fcn.0047bd00
lea ecx, [esp + 0x28]
call fcn.0047bbc0
test eax, eax
je 0x465aa2
add esi, 0x248
push esi
push 0xed9
push 0
push 0
lea ecx, [esp + 0x38]
call fcn.0047ba90
lea ecx, [esp + 0x28]
mov dword [esp + 0x118], 0xffffffff
call fcn.0047c080
mov ecx, dword [esp + 0x110]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10c
ret