Function at 0x5410e0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a6f30
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x6340c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebp - 0x78]
call fcn.005734f0
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x138]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x5411bf
mov edi, dword [ebx + 0x138]
cmp dword [edi + 0x14], eax
lea esi, [edi + 8]
jne 0x54115a
call fcn.004b1da1
mov dword [esi + 0xc], eax
test eax, eax
jne 0x54115a
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x5411bf
push 0
push 0
push dword [esi + 0xc]
call fcn.004b1ea3
test esi, esi
je 0x541bdd
test edi, edi
je 0x541bdd
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x6817ac
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x6817c4]
mov dword [esi + 8], eax
push 0x6817ac
mov dword [0x6817c4], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x46cea0
push 0
push 0xee
push dword [0x67efd8]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov eax, dword [ebx + 0x13c]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x54125f
mov edi, dword [ebx + 0x13c]
cmp dword [edi + 0x14], eax
lea esi, [edi + 8]
jne 0x5411fa
call fcn.004b1da1
mov dword [esi + 0xc], eax
test eax, eax
jne 0x5411fa
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x54125f
push 0
push 0
push dword [esi + 0xc]
call fcn.004b1ea3
test esi, esi
je 0x541bdd
test edi, edi
je 0x541bdd
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x6817ac
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x6817c4]
mov dword [esi + 8], eax
push 0x6817ac
mov dword [0x6817c4], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x46cea0
push 0
push 0xff
push dword [0x67efd8]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov eax, dword [ebx + 0xbc]
xor edi, edi
cmp dword [eax + 0x38], edi
jbe 0x5412ac
nop dword [eax]
push 2
push edi
mov ecx, eax
call fcn.005548d0
mov esi, eax
test esi, esi
je 0x5412a0
push esi
call fcn.005603d0
push esi
call fcn.00541cf0
push esi
call fcn.00541ce0
push esi
call fcn.00541cd0
push esi
mov ecx, ebx
call fcn.00541cb0
mov eax, dword [ebx + 0xbc]
inc edi
cmp edi, dword [eax + 0x38]
jb 0x541270
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
cmp dword [eax + 0x28], ecx
jbe 0x5414ae
nop word [eax + eax]
push 0
push ecx
mov ecx, eax
call fcn.005548d0
mov edi, eax
test edi, edi
je case.0x5412ea.5
cmp dword [edi + 0x1c], 0
jne case.0x5412ea.5
mov eax, dword [edi + 0x18]
cmp eax, 7
ja case.0x5412ea.5
jmp dword [eax*4 + 0x541bec]
push 0x3e8
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x8c], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0056ea90
jmp 0x5413e6
push 0x650
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x84], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.005362f0
jmp 0x5413e6
push 0x2b0
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x90], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00570af0
jmp 0x5413e6
push 0x450
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x94], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00555df0
jmp 0x5413e6
push 0x2f0
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x98], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.0055c200
jmp 0x5413e6
push 0x6a0
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x9c], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00510490
jmp 0x5413e6
push 0x478
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x88], eax
push edi
push ebx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00572610
mov esi, eax
mov byte [ebp - 4], 0
test esi, esi
je case.0x5412ea.5
cmp dword [esi + 0x14], 0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x80], eax
jne 0x541416
call fcn.004b1da1
mov dword [esi + 0x14], eax
test eax, eax
jne 0x541416
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x54147a
push 0
push 0
push dword [esi + 0x14]
call fcn.004b1ea3
lea eax, [esi + 8]
test eax, eax
je 0x541bdd
mov dword [eax], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x6817ac
mov dword [esi + 0xc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x6817c4]
lea ecx, [esi + 8]
mov dword [ecx + 8], eax
push 0x6817ac
mov dword [0x6817c4], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, word [esi + 0x20]
push 0
push 0x46cea0
push dword [ebp - 0x80]
push eax
push dword [0x67efd8]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov eax, dword [edi]
push esi
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x5c3794]
mov ecx, edi
call esi
mov ecx, dword [ebx + 0x138]
push edi
call fcn.005603f0
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xbc]
inc ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, dword [eax + 0x28]
jb 0x5412c0
xor esi, esi
cmp dword [eax + 0x30], esi
jbe 0x5414e1
push 1
push esi
mov ecx, eax
call fcn.005548d0
test eax, eax
je 0x5414d5
cmp dword [eax + 0x20], 0
jne 0x5414d5
mov ecx, dword [ebx + 0x138]
push eax
call fcn.005603f0
mov eax, dword [ebx + 0xbc]
inc esi
cmp esi, dword [eax + 0x30]
jb 0x5414b5
mov ecx, dword [ebx + 0x138]
call fcn.00560100
cmp dword [ebx + 0x144], 0
jne 0x54154d
push pe_nt_image_headers32
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x88], eax
push ebx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.00567420
mov byte [ebp - 4], 0
mov dword [ebx + 0x144], eax
test eax, eax
je 0x54152f
push ecx
push dword [ebx + 4]
mov ecx, eax
call fcn.004961f0
jmp 0x54154d
push str.Failure_occured_when_attempting_to_create_Statistic_Window.
push 0x45
push 0x9a6
push str.C:drone_srcGUIWindowsMainFrame.cpp
push str.CMainFrame::constructUI
call fcn.00573940
add esp, 0x14
mov edx, dword [ebx + 0x144]
mov ecx, ebx
call fcn.00540740
test al, al
jne 0x541575
test edx, edx
je 0x5415a7
push 5
push dword [edx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0x144]
jmp 0x54159c
test edx, edx
je 0x541584
push 0
push dword [edx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebx + 0xbc]
cmp dword [ecx + 0x28], 0
jbe 0x5415a7
push 0
push 0
call fcn.005548d0
mov eax, dword [eax + 0x1c]
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, ebx
call fcn.005444b0
call fcn.00540610
mov byte [ebx + 0x5ac], al
call fcn.005211b0
lea eax, [ebp - 0x60]
movss dword [ebx + 0x5a8], xmm0
push eax
push dword [ebx + 4]
lea esi, [ebx + 4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x60]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x5415f9
lea eax, [ebp - 0x58]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, ebx
call fcn.00540740
movss xmm1, dword [ebx + 0x5a8]
test al, al
mov eax, dword [ebp - 0x54]
mov ecx, 0x262
mov edx, 0x340
cmovne edx, ecx
sub eax, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edx
sub edx, dword [ebp - 0x60]
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, xmm1
cvttss2si eax, xmm0
push eax
push 0
push 0
push dword [esi]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
mov ecx, esi
call fcn.00443200
cmp dword [ebx + 0x148], 0
jne 0x54178d
movaps xmm0, xmmword [0x5fc9c0]
mov edi, 0x37
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x7c], 0x38
call fcn.005465a0
movss xmm1, dword [0x5fc81c]
comiss xmm1, xmm0
jb 0x54169c
mov edi, 0x39
mov dword [ebp - 0x7c], 0x3a
push 0x4c
call fcn.004c59e9
mov dword [ebp - 0x88], eax
imul ecx, edi, 0x20c
mov byte [ebp - 4], 9
push ecx
lea edx, [ecx + 0x647610]
imul ecx, dword [ebp - 0x7c], 0x20c
push edx
add ecx, 0x647610
push ecx
push edx
mov ecx, eax
call fcn.0055d990
mov edi, eax
mov byte [ebp - 4], 0
push 0x673328
lea ecx, [ebp - 0x78]
mov dword [ebx + 0x148], edi
call fcn.00443fb0
mov dword [ebp - 0x80], eax
mov eax, dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.00494eb0
cmp dword [eax + 0x30], 0
jne 0x541709
call fcn.00494eb0
mov dword [eax + 0x30], str.BUTTON
call fcn.00494eb0
push dword [ebp - 0x88]
lea ecx, [edi + 0x20]
push ecx
push eax
call fcn.004743f0
add esp, 8
movzx eax, ax
mov ecx, edi
push eax
push 0x58c
push 0
push 0x5001100b
push dword [ebp - 0x80]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x7c]
call fcn.00474310
mov ecx, dword [ebx + 0x148]
sub esp, 8
call fcn.0055d860
mov eax, dword [ebx + 0x148]
push 1
push dword [eax + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebx + 0x148]
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0x148]
push 3
push 0
push 0
push 0
push 0
push 1
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx + 0xbc]
cmp dword [eax + 0x28], 1
jbe 0x541a71
movss xmm1, dword [ebx + 0x5a8]
movaps xmm0, xmm1
mulss xmm0, dword [0x5fc93c]
push 0x40
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x5fc924]
mov dword [ebp - 0x20], eax
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x5fc950]
mov dword [ebp - 0x18], eax
mulss xmm0, dword [0x5fc904]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x1c], ecx
sub ecx, eax
mov dword [ebp - 0x14], ecx
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x88], eax
mov ecx, eax
push 1
call fcn.005498c0
mov edi, dword [ebx + 0x144]
mov dword [ebp - 0x84], eax
mov edx, dword [edi]
mov esi, dword [edx + 0x24]
mov ecx, esi
call dword [0x5c3794]
mov ecx, edi
call esi
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x54182c
mov esi, dword [esi]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x80], eax
call fcn.00495ff0
cmp dword [eax + 0x30], 0
jne 0x541849
call fcn.00495ff0
mov dword [eax + 0x30], str.BUTTON
call fcn.00495ff0
mov edi, dword [ebp - 0x84]
push dword [ebp - 0x88]
lea ecx, [edi + 0x20]
push ecx
push eax
call fcn.004743f0
add esp, 8
movzx eax, ax
mov ecx, edi
push eax
push 0x50f
xor eax, eax
test esi, esi
push 0
push 0x5000100b
cmovne eax, esi
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x80]
call fcn.00474310
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, edi
call fcn.00549280
push 5
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebx + 0xcc]
cmp ecx, dword [ebx + 0xd0]
je 0x5418c3
mov dword [ecx], edi
add dword [ebx + 0xcc], 4
jmp 0x5418d6
lea edx, [ebp - 0x84]
push edx
push ecx
lea ecx, [ebx + 0xc8]
call fcn.0046df10
mov eax, dword [ebx + 0xbc]
xor esi, esi
mov dword [ebp - 0x7c], esi
cmp dword [eax + 0x28], esi
jbe 0x541a6e
nop word [eax + eax]
push 0x40
call fcn.004c59e9
add esp, 4
mov dword [ebp - 0x88], eax
mov ecx, eax
push 0
call fcn.005498c0
mov ecx, dword [ebx + 0xbc]
push 0
push esi
mov dword [ebp - 0x84], eax
call fcn.005548d0
mov edi, dword [eax + 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x5c3794]
mov ecx, edi
call esi
mov dword [ebp - 0x80], eax
cmp dword [eax + 0x14], 8
jb 0x54193f
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x8c], eax
mov esi, dword [esi*4 + 0x5df544]
call fcn.00495ff0
cmp dword [eax + 0x30], 0
jne 0x541969
call fcn.00495ff0
mov dword [eax + 0x30], str.BUTTON
call fcn.00495ff0
mov edi, dword [ebp - 0x84]
push dword [ebp - 0x88]
lea ecx, [edi + 0x20]
push ecx
push eax
call fcn.004743f0
mov ecx, dword [ebp - 0x80]
add esp, 8
movzx eax, ax
push eax
push esi
xor eax, eax
test ecx, ecx
push 0
push 0x5000100b
cmovne eax, ecx
mov ecx, edi
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x8c]
call fcn.00474310
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, edi
call fcn.00549280
push 5
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0xcc]
cmp eax, dword [ebx + 0xd0]
je 0x5419e8
lea ecx, [ebx + 0xc8]
mov dword [eax], edi
add dword [ecx + 4], 4
jmp 0x541a07
lea ecx, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebx + 0xc8]
call fcn.0046df10
mov edi, dword [ebp - 0x84]
lea ecx, [ebx + 0xc8]
movss xmm0, dword [ebx + 0x5a8]
mulss xmm0, dword [0x5fc950]
mov esi, dword [ebp - 0x7c]
push 3
push 0
cvttss2si eax, xmm0
push 0
push 0
push 0
sub dword [ebp - 0x1c], eax
sub dword [ebp - 0x14], eax
test esi, esi
jne 0x541a40
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
jmp 0x541a54
mov eax, dword [ecx]
mov eax, dword [eax + esi*4 - 4]
push dword [eax + 4]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
mov ecx, edi
call fcn.00549200
mov eax, dword [ebx + 0xbc]
inc esi
mov dword [ebp - 0x7c], esi
cmp esi, dword [eax + 0x28]
jb 0x5418f0
lea esi, [ebx + 4]
push 0x670f88
lea ecx, [ebp - 0x78]
call fcn.00443fb0
mov edx, eax
mov dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 0x24], 7
xor eax, eax
mov word [ebp - 0x38], ax
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x541aa0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x38]
call fcn.004459d0
xor eax, eax
mov byte [ebp - 4], 0xa
push eax
push 0x5d90f0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.004459d0
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x40], 0
je 0x541b38
push 2
push 0x5e289c
lea ecx, [ebp - 0x38]
call fcn.00447e80
cmp dword [ebp - 0x3c], 8
lea edx, [ebp - 0x50]
cmovae edx, dword [ebp - 0x50]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x541b10
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x38]
call fcn.00447e80
push 1
push 0x5e2898
lea ecx, [ebp - 0x38]
call fcn.00447e80
cmp dword [ebp - 0x24], 8
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebx + 0x140]
test ecx, ecx
je 0x541b5b
call fcn.00508740
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jb 0x541b76
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x50]
call fcn.00446620
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov word [ebp - 0x50], ax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], 7
cmp eax, 8
jb 0x541ba5
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x38]
call fcn.00446620
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.005734b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c59c5
mov esp, ebp
pop ebp
ret
push 1
push 0xc0000005
call fcn.00443000
nop dword [eax]
int1
adc dl, byte [eax + eax - 58]
adc edx, dword [eax + eax + 0x16]
adc edx, dword [eax + eax + 0x3b]
adc edx, dword [eax + eax + 0x60]
adc edx, dword [eax + eax - 0x68]
adc al, 0x54
add byte [ebx + edx + 0x13820054], ah
push esp
add ah, cl
int3