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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4eab30
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x13c]
xor ebp, ebp
cmp eax, ebp
je 0x469897
cmp dword [esi + 0x144], ebp
je 0x469897
mov ecx, dword [esi + 0xe0]
push ebx
push 2
mov dword [ecx], eax
call fcn.00449130
mov ebx, eax
add esp, 4
cmp ebx, ebp
mov dword [esp + 0x1c], ebx
je 0x469278
mov word [ebx], bp
push edi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 0x144]
push ebp
lea edx, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x13c]
mov byte [esp + 0x74], 1
mov dword [esp + 0x24], ebp
call fcn.004215c7
mov edi, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x18]
mov dword [esp + 0x40], edx
push eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], edx
mov dword [esp + 0x1c], edi
call fcn.00443850
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
add eax, 8
push ecx
mov dword [esp + 0x20], eax
call fcn.00443850
mov edx, dword [esp + 0x20]
add esp, 8
cmp word [edx], bp
jne 0x469324
cmp edi, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x469307
mov eax, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push ebp
push eax
call esi
cmp ebx, ebp
mov dword [esp + 0x1c], ebp
je 0x469895
mov ecx, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push ebp
push ecx
jmp 0x469893
push 0x2c
lea edx, [esi + 0x6c]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.0044c770
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x13c]
add esp, 0xc
mov dword [esp + 0x14], ecx
push edx
lea ecx, [esp + 0x30]
call fcn.0044bbb0
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x2c
mov byte [esp + 0x64], 2
je 0x46936b
mov byte [esi + 0x69], 0xff
mov byte [esi + 0x6a], 3
jmp 0x46984a
add ecx, 2
mov dword [esp + 0x14], ecx
je 0x469392
mov ax, word [ecx]
cmp ax, 9
jb 0x469383
cmp ax, 0xd
jbe 0x469389
cmp ax, 0x20
jne 0x469392
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x469374
push 1
push 0x2c
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x38]
call fcn.00459430
mov eax, dword [eax]
cmp word [eax], 0x2a
mov dword [esp + 0x18], eax
mov byte [esp + 0x13], 0
jne 0x4693c2
mov byte [esi + 0x69], 0xfe
mov byte [esp + 0x13], 0xfe
mov byte [esi + 0x6a], 3
cmp word [eax], 0x23
jne 0x4693cc
mov byte [esi + 0x69], 0xfe
mov al, byte [esi + 0x69]
test al, al
jl 0x469514
xor ecx, ecx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x48]
mov dword [esp + 0x50], ecx
push edx
lea eax, [esp + 0x1c]
mov dword [esp + 0x58], ecx
push eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x60], ecx
call fcn.00459b60
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x469429
push 0x3d
call edi
push 0x3e
mov dword [esi + 0x80], eax
call edi
mov dword [esi + 0x84], eax
mov dword [esi + 0x78], ebp
mov dword [esi + 0x7c], ebp
mov byte [esi + 0x69], 0xfe
push 0x3d
call edi
push 0x3e
mov ebp, eax
call edi
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edi, eax
mov eax, dword [esp + 0x54]
mov dword [esi + 0x84], eax
mov dword [esi + 0x7c], edx
mov edx, dword [esp + 0x50]
mov eax, ebx
and eax, 4
mov dword [esi + 0x78], ecx
mov dword [esi + 0x80], edx
jne 0x469472
test bl, 1
jne 0x469472
mov dword [esi + 0x80], ebp
mov dword [esi + 0x78], 0
jmp 0x46949f
test eax, eax
jne 0x469484
add ecx, ecx
mov edx, ebp
sub edx, ecx
mov dword [esi + 0x80], edx
jmp 0x46949f
test bl, 1
jne 0x46949f
mov eax, dword [esi + 0x88]
test eax, eax
jne 0x46949f
mov eax, ebp
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x78], eax
mov eax, ebx
and eax, 8
jne 0x4694ba
test bl, 2
jne 0x4694ba
mov dword [esi + 0x7c], 0
mov dword [esi + 0x80], edi
jmp 0x4694f0
test eax, eax
jne 0x4694d1
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax]
mov edx, edi
sub edx, ecx
mov dword [esi + 0x84], edx
jmp 0x4694f0
test bl, 2
jne 0x4694f0
mov eax, dword [esi + 0x88]
test eax, eax
jne 0x4694f0
mov ecx, dword [esp + 0x54]
mov eax, edi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x7c], eax
cmp dword [esi + 0x80], ebp
jl 0x4694fe
mov dword [esi + 0x80], ebp
mov eax, dword [esi + 0x84]
mov ebx, dword [esp + 0x20]
xor ebp, ebp
cmp eax, edi
jl 0x469514
mov dword [esi + 0x84], edi
mov eax, dword [esp + 0x14]
cmp word [eax], 0x2c
jne 0x46984a
push 1
push 0x2c
lea ecx, [esp + 0x1c]
mov edi, 2
add eax, edi
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], eax
call fcn.00459430
push ebp
lea edx, [esi + 0x90]
push edx
push eax
call fcn.0044c900
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x46984a
add eax, edi
mov dword [esp + 0x14], eax
je 0x469583
mov cx, word [eax]
cmp cx, 9
jb 0x469575
cmp cx, 0xd
jbe 0x46957b
cmp cx, 0x20
jne 0x469583
add eax, edi
mov dword [esp + 0x14], eax
jmp 0x469566
cmp word [eax], 0x3d
jne 0x4695ab
add eax, edi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
call fcn.00443850
mov eax, dword [esi + 0x48]
add esp, 4
or eax, 0x800
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x13]
test cl, cl
lea ecx, [esi + 0x94]
je 0x4695c4
push eax
call fcn.004566f0
jmp 0x46984a
push 0x2c
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0044c950
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x46984a
push 1
push 0x2c
lea ecx, [esp + 0x1c]
add eax, edi
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], eax
call fcn.00459430
push ebp
lea edx, [esi + 0x98]
push edx
push eax
call fcn.0044c770
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x46984a
lea ecx, [esp + 0x14]
add eax, edi
push ecx
mov dword [esp + 0x18], eax
call fcn.00443850
add esp, 4
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x38]
call fcn.00459430
mov eax, dword [eax]
mov cx, word [eax]
cmp cx, 0x2d
mov dword [esp + 0x18], eax
jne 0x469656
mov byte [esi + 0x8d], 1
jmp 0x469663
cmp cx, 0x23
jne 0x469669
mov byte [esi + 0x8e], 1
add eax, edi
mov dword [esp + 0x18], eax
mov cx, word [eax]
cmp cx, 0x2d
jne 0x46967b
mov byte [esi + 0x8d], 1
jmp 0x469688
cmp cx, 0x23
jne 0x46968e
mov byte [esi + 0x8e], 1
add eax, edi
mov dword [esp + 0x18], eax
xor bl, bl
cmp word [eax], 0x24
jne 0x46969f
add eax, 2
mov dword [esp + 0x18], eax
mov bl, 1
mov eax, dword [esp + 0x38]
cdq
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x30], edx
call fcn.0044cd70
add esp, 8
test eax, eax
jle 0x469714
lea edx, [esp + 0x18]
push edx
call fcn.00443850
mov eax, dword [esp + 0x28]
add esp, 4
test bl, bl
mov dword [esp + 0x38], eax
jne 0x469714
cmp eax, 0x3e8
jle 0x4696e9
mov eax, 0x3e8
jmp 0x4696f5
cmp eax, 0xfffffc18
jge 0x4696f5
mov eax, 0xfffffc18
imul eax, eax, 0xff
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x9c], eax
lea eax, [esp + 0x18]
push eax
call fcn.00443850
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp word [ecx], 0x3a
jne 0x46978f
cmp dword [0x519354], ebp
jge 0x46974b
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
call edi
push 8
mov dword [0x519354], eax
call edi
mov dword [0x519358], eax
mov eax, dword [esp + 0x18]
mov edx, dword [0x519354]
add eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x148], edx
cdq
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x30], edx
call fcn.0044cd70
add esp, 8
test eax, eax
jle 0x46978f
mov edx, dword [esp + 0x24]
mov dword [esi + 0x148], edx
mov eax, dword [esp + 0x14]
cmp word [eax], 0x2c
jne 0x469846
add eax, 2
mov dword [esp + 0x14], eax
cmp word [eax], bp
je 0x469846
push 1
push 0x2c
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x38]
call fcn.00459430
mov ecx, dword [eax]
push ecx
lea ecx, [esi + 0x118]
call fcn.00456630
mov edx, dword [esp + 0x14]
cmp word [edx], 0x2c
jne 0x469846
push 2
call fcn.00449130
add esp, 4
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x4697ec
mov word [eax], bp
mov edx, dword [esp + 0x14]
push 1
push 0x2c
lea eax, [esp + 0x1c]
add edx, 2
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x70], 3
mov dword [esp + 0x20], edx
call fcn.00459430
push ebp
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.0044c770
mov edi, dword [esp + 0x24]
lea edx, [esi + 0x140]
push edx
push edi
call fcn.00459d60
add esp, 0x14
cmp edi, ebp
mov dword [esi + 0x48], eax
je 0x469846
mov eax, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
cmp eax, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x469866
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push ebp
push ecx
call esi
mov eax, dword [esp + 0x1c]
cmp eax, ebp
mov dword [esp + 0x2c], ebp
je 0x469880
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push ebp
push edx
call esi
cmp ebx, ebp
mov dword [esp + 0x1c], ebp
je 0x469895
mov eax, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push ebp
push eax
call esi
pop edi
pop ebx
mov ecx, dword [esp + 0x54]
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x58
ret 4