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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x284
mov eax, dword [0x10064318]
xor eax, esp
mov dword [esp + 0x280], eax
push ebx
push esi
push edi
mov edi, edx
mov ebx, ecx
mov dword [esp + 0x10], ebx
test edi, edi
je 0x10011a10
mov eax, dword [0x100649f0]
test eax, eax
jne 0x10024a13
cmp byte [0x100649fa], 0
je 0x1001198a
cmp dword [0x100649e4], ebx
jne 0x1001198a
mov dword [0x100649e4], ebx
test edi, edi
setne byte [0x100649fa]
test edi, edi
je 0x10011a34
xor ecx, ecx
cmp byte [0x10065558], 0
mov esi, dword [0x10064a38]
mov dword [0x100649ec], ecx
jne 0x10024a5f
and esi, 0xfffffffb
cmp byte [0x10065149], 0
jne 0x10024a67
xor ecx, ecx
and esi, 0xffdfffff
or esi, ecx
cmp byte [0x100649f9], 0
jne 0x10024a71
xor ecx, ecx
and esi, 0xffbfffff
or esi, ecx
mov dword [0x10064a38], esi
test eax, eax
jne 0x10024a7b
and esi, 0xffffffbf
mov dword [0x10064a38], esi
test edi, edi
je 0x10011a46
cmp dword [0x10064ac0], 0
je 0x10011a46
push 0x10007b2c
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x10024a98
push 0x10007af0
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x10024a98
mov eax, dword [0x10064a38]
and eax, 0xffffffef
push dword [esp + 0x10]
mov esi, dword [0x100649bc]
mov edi, dword [0x100649c0]
mov dword [0x10064a38], eax
mov dword [esp + 0x34], eax
mov eax, dword [0x100649c4]
mov dword [esp + 0x1c], eax
mov eax, dword [0x100649c8]
mov dword [esp + 0x20], eax
mov eax, dword [0x100649ac]
mov dword [esp + 0x24], eax
mov eax, dword [0x100649b0]
mov dword [esp + 0x28], eax
mov eax, dword [0x100649b4]
mov dword [esp + 0x38], eax
mov eax, dword [0x100649b8]
mov dword [esp + 0x2c], eax
mov eax, dword [0x10064ac0]
mov ebx, dword [eax]
call dword [sym.imp.USER32.dll_GetDC]
push 0x58
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push ebx
push esi
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
mov esi, dword [esp + 0x14]
push 0x5a
push esi
mov dword [esp + 0x40], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push ebx
push edi
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push 0x58
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push ebx
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push 0x5a
push esi
mov dword [esp + 0x20], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push ebx
push dword [esp + 0x24]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push esi
push 0
mov dword [esp + 0x24], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [0x10064ac0]
push dword [esp + 0x10]
mov esi, dword [ecx]
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x58
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push esi
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push 0x5a
push edi
mov dword [esp + 0x28], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push esi
push dword [esp + 0x2c]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push 0x58
push edi
mov dword [esp + 0x2c], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push esi
push dword [esp + 0x3c]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push 0x5a
push edi
mov ebx, eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push esi
push dword [esp + 0x30]
call dword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MulDiv]
push edi
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x38]
push 0x10
push eax
lea eax, [esp + 0x50]
push 0x10
push eax
call dword [sym.imp.msvcrt.dll_memcpy_s]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
push 0x10
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0x58], ebx
push 0x10
push eax
mov dword [esp + 0x64], esi
call dword [sym.imp.msvcrt.dll_memcpy_s]
mov edi, dword [esp + 0x50]
lea eax, [esp + 0x58]
push 4
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x60], edi
push 8
push eax
call dword [sym.imp.msvcrt.dll_memcpy_s]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa4], eax
mov eax, ebx
cdq
mov dword [esp + 0x98], eax
lea eax, [esp + 0x3c]
push 1
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0xa4], edx
push 8
push eax
mov byte [esp + 0x4c], 1
call dword [sym.imp.msvcrt.dll_memcpy_s]
mov eax, dword [esp + 0x78]
add esp, 0x40
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x48]
push 0
push 0x38
push eax
push 0
push dword [0x1000915c]
push dword [0x10009158]
call dword [sym.imp.ntdll.dll_RtlPublishWnfStateData]
push 0x10064af0
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
cmp dword [0x10064ac8], ebx
jne 0x100118ff
mov ecx, 0x10064acc
mov edx, 0x100649ac
mov esi, 0xc
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10011ad1
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100118b0
xor eax, eax
test eax, eax
jne 0x100118ff
mov edx, 0x10064adc
mov eax, 0x100649bc
mov esi, 0xc
lea ebx, [ebx]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x10011afb
add edx, 4
add eax, 4
sub esi, 4
jae 0x100118e0
xor eax, eax
test eax, eax
je 0x10011ac0
mov eax, dword [0x100649ac]
mov dword [0x10064acc], eax
mov eax, dword [0x100649b0]
mov dword [0x10064ad0], eax
mov eax, dword [0x100649b4]
mov dword [0x10064ad4], eax
mov eax, dword [0x100649b8]
mov dword [0x10064ad8], eax
mov eax, dword [0x100649bc]
mov dword [0x10064adc], eax
mov eax, dword [0x100649c0]
mov dword [0x10064ae0], eax
mov eax, dword [0x100649c4]
mov dword [0x10064ae4], eax
mov eax, dword [0x100649c8]
mov dword [0x10064ac8], ebx
mov dword [0x10064ae8], eax
mov dword [0x10064aec], edi
push 0x10064af0
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov eax, dword [0x10065550]
test eax, eax
jne 0x10024aa5
xor eax, eax
mov ecx, dword [esp + 0x28c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1001f1e0
mov esp, ebp
pop ebp
ret
push ebx
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
xor eax, eax
mov word [esp + 0x80], ax
lea eax, [esp + 0x80]
push 0x104
push eax
push esi
call dword [sym.imp.USER32.dll_RealGetWindowClassW]
xor eax, eax
mov ecx, 0x10007b64
mov word [esp + 0x286], ax
lea eax, [esp + 0x80]
jmp 0x100119d0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10011b25
test dx, dx
je 0x100119fa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10011b25
add eax, 4
add ecx, 4
test dx, dx
jne 0x100119d0
xor eax, eax
test eax, eax
je 0x10024a31
xor eax, eax
mov dword [0x100649f0], eax
jmp 0x10011595
xor eax, eax
cmp byte [0x100649fa], al
je 0x10011975
mov dword [0x100649f0], eax
cmp dword [0x100649e4], ebx
je 0x1001159b
jmp 0x10011973
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov ecx, eax
mov eax, dword [0x100649f0]
jmp 0x100115ae
push 4
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
lea eax, [esp + 0x30]
push 8
push eax
call dword [sym.imp.msvcrt.dll_memcpy_s]
mov eax, dword [esp + 0x38]
add esp, 0x10
mov dword [esp + 0x70], eax
xor cl, cl
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, ebx
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
call fcn.1001afb0
push 0
push 0x38
mov dword [esp + 0x80], eax
lea eax, [esp + 0x50]
push eax
push 0
push dword [0x1000915c]
mov dword [esp + 0x90], edx
push dword [0x10009158]
call dword [sym.imp.ntdll.dll_RtlPublishWnfStateData]
mov eax, dword [0x10065550]
test eax, eax
je 0x10011973
jmp 0x10024ab1
cmp dword [0x10064aec], edi
je 0x1001195b
jmp 0x100118ff
cmp al, byte [edx]
jne 0x10011af1
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10011af1
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10011af1
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100118c5
sbb eax, eax
or eax, 1
jmp 0x100118c7
cmp cl, byte [eax]
jne 0x10011b1b
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x10011b1b
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x10011b1b
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x100118f5
sbb eax, eax
or eax, 1
jmp 0x100118f7
sbb eax, eax
or eax, 1
jmp 0x100119fc
push 0x10007ee0
push eax
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
mov eax, dword [0x100649f0]
jne 0x10011595
jmp 0x1001157c
push 0x34
lea eax, [esp + 0x4c]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x48], 0x34
lea eax, [esp + 0x48]
push eax
push esi
call dword [sym.imp.USER32.dll_GetComboBoxInfo]
mov eax, dword [esp + 0x78]
jmp 0x10011a06
or esi, 4
jmp 0x100115ca
mov ecx, 0x200000
jmp 0x100115d9
mov ecx, 0x400000
jmp 0x100115f0
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, dword [0x10064a38]
test eax, eax
je 0x10011606
or esi, 0x40
jmp 0x10011609
mov eax, dword [0x10064a38]
or eax, 0x10
jmp 0x10011654
push 0
push 0
push dword [0x10065140]
jmp 0x10024ab9
push esi
push ebx
push dword [0x10065144]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x10011973