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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, dword [0x4e0070]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
mov ebx, dword [0x4e4108]
push esi
push edi
push 0
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x1c], 0x40
mov dword [esp + 0x20], 0x44a340
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [esp + 0x28], eax
xorps xmm0, xmm0
lea eax, [esp + 0x14]
mov dword [esp + 0x3c], 0x4d1e60
push eax
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
call dword [sym.imp.USER32.dll_RegisterClassExW]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [esp + 0x44]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x54]
push 0
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cvttss2si eax, dword [ebx + 0xc]
push 0
push dword [esp + 0x2c]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0
push 0
push eax
cvttss2si eax, dword [ebx + 8]
subss xmm0, dword [ebx + 8]
push eax
mulss xmm0, dword [0x4d3754]
cvttss2si edx, xmm0
movd xmm0, dword [esp + 0x78]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ebx + 0xc]
mulss xmm0, dword [0x4d3754]
cvttss2si ecx, xmm0
push ecx
push edx
push 0x80020000
push str.SonOyuncu
push dword [esp + 0x64]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x4e40a8], eax
call fcn.0044a100
test al, al
jne 0x449970
call fcn.0044a250
push dword [esp + 0x28]
push dword [esp + 0x40]
call dword [sym.imp.USER32.dll_UnregisterClassW]
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0045d520
mov esp, ebp
pop ebp
ret
push 5
push dword [0x4e40a8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x4e40a8]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [0x4e40a0]
test esi, esi
je 0x44999a
inc dword [esi + 0xb0]
push 0x5bf0
call fcn.00482f17
add esp, 4
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xf]
test eax, eax
je 0x4499bd
push ecx
mov ecx, eax
call fcn.0040b3b0
jmp 0x4499bf
xor eax, eax
mov dword [0x4e40a0], eax
call fcn.0040e9f0
mov ecx, dword [0x4e40a0]
test esi, esi
movss xmm3, dword [0x4d37cc]
cmovne ecx, esi
push 0x4d1f28
push 0
push ecx
mov dword [0x4e40a0], ecx
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov ecx, dword [ecx + 0x48]
push 0x4b75a0
call fcn.0042cd70
push 0xc
mov dword [0x4e4104], eax
call fcn.0045d755
mov edi, eax
add esp, 4
xorps xmm0, xmm0
lea ecx, [edi + 8]
movq qword [edi], xmm0
push ecx
sub esp, 0xc
mov dword [edi + 8], 0
mov ecx, esp
push 0x4e40e4
call fcn.0044a5b0
lea edx, [edi + 4]
mov ecx, edi
call fcn.0044a500
add esp, 0x10
mov dword [0x4e4100], edi
call fcn.00428ca0
call fcn.004325c0
call fcn.00432440
mov byte [0x4e409e], 1
mov ecx, ebx
call fcn.00449b40
test al, al
je 0x449a74
cmp byte [0x4e409e], 0
jne 0x449a60
mov byte [0x4e409e], 0
call fcn.00432550
mov eax, dword [0x4e40a0]
test eax, eax
je 0x449a8e
mov esi, dword [eax + 0x74]
jmp 0x449a90
xor esi, esi
mov ecx, dword [esi + 0x28]
lea edi, [eax + 8]
test ecx, ecx
je 0x449aa6
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4e40a0]
mov dword [edi + 0x64], 0
mov dword [edi + 0x6c], 0
test eax, eax
je 0x449abe
dec dword [eax + 0xb0]
push esi
call fcn.0047ce48
mov esi, dword [0x4e40a0]
add esp, 4
call fcn.0040ec00
mov dword [0x4e40a0], 0
test esi, esi
je 0x449aff
mov ecx, esi
call fcn.00421030
mov eax, dword [0x4e40a0]
test eax, eax
je 0x449af6
dec dword [eax + 0xb0]
push esi
call fcn.0047ce48
add esp, 4
call fcn.0044a250
push dword [0x4e40a8]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x28]
push dword [esp + 0x40]
call dword [sym.imp.USER32.dll_UnregisterClassW]
mov ecx, dword [esp + 0x64]
mov al, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0045d520
mov esp, ebp
pop ebp
ret