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

Disassembly:
push 0xffffffffffffffff
push 0x5fbafd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x150]
mov ebp, ecx
mov dword [esp + 0x80], ebp
mov eax, dword [edi + 0xc]
dec eax
je 0x4125f9
sub eax, 0x10000
je 0x4125ea
dec eax
jne 0x4125d7
mov esi, dword [edi + 0x24]
lea eax, [edi + 0x14]
push eax
lea ecx, [esp + 0x98]
mov dword [esp + 0x74], esi
call fcn.0040d2d0
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], 0x48
push eax
mov ecx, ebp
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc4], 0xf022
call fcn.00413120
mov ecx, eax
call fcn.00413130
lea ecx, [esp + 0x94]
call fcn.00413110
test eax, eax
jne 0x4125d7
lea ecx, [esp + 0x18]
call fcn.004a6202
mov dword [esp + 0x148], 0
lea ecx, [esp + 0x18]
push dword [edi + 0x10]
call fcn.004a6a69
lea ecx, [esp + 0x30]
call fcn.004049e0
push 1
lea eax, [esp + 0x34]
push eax
lea ebx, [ebp + 0xec]
push esi
mov ecx, ebx
call fcn.004b4a03
push 0
push 0
push 0x111f
mov ecx, ebx
call fcn.00404780
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x20]
call fcn.004b4290
lea ecx, [ebp + 0x74]
call fcn.004130f0
xor edx, edx
mov dword [esp + 0x54], eax
test eax, eax
jle 0x411f7d
lea ecx, [ebp + 0x290]
mov esi, eax
add edx, dword [ecx]
lea ecx, [ecx + 4]
lea eax, [edx - 1]
mov dword [esp + 0x9c], eax
dec esi
jne 0x411f67
mov esi, dword [esp + 0x70]
mov ecx, ebx
call fcn.004a9243
and eax, 0x1000
test byte [edi + 0x28], 0x10
mov dword [esp + 0x7c], eax
je 0x41202b
mov ecx, ebx
call fcn.0040d410
lea ecx, [esp + 0xdc]
push ecx
mov ecx, eax
call fcn.0040d3e0
lea ecx, [esp + 0x28]
call fcn.0040d460
lea eax, [esp + 0xdc]
mov byte [esp + 0x148], 1
push eax
lea ecx, [esp + 0x2c]
call fcn.0040d3c0
lea ecx, [esp + 0x28]
call fcn.0040d220
push eax
lea ecx, [esp + 0x1c]
call fcn.0040d230
movdqu xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0x18]
push 0xebc542
movdqu xmmword [esp + 0x64], xmm0
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x64]
push eax
call fcn.004b4290
push 0xffffff
lea ecx, [esp + 0x1c]
call fcn.004a74e2
lea ecx, [esp + 0x28]
mov byte [esp + 0x148], 0
call fcn.0040d430
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x41210d
lea eax, [esp + 0x58]
mov ecx, ebp
push eax
call fcn.004130e0
mov eax, dword [ebp + 0x270]
lea ecx, [esp + 0x60]
sub dword [esp + 0x5c], eax
call fcn.004049e0
mov ecx, dword [ebp + 0x20]
lea edx, [esp + 0x60]
call fcn.0048bce0
movdqu xmm0, xmmword [esp + 0x94]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x84]
push dword [esp + 0x5c]
movdqu xmmword [esp + 0x88], xmm0
mov dword [esp + 0x90], eax
push dword [esp + 0x5c]
call fcn.004132f0
test eax, eax
je 0x41210d
mov ecx, ebx
call fcn.0040d410
lea ecx, [esp + 0xdc]
push ecx
mov ecx, eax
call fcn.0040d3e0
lea ecx, [esp + 0x28]
mov dword [esp + 0xec], 0x2bc
mov byte [esp + 0xf5], 0x10
call fcn.0040d460
lea eax, [esp + 0xdc]
mov byte [esp + 0x148], 2
push eax
lea ecx, [esp + 0x2c]
call fcn.0040d3c0
lea ecx, [esp + 0x28]
call fcn.0040d220
push eax
lea ecx, [esp + 0x1c]
call fcn.0040d230
lea ecx, [esp + 0x28]
mov byte [esp + 0x148], 0
call fcn.0040d430
push esi
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
call fcn.004b4aae
lea ecx, [esp + 0x14]
call fcn.00404ef0
push 9
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x150], 4
call fcn.00404880
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004afffc
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x54]
call fcn.004130c0
push 0xc00
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
call fcn.00413090
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0x290]
add ecx, 4
mov eax, dword [esp + 0x4c]
add edx, 0xfffffffc
add eax, ecx
mov dword [esp + 0x28], 0
cmp eax, edx
mov ecx, ebx
cmovl edx, eax
mov dword [esp + 0x38], edx
call fcn.004a9243
test eax, 0x200
je 0x412211
cmp dword [edi + 0x28], 0
je 0x412211
mov ecx, ebx
call fcn.0040d410
mov esi, eax
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
mov dword [esp + 0x2c], esi
call fcn.0040d3e0
lea ecx, [esp + 0x74]
mov byte [esp + 0xf1], 1
call fcn.0040d460
lea eax, [esp + 0xdc]
mov byte [esp + 0x148], 5
push eax
lea ecx, [esp + 0x78]
call fcn.0040d3c0
lea ecx, [esp + 0x74]
call fcn.0040d220
push eax
lea ecx, [esp + 0x1c]
call fcn.0040d230
lea ecx, [esp + 0x74]
mov byte [esp + 0x148], 4
call fcn.0040d430
mov ecx, ebx
call fcn.004a9243
test eax, 0x100
jne 0x41222e
mov ecx, ebx
call fcn.004a9243
test al, 4
je 0x4122ed
lea ecx, [esp + 0x84]
call fcn.004043a0
push 0
push 0
push 0x111f
mov ecx, ebx
mov byte [esp + 0x154], 6
call fcn.00404780
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, eax
call fcn.0048e0e0
push eax
lea ecx, [esp + 0x88]
call fcn.004a6a9f
lea ecx, [esp + 0xa4]
call fcn.004049e0
lea ecx, [esp + 0xa4]
call fcn.0040d280
mov ecx, dword [ebp + 0x10c]
mov edx, eax
call fcn.0048bce0
lea ecx, [esp + 0x60]
call fcn.004049e0
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x84]
push eax
call fcn.0040d280
push eax
lea ecx, [esp + 0x20]
call fcn.00404350
lea ecx, [esp + 0x84]
mov byte [esp + 0x148], 4
call fcn.00404370
mov ecx, ebx
call fcn.004a9243
mov esi, dword [sym.imp.USER32.dll_DrawIconEx]
test eax, 0x100
je 0x412368
mov eax, dword [esp + 0xbc]
shr eax, 0xc
dec eax
je 0x412335
push dword [esp + 0x70]
mov ecx, ebp
call fcn.00412ea0
test eax, eax
je 0x412329
call fcn.00408040
mov edx, 0x190
jmp 0x41233f
call fcn.00408040
mov edx, 0xe8
jmp 0x41233f
call fcn.00408040
mov edx, 0xe9
mov ecx, dword [eax + 0x44]
call fcn.0048c670
push 3
push 0
push 0
push 0xe
push 0xe
push eax
mov eax, dword [esp + 0x4c]
add eax, 2
push eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff2
push eax
push dword [esp + 0x3c]
call esi
cmp dword [esp + 0xd4], 1
lea ecx, [esp + 0x18]
jne 0x4123e3
test byte [edi + 0x28], 0x10
je 0x412383
push 0xffffff
jmp 0x412388
push 0xc05419
call fcn.004a74e2
mov ecx, ebx
call fcn.004a9243
test al, 4
je 0x4123fa
test byte [esp + 0xbc], 0x20
je 0x4123ae
call fcn.00408040
mov edx, 0xea
jmp 0x4123b8
call fcn.00408040
mov edx, 0xee
mov ecx, dword [eax + 0x44]
call fcn.0048c670
push 3
push 0
push 0
push 0xe
push 0xe
push eax
mov eax, dword [esp + 0x4c]
add eax, 2
push eax
mov eax, dword [esp + 0x4c]
add eax, 0xffffffe2
push eax
push dword [esp + 0x3c]
call esi
jmp 0x4123fa
test byte [edi + 0x28], 0x10
je 0x4123f0
push 0xffffff
jmp 0x4123f5
push 0x7f7f80
call fcn.004a74e2
movdqu xmm0, xmmword [esp + 0x30]
push 1
push 2
lea ecx, [esp + 0x4c]
movdqu xmmword [esp + 0x4c], xmm0
call fcn.0040d290
push 0x8824
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
call fcn.00413090
mov edi, dword [ebp + 0x290]
lea ecx, [esp + 0x18]
push 1
call fcn.004a73c6
mov ecx, ebp
call fcn.004a9383
test eax, eax
je 0x412460
cmp dword [esp + 0x7c], 0
jne 0x412460
push 7
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a74e2
mov esi, dword [esp + 0x28]
test esi, esi
je 0x412480
mov ecx, ebx
call fcn.004a9243
test eax, 0x1000
jne 0x412480
push esi
lea ecx, [esp + 0x1c]
call fcn.004a72da
mov ebx, 1
cmp dword [esp + 0x54], ebx
jle 0x41259a
lea esi, [ebp + 0x294]
push 9
push ebx
lea ecx, [esp + 0x48]
call fcn.00404880
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004afffc
test eax, eax
je 0x412586
mov eax, dword [esp + 0x150]
test byte [eax + 0x28], 0x10
je 0x4124c8
push 0xffffff
jmp 0x4124f7
push 0
push str.items
lea ecx, [esp + 0x1c]
call fcn.0040aca0
cmp eax, 0xffffffff
jne 0x4124f2
push 0
push 0x65826c
lea ecx, [esp + 0x1c]
call fcn.0040aca0
cmp eax, 0xffffffff
je 0x412500
push 0x1b1bd8
lea ecx, [esp + 0x1c]
call fcn.004a74e2
movdqu xmm0, xmmword [esp + 0x30]
mov ebp, dword [esi]
lea eax, [edi + 1]
add ebp, edi
lea ecx, [esp + 0x44]
movdqu xmmword [esp + 0x44], xmm0
mov dword [esp + 0x44], eax
push 1
lea eax, [ebp - 1]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x84]
push 2
push 1
push dword [eax + 0x27c]
call fcn.00413190
mov ecx, dword [esp + 0x44]
test ecx, ecx
js 0x4125e6
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x4125e6
cmp ecx, eax
jge 0x4125e6
mov eax, dword [esi + 0x40]
test al, 1
je 0x412568
mov eax, 2
jmp 0x41256d
shr eax, 1
and eax, 1
or eax, 0x8824
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00413090
add edi, dword [esi]
inc ebx
add esi, 4
cmp ebx, dword [esp + 0x54]
jl 0x412495
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4125a8
push esi
lea ecx, [esp + 0x1c]
call fcn.004a72da
lea ecx, [esp + 0x18]
call fcn.004a6bfa
lea ecx, [esp + 0x14]
call fcn.00404e10
lea ecx, [esp + 0x40]
call fcn.00404e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x148], 0xffffffff
call fcn.004a6342
mov eax, dword [esp + 0x154]
mov dword [eax], 0
jmp 0x412606
mov edi, ebp
jmp 0x412588
mov eax, dword [esp + 0x154]
mov dword [eax], 0x10
jmp 0x412606
mov eax, dword [esp + 0x154]
mov dword [eax], 0x20
mov ecx, dword [esp + 0x140]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x13c
ret 8