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

Disassembly:
push 0xffffffffffffffff
push 0x4b0398
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ecba0]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
or esi, 0xffffffff
cmp dword [0x4f5af0], ebx
jne 0x45dcf1
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
push 1
push 1
push 0xff
push eax
push ecx
mov ecx, 0x4f5aec
call fcn.0047b476
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov eax, dword [ebp + 4]
push ebx
push edx
push eax
call fcn.00477002
mov eax, dword [eax + 0x78]
mov ecx, dword [eax]
call fcn.0045bbd0
mov dword [esp + 0x3c], eax
cmp eax, ebx
je 0x45e0d2
mov eax, vtable.CBitmap.0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], eax
mov ebx, 7
mov byte [esp + 0x34], 1
cmp dword [0x4f5af4], ebx
jne 0x45dd5c
call fcn.0045ade0
test eax, eax
jne 0x45dd5c
cmp dword [0x4eb1dc], 1
je 0x45dd69
jmp 0x45ddff
cmp dword [0x4f5ae4], 1
jne 0x45ddff
cmp dword [0x4eb1e0], 0
je 0x45ddff
call fcn.0046bd46
test eax, eax
je 0x45dd8e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
mov ebx, eax
test ebx, ebx
jne 0x45dd9c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.00473673
mov ebx, eax
mov ecx, dword [ebx + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.0046e0e4
mov esi, eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push esi
mov ecx, edi
call fcn.0045c810
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.0045cf80
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x1c]
push edx
push eax
push ebp
push esi
mov ecx, edi
call fcn.0045c810
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.0045d1c0
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x20]
push edx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebx, 7
mov ebp, dword [0x4eb1ec]
xor esi, esi
mov dword [esp + 0x14], ebp
test ebp, ebp
jle 0x45de2a
mov eax, dword [0x4eb1e8]
test esi, esi
jl 0x45de55
cmp esi, ebp
jge 0x45de55
mov ecx, dword [esp + 0x44]
cmp dword [eax + esi*4], ecx
je 0x45de5a
inc esi
cmp esi, ebp
jl 0x45de14
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x4f5af0]
push eax
push 0xffffffffffffffff
push ecx
call fcn.00477002
mov edx, dword [eax + 0x78]
mov ecx, dword [edx]
call fcn.0045b7c0
mov esi, dword [0x4eb1ec]
test esi, esi
jge 0x45dfaa
call fcn.0046d5b0
mov edx, dword [esp + 0x3c]
mov eax, dword [0x4f5af0]
push edx
push esi
push eax
call fcn.00477002
mov ecx, dword [eax + 0x78]
mov ecx, dword [ecx]
call fcn.0045b7c0
mov dword [esp + 0x40], esi
cmp dword [0x4f5af4], ebx
jne 0x45de98
call fcn.0045ade0
test eax, eax
jne 0x45de98
cmp dword [0x4eb1dc], 1
je 0x45dea5
jmp 0x45e097
cmp dword [0x4f5ae4], 1
jne 0x45e097
cmp dword [0x4eb1e0], 0
je 0x45e097
lea ebx, [esi + 1]
cmp ebx, ebp
jge 0x45e097
test ebx, ebx
jl 0x45de55
mov ecx, dword [0x4eb1ec]
cmp ebx, ecx
jge 0x45de55
mov eax, dword [0x4eb1e8]
mov edx, dword [esp + 0x44]
cmp dword [eax + ebx*4], edx
jne 0x45e097
lea ebp, [esi + 2]
cmp ebp, dword [esp + 0x14]
jge 0x45e097
test ebp, ebp
jl 0x45de55
cmp ebp, ecx
jge 0x45de55
mov ecx, edx
cmp dword [eax + ebp*4], ecx
jne 0x45e097
lea ecx, [esp + 0x14]
call fcn.0047b0ca
mov edx, dword [edi + 0x34]
mov eax, dword [edi + 0x30]
push 1
push 1
push 0xff
push edx
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x48], 2
call fcn.0047b476
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
call edi
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0045bcf0
push 0
lea ecx, [esp + 0x18]
call fcn.0045bd40
mov esi, eax
push esi
push ebx
mov ecx, 0x4f5aec
call fcn.0045bd20
push 0xf
call edi
push eax
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x1c]
call fcn.0045bcf0
push 1
lea ecx, [esp + 0x18]
call fcn.0045bd40
mov edi, eax
push edi
push ebp
mov ecx, 0x4f5aec
call fcn.0045bd20
push esi
mov esi, dword [sym.imp.USER32.dll_DestroyIcon]
call esi
push edi
call esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], 1
call fcn.0047b525
jmp 0x45e097
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
mov ecx, 0x4eb1e4
call fcn.00464190
mov ecx, dword [0x4eb1e8]
mov edi, dword [esp + 0x44]
mov dword [ecx + esi*4], edi
mov dword [esp + 0x40], ebp
cmp dword [0x4f5af4], ebx
jne 0x45dfea
call fcn.0045ade0
test eax, eax
jne 0x45dfea
cmp dword [0x4eb1dc], 1
je 0x45dff7
jmp 0x45e097
cmp dword [0x4f5ae4], 1
jne 0x45e097
cmp dword [0x4eb1e0], 0
je 0x45e097
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
call esi
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [0x4f5af0]
push edx
push eax
call fcn.00477002
mov ecx, dword [eax + 0x78]
mov ecx, dword [ecx]
call fcn.0045ba80
push 0xf
call esi
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [0x4f5af0]
push edx
push eax
call fcn.00477002
mov ecx, dword [eax + 0x78]
mov ecx, dword [ecx]
call fcn.0045ba80
mov esi, dword [0x4eb1ec]
test esi, esi
jge 0x45e057
call fcn.0046d5b0
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
mov ecx, 0x4eb1e4
call fcn.00464190
mov eax, dword [0x4eb1e8]
mov dword [eax + esi*4], edi
mov esi, dword [0x4eb1ec]
test esi, esi
jge 0x45e07e
call fcn.0046d5b0
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
mov ecx, 0x4eb1e4
call fcn.00464190
mov edx, dword [0x4eb1e8]
mov dword [edx + esi*4], edi
mov eax, dword [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov esi, vtable.CBitmap.0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x34], 0
mov dword [esp + 0x1c], esi
call fcn.00402dc0
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x24], esi
call fcn.00402dc0
mov esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0xc