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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24c
mov eax, dword [0x41200c]
xor eax, esp
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
push 1
mov dword [esp + 0xa4], eax
push 0x401e20
mov eax, 0x8b4
lea esi, [esp + 0x20]
mov ebx, ecx
call fcn.0040df9a
xor ecx, ecx
mov eax, 0x4013c0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0xbc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x38
stosd dword es:[edi], eax
push ecx
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], ecx
call sub.msvcrt.dll_memset
xor eax, eax
fldz
mov word [esp + 0x250], ax
lea edi, reloc.ADVAPI32.dll_TraceMessage
fstp qword [esp + 0xdc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
xor esi, esi
and dword [esp + 0xdc], esi
push 0x38
stosw word es:[edi], ax
lea eax, [esp + 0xe4]
push esi
push eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x78], esi
call sub.msvcrt.dll_memset
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x64], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x84], ecx
mov eax, 0x8d4
cmp dword [esp + 0xa0], ecx
jne 0x40a4cd
mov dword [esp + 0x18], reloc.ADVAPI32.dll_TraceMessage
mov edi, ecx
mov ebx, dword [esp + 0xc]
mov word [esp + 0x1e], ax
jmp 0x40b26a
push 0x459
push ebx
mov dword [esp + 0x20], ecx
mov word [esp + 0x24], ax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
jne 0x40a4fc
call fcn.0040f196
mov dword [esp + 0x18], eax
mov eax, 0x8d8
jmp 0x40a4bf
mov ebx, dword [esp + 0xc]
and dword [esp + 0x18], esi
mov eax, 0x8d8
mov word [esp + 0x1c], ax
lea eax, [ebx + 0x54]
push eax
mov dword [esp + 0xb4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
push 0
push 0xb
push edi
mov dword [esp + 0x78], 1
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebx + 0x4c]
jmp 0x40a558
and dword [esi + 0x4c], 0
cmp dword [ebx + 0x6c], 0
jne 0x40a555
push dword [esi + 0x18]
lea ebx, [esp + 0x48]
push esi
push edi
call fcn.0040716c
mov ebx, dword [esp + 0xc]
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x40a539
xor eax, eax
mov dword [esp + 0x9c], eax
cmp dword [ebp + 0x10], eax
jbe 0x40b073
mov esi, dword [esp + 0xa0]
imul eax, eax, 0x7c
add esi, eax
mov ebx, dword [esi + 0x5c]
lea edi, [esp + 0x8c]
mov dword [esp + 0x40], esi
call fcn.0040fa38
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x8fb
js 0x40adbf
mov esi, dword [esp + 0xc]
mov edi, dword [esi + 0x4c]
mov ebx, dword [esp + 0x40]
mov word [esp + 0x1c], ax
jmp 0x40a5c5
push dword [edi]
mov ecx, dword [ebx + 0x68]
call fcn.00407136
test eax, eax
jne 0x40a6fc
mov edi, dword [edi + 0x54]
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x40a5b0
push 0x58
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov edi, eax
mov dword [esp + 0x7c], edi
mov eax, 0x90d
test edi, edi
je 0x40b0ae
and dword [esp + 0x18], 0
push 0x58
push 0
push edi
mov word [esp + 0x28], ax
call sub.msvcrt.dll_memset
mov edx, dword [ebx + 0x68]
add esp, 0xc
lea eax, [esp + 0x4c]
call fcn.0040fe83
lea eax, [esp + 0x4c]
push eax
call fcn.00410446
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x912
js 0x40b0b6
mov edx, edi
lea ecx, [esp + 0x4c]
mov word [esp + 0x1c], ax
call fcn.004105df
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x40], ecx
mov dword [edi + 0x18], ecx
sete al
push ecx
lea ebx, [esp + 0x48]
mov dword [esp + 0x80], ecx
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x54], eax
mov dword [esi + 0x4c], edi
mov esi, edi
mov edi, dword [esp + 0x18]
push esi
push edi
mov dword [esp + 0x48], esi
call fcn.0040716c
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x48], 1
push dword [esi + 8]
mov dword [esi + 0x4c], 1
mov ecx, dword [ebx + 0x70]
lea eax, [esi + 8]
mov dword [esp + 0xb8], eax
call fcn.00407136
test eax, eax
je 0x40a6b3
push dword [esi + 0xc]
mov ecx, dword [ebx + 0x74]
call fcn.00407136
test eax, eax
je 0x40a6b3
mov edx, dword [esp + 0x48]
test edx, edx
je 0x40a80b
push dword [esi + 4]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
mov dword [esi + 4], eax
cmp dword [ebx + 0x34], eax
je 0x40a775
cmp dword [ebx + 0x2c], eax
lea eax, [esp + 0x4c]
je 0x40a752
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push 0x493
push dword [0x4133b4]
call fcn.00410309
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x95a
jmp 0x40a7c2
xor eax, eax
cmp dword [esi + 0x6c], eax
push reloc.KERNEL32.dll_InterlockedPushEntrySList
sete al
pop ecx
mov dword [esp + 0x48], eax
lea eax, [esp + 0xb8]
mov byte [eax], 0
inc eax
dec ecx
jne 0x40a712
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
lea eax, [esp + 0xb8]
push eax
push 0xffffffffffffffff
push 0x1053
push edi
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x44], eax
jmp 0x40a678
push dword [ebx + 0x70]
push 0x494
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x960
jmp 0x40a7c2
cmp dword [ebx + 0x2c], eax
lea eax, [esp + 0x4c]
je 0x40a7a1
push dword [ebx + 0x74]
push 0x495
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x969
jmp 0x40a7c2
push dword [ebx + 0x78]
push 0x494
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x970
js 0x40adc3
lea edx, [esi + 4]
lea ecx, [esp + 0x4c]
mov word [esp + 0x1c], ax
call fcn.004105df
mov eax, dword [esi + 4]
and dword [esp + reloc.ADVAPI32.dll_TraceMessage], 0
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [esp + 0x48]
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov ecx, dword [ebx + 8]
cmp dword [esi + 0x30], ecx
jne 0x40a82b
mov eax, dword [esi + 0x2c]
cmp eax, dword [ebx + 4]
jne 0x40a82b
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 0x1c]
jne 0x40a82b
test edx, edx
je 0x40ac0f
cmp ecx, 1
je 0x40ab0d
cmp ecx, 2
je 0x40ab0d
lea eax, [esp + 0x84]
push eax
lea eax, [ebx + 0x60]
push eax
push dword [ebx + 0x5c]
push dword [esp + 0x98]
call fcn.0040fad3
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9cd
js 0x40adc3
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x84]
cmp eax, 3
jne 0x40a902
push dword [ebx + 0x58]
lea eax, [esp + 0x74]
push 0x4ae
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9d2
js 0x40adc3
cmp dword [ebx + 0x58], 0xa
push dword [esp + 0x70]
mov word [esp + 0x20], ax
lea eax, [esp + 0x5c]
jbe 0x40a8df
push 0x4aa
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9d5
jmp 0x40aa2a
push 0x4ac
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9d7
jmp 0x40aa2a
cmp dword [ebx + 0x5c], 4
jne 0x40a9f1
cmp eax, 7
jne 0x40a9f1
push ebx
lea ebx, [esp + 0x68]
call fcn.0040a02d
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9de
js 0x40adc3
cmp dword [esp + 0x64], reloc.ADVAPI32.dll_TraceMessage
mov word [esp + 0x1c], ax
jne 0x40a95f
push 0x4a9
push dword [0x4133b4]
lea eax, [esp + 0x60]
call fcn.00410309
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
pop ecx
mov eax, 0x9e2
jmp 0x40a9dd
push dword [esp + 0x64]
lea eax, [esp + 0x74]
push 0x4b0
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9e6
js 0x40adc3
cmp dword [esp + 0x64], 0x1c
push dword [esp + 0x70]
mov word [esp + 0x20], ax
lea eax, [esp + 0x5c]
jb 0x40a9bf
push 0x4aa
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9e9
jmp 0x40a9dd
push 0x4ac
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9eb
js 0x40adc3
mov ebx, dword [esp + 0x40]
mov word [esp + 0x1c], ax
jmp 0x40abd1
cmp eax, 6
je 0x40aa5b
cmp eax, 8
je 0x40aa5b
cmp eax, 7
je 0x40aa5b
test eax, eax
je 0x40aa3a
cmp eax, 1
je 0x40aa3a
push 0x4ab
push dword [0x4133b4]
lea eax, [esp + 0x60]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0xa09
pop ecx
pop ecx
js 0x40adc3
mov word [esp + 0x1c], ax
jmp 0x40abd1
push 0x4ad
push dword [0x4133b4]
lea eax, [esp + 0x60]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0xa0e
jmp 0x40aa28
cmp dword [ebx + 0x58], 0
jbe 0x40aae9
push dword [ebx + 0x58]
lea eax, [esp + 0x74]
push 0x4af
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9f7
js 0x40adc3
cmp dword [ebx + 0x58], 0x32
push dword [esp + 0x70]
mov word [esp + 0x20], ax
lea eax, [esp + 0x5c]
jae 0x40aac6
push 0x4aa
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9fa
jmp 0x40aa2a
push 0x4ac
push dword [0x4133b4]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9fc
jmp 0x40aa2a
push 0x4ab
push dword [0x4133b4]
lea eax, [esp + 0x60]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0xa02
jmp 0x40aa28
mov eax, dword [ebx + 4]
dec eax
cmp eax, 9
ja case.0x40ab1a.5
jmp dword [eax*4 + 0x40b2fe]
mov eax, 0x476
jmp 0x40ab7e
mov eax, 0x477
jmp 0x40ab42
mov eax, 0x478
jmp 0x40ab42
mov eax, 0x479
jmp 0x40ab42
mov eax, 0x47a
push dword [ebx + 0x1c]
push dword [ebx + 0x28]
push eax
push dword [0x4133b4]
lea eax, [esp + 0x68]
call fcn.00410309
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9bf
jmp 0x40aa2a
mov eax, 0x496
jmp 0x40ab7e
mov eax, 0x498
jmp 0x40ab7e
mov eax, 0x499
push dword [ebx + 0x1c]
push eax
push dword [0x4133b4]
lea eax, [esp + 0x64]
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0x9bb
jmp 0x40aa2a
push 0x497
push dword [0x4133b4]
lea eax, [esp + 0x60]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0x9b4
jmp 0x40aa28
lea eax, [esp + 0x58]
call fcn.0040fe83
mov eax, dword [esp + 0x58]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [esp + 0x48]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], 3
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x1c]
mov edx, dword [esp + 0x48]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x5c]
cmp dword [esi + 0x50], eax
jne 0x40ac1f
test edx, edx
je 0x40acd6
dec eax
cmp eax, 9
ja case.default.0x40ac25
jmp dword [eax*4 + 0x40b326]
mov eax, 0x49b
jmp 0x40ac70
mov eax, 0x49c
jmp 0x40ac70
mov eax, 0x49d
jmp 0x40ac70
mov eax, 0x49e
jmp 0x40ac70
mov eax, 0x49f
jmp 0x40ac70
mov eax, 0x4a0
jmp 0x40ac70
mov eax, 0x4a1
jmp 0x40ac70
mov eax, 0x4a2
jmp 0x40ac70
mov eax, 0x4a3
jmp 0x40ac70
mov eax, 0x4a4
push eax
push dword [0x4133b4]
lea eax, [esp + 0xac]
call fcn.00410309
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
pop ecx
mov eax, 0xa46
js 0x40adc3
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0xa4]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [esp + 0x48]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], 1
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x5c]
mov edx, dword [esp + 0x48]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x38]
cmp eax, dword [ebx + 0x58]
jne 0x40ad09
push 4
add esi, 0x3c
pop ecx
lea edi, [ebx + 0x38]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x40ad09
mov esi, dword [esp + 0x3c]
mov eax, dword [esi + 0x30]
cmp eax, dword [ebx + 8]
jne 0x40ad09
mov eax, dword [esi + 0x28]
cmp eax, dword [ebx + 0x60]
jne 0x40ad09
test edx, edx
je 0x40aeb5
push dword [esp + 0x10]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor esi, esi
cmp dword [ebx + 8], 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x6c], esi
jne 0x40ad56
push 0x47d
push dword [0x4133b4]
lea eax, [esp + 0x98]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0xa5c
pop ecx
pop ecx
jns 0x40ae5a
mov edi, dword [esp + 0x14]
jmp 0x40a4bf
cmp dword [ebx + 8], 2
jne 0x40ad80
push 0x48f
push dword [0x4133b4]
lea eax, [esp + 0x98]
call fcn.00410309
mov dword [esp + 0x20], eax
test eax, eax
mov eax, 0xa61
jmp 0x40ad45
lea eax, [ebx + 0x38]
push 4
pop ecx
mov edi, eax
lea esi, reloc.ADVAPI32.dll_TraceMessage
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x40add1
push 0x47f
push dword [0x4133b4]
lea eax, [esp + 0x98]
call fcn.00410309
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
pop ecx
mov eax, 0xa6c
jns 0x40ae5a
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov word [esp + 0x1e], ax
jmp 0x40b266
lea ecx, [esp + 0xd0]
push ecx
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
test eax, eax
mov eax, 0xa72
je 0x40b0a1
fld qword [esp + 0xd0]
and dword [esp + 0x18], 0
push ecx
push ecx
lea ebx, [esp + 0x74]
fstp qword [esp]
mov word [esp + 0x24], ax
call fcn.0040344f
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0xa75
js 0x40ad4d
push esi
push 0x47c
push dword [0x4133b4]
mov word [esp + 0x28], ax
lea eax, [esp + 0x9c]
mov dword [esp + 0x1c], esi
call fcn.00410309
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0xa77
js 0x40ad4d
mov ebx, dword [esp + 0x40]
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x90]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [esp + 0x48]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], 2
push 0x1074
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x38], eax
lea esi, [ebx + 0x38]
lea edi, [ecx + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x60]
mov esi, ecx
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x30], eax
push dword [esi + 0xc]
mov ecx, dword [ebx + 0x74]
call fcn.00407136
mov edi, dword [esp + 0x48]
test eax, eax
je 0x40aecc
test edi, edi
je 0x40af11
push dword [esi + 0xc]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi + 0xc], 0
mov edx, dword [ebx + 0x74]
lea eax, [esp + 0x4c]
call fcn.0040fe83
lea eax, [esp + 0x4c]
push eax
call fcn.00410446
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0xa94
js 0x40adbf
lea edx, [esi + 0xc]
lea ecx, [esp + 0x4c]
mov word [esp + 0x1c], ax
call fcn.004105df
mov esi, dword [esp + 0xb4]
push dword [esi]
mov ecx, dword [ebx + 0x70]
call fcn.00407136
test eax, eax
je 0x40af2a
test edi, edi
je 0x40af70
push dword [esi]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi], 0
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x40af70
lea eax, [esp + 0x4c]
call fcn.0040fe83
lea eax, [esp + 0x4c]
push eax
call fcn.00410446
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0xaa5
js 0x40adbf
mov edx, esi
lea ecx, [esp + 0x4c]
mov word [esp + 0x1c], ax
call fcn.004105df
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
push dword [ebx + 0x10]
mov ecx, dword [esi + 0x78]
call fcn.00407136
test eax, eax
je 0x40af8f
test edi, edi
je 0x40b042
push dword [ebx + 0x10]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [ebx + 0x10], 0
mov edx, dword [esi + 0x78]
lea eax, [esp + 0x4c]
call fcn.0040fe83
lea eax, [esp + 0x4c]
push eax
call fcn.00410446
mov dword [esp + 0x18], eax
test eax, eax
mov eax, 0xab4
js 0x40adbf
lea edx, [ebx + 0x10]
lea ecx, [esp + 0x4c]
mov word [esp + 0x1c], ax
call fcn.004105df
mov ebx, dword [ebx + 0x10]
lea edi, [esp + 0x88]
call fcn.00406fd6
mov dword [esp + 0x18], eax
test eax, eax
js 0x40b042
push dword [esp + 0x88]
mov eax, dword [esp + 0x10]
push 0xffffffffffffffff
push dword [eax + 0xc4]
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov edi, dword [esp + 0x14]
cmp eax, reloc.ADVAPI32.dll_TraceMessage
je 0x40b046
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, dword [esp + 0x44]
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], eax
lea eax, [esp + 0x118]
push eax
push 0
push 0x104c
push edi
mov dword [esp + reloc.ADVAPI32.dll_TraceMessage], 2
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x40b046
mov edi, dword [esp + 0x14]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x1c], eax
xor eax, eax
cmp dword [esi + 0x30], eax
sete al
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 0x9c], eax
cmp eax, dword [ebp + 0x10]
jb 0x40a56e
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x4c]
test esi, esi
je 0x40b152
cmp dword [esi + 0x4c], 0
jne 0x40b13c
mov edx, dword [esp + 0x80]
lea edi, [esi + 0x54]
mov eax, dword [edi]
test edx, edx
je 0x40b0c6
mov dword [edx + 0x54], eax
jmp 0x40b0c9
mov dword [esp + 0x18], reloc.ADVAPI32.dll_TraceMessage
jmp 0x40adbf
mov dword [esp + 0x18], reloc.ADVAPI32.dll_TraceMessage
mov edi, dword [esp + 0x14]
mov word [esp + 0x1e], ax
mov ebx, esi
jmp 0x40b266
mov dword [ecx + 0x4c], eax
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0xb8]
push eax
push 0xffffffffffffffff
push 0x1053
push ebx
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x40b108
push 0
push eax
push 0x1008
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 4]
mov ebx, dword [sym.imp.ole32.dll_CoTaskMemFree]
call ebx
push dword [esi]
and dword [esi + 4], 0
call ebx
push dword [esi + 0xc]
and dword [esi], 0
call ebx
push dword [esi + 8]
and dword [esi + 0xc], 0
call ebx
and dword [esi + 8], 0
mov esi, dword [edi]
push 0
call ebx
mov ecx, dword [esp + 0xc]
jmp 0x40b146
mov dword [esp + 0x80], esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x40b082
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xb0]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
and dword [esp + 0x68], 0
push 0x40cf48
push dword [esp + 0x10]
push 0x1030
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
mov eax, 0xb10
jne 0x40b190
mov dword [esp + 0x18], reloc.ADVAPI32.dll_TraceMessage
jmp 0x40adc3
and dword [esp + 0x18], 0
push esi
mov word [esp + 0x20], ax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x68], 1
cmp dword [ebx + 0x6c], ecx
jne 0x40b266
cmp dword [ebx + 0x74], ecx
jne 0x40b266
push 0x10
push 0xffffffffffffffff
push 0x100c
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
test esi, esi
js 0x40b266
push 3
pop eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xdc]
push eax
push 0
push 0x104c
push edi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], 8
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40b266
push 0x3c
pop ecx
lea eax, [esp + 0xdc]
mov byte [eax], 0
inc eax
dec ecx
jne 0x40b222
lea eax, [esp + 0xdc]
push eax
push ecx
push 0x104b
push edi
mov dword [esp + 0xec], 4
mov dword [esp + 0xf0], esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40b266
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x40b266
mov dword [eax + 0x18], 1
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x68], 0
mov dword [ebx + 0x6c], 1
je 0x40b282
lea eax, [ebx + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x40b293
push 0
push 1
push 0xb
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push dword [esp + 0x7c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edi, dword [esp + 0x18]
lea esi, [esp + 0xa4]
call fcn.0040fca0
lea esi, [esp + 0x70]
call fcn.0040fca0
lea esi, [esp + 0x90]
call fcn.0040fca0
lea esi, [esp + 0x58]
call fcn.0040fca0
lea esi, [esp + 0x4c]
call fcn.0040fca0
lea eax, [esp + 0x18]
call fcn.0040e073
mov ecx, dword [esp + reloc.ADVAPI32.dll_TraceMessage]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00410d69
mov esp, ebp
pop ebp
ret 0xc