Function at 0x499840
Capabilities:
Contain obfuscated stackstrings
Create directory
Create process on windows
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50f377
mov eax, dword fs:[0]
push eax
sub esp, 0x4b0
mov eax, dword [0x57b0c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x218]
mov dword [ebp - 0x380], 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4999b4
cmp eax, 0x104
je 0x4999b4
mov byte [ebp - 0x384], 0
lea edx, [ebp - 0x218]
push dword [ebp - 0x384]
lea ecx, [ebp - 0x2b8]
call fcn.004a0530
add esp, 4
lea eax, [ebp - 0x288]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00421a70
push eax
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 1
call fcn.0040cc90
mov byte [ebp - 4], 0
mov esi, 0x1200
mov ecx, dword [ebp - 0x274]
cmp ecx, 7
jbe 0x499931
mov edx, dword [ebp - 0x288]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x499927
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
mov word [ebp - 0x288], ax
cmp ecx, 7
jbe 0x499995
mov edx, dword [ebp - 0x2b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49998b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 7
mov word [ebp - 0x2b8], ax
jmp 0x4999e9
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0
push 0x55a848
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], 0
movups xmmword [ebp - 0x250], xmm0
call fcn.0040d160
mov esi, 0x200
push 1
push 0x559f78
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 2
call fcn.0040b220
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or esi, 0x2000
mov dword [ebp - 0x45c], esi
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea edx, [ebp - 0x230]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x270]
call fcn.004a47e0
push eax
mov ecx, 0x5a6d50
call fcn.00408e70
mov ecx, dword [ebp - 0x25c]
cmp ecx, 0xf
jbe 0x499ab0
mov edx, dword [ebp - 0x270]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x499aa6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce28
push ecx
push edx
call fcn.004d54f1
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0xf
mov byte [ebp - 0x270], 0
cmp ecx, 7
jbe 0x499b0f
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x499b05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce28
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x499b73
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x499b69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce28
push ecx
push edx
call fcn.004d54f1
add esp, 8
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x499b9d
push str.SetProcessDPIAware
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x499b96
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
call edi
push 0
mov esi, eax
call edi
push esi
push eax
mov ecx, 0x5aa638
call fcn.004d0780
push 1
call edi
push 0
mov esi, eax
call edi
push esi
push eax
mov ecx, 0x5aa6a8
call fcn.004d0780
push 1
call edi
push 0
mov esi, eax
call edi
push esi
push eax
mov ecx, 0x5aa710
call fcn.004d0780
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x559f7c
mov esi, eax
push 0xc6
push esi
mov dword [ebp - 0x384], esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push dword [ebp - 0x384]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push esi
push dword [0x5a6db4]
call dword [sym.imp.gdiplus.dll_GdipPrivateAddMemoryFont]
push 4
mov dword [0x5a6db8], eax
mov dword [ebp - 0x2bc], 0
call fcn.004d54ff
add esp, 4
mov dword [ebp - 0x384], eax
lea ecx, [ebp - 0x2bc]
push ecx
push eax
push 1
push dword [0x5a6db4]
call dword [sym.imp.gdiplus.dll_GdipGetFontCollectionFamilyList]
mov dword [ebp - 0x380], eax
test eax, eax
jne 0x499c9e
xor esi, esi
cmp dword [ebp - 0x2bc], esi
jle 0x499c9e
mov edi, 0x5aad50
mov eax, dword [ebp - 0x384]
push edi
push dword [eax + esi*4]
call dword [sym.imp.gdiplus.dll_GdipCloneFontFamily]
inc esi
add edi, 8
cmp esi, dword [ebp - 0x2bc]
jl 0x499c82
push dword [ebp - 0x384]
call fcn.004d54bc
mov eax, dword [ebp - 0x380]
add esp, 4
mov edi, dword [sym.imp.gdiplus.dll_GdipSetStringFormatAlign]
mov dword [0x5a6db8], eax
push 1
push dword [0x5aad58]
call edi
test eax, eax
je 0x499cd0
mov dword [0x5aad5c], eax
mov esi, dword [sym.imp.gdiplus.dll_GdipSetStringFormatLineAlign]
push 1
push dword [0x5aad58]
call esi
test eax, eax
je 0x499ce9
mov dword [0x5aad5c], eax
push 0
push dword [0x5aad48]
call edi
test eax, eax
je 0x499cfc
mov dword [0x5aad4c], eax
push 0
push dword [0x5aad48]
call esi
test eax, eax
je 0x499d0f
mov dword [0x5aad4c], eax
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xb
push 0x559fa4
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.0040b220
mov edi, dword [ebp - 0x45c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x270], xmm0
mov dword [ebp - 0x260], 0
xor ecx, ecx
mov dword [ebp - 0x25c], 0
or edi, 0x100
movups xmm0, xmmword [eax]
push 4
movups xmmword [ebp - 0x270], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x260], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x270]
cmp dword [ebp - 0x25c], 7
cmova eax, dword [ebp - 0x270]
push eax
call fcn.004e0c5c
mov ecx, dword [ebp - 0x25c]
add esp, 8
mov esi, eax
cmp ecx, 7
jbe 0x499de9
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x499ddf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce2d
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
cmp ecx, 7
jbe 0x499e4d
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x499e43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce2d
push ecx
push edx
call fcn.004d54f1
add esp, 8
test esi, esi
jne 0x49a648
xorps xmm0, xmm0
mov dword [ebp - 0x240], esi
xor eax, eax
mov dword [ebp - 0x23c], 7
movups xmmword [ebp - 0x250], xmm0
mov word [ebp - 0x250], ax
mov dword [ebp - 4], 5
movups xmmword [ebp - 0x2b8], xmm0
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], 7
mov word [ebp - 0x2b8], ax
push 0x74
push eax
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 6
push eax
call fcn.004d73b0
add esp, 0xc
lea ecx, [ebp - 0x418]
call fcn.00488150
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
movq qword [ebp - 0x220], xmm0
mov byte [ebp - 0x228], 0
and dword [ebp - 0x228], 0xfffffeff
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], esi
push 0xb8
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xc
push esi
push eax
call fcn.004d73b0
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.00485330
mov byte [ebp - 4], 0xd
lea esi, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push ecx
push 0x559f98
lea ecx, [ebp - 0x238]
add esi, dword [eax + 4]
call fcn.004112c0
push eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0xe
push eax
mov ecx, esi
call fcn.0041cd30
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x499f6d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x499f6d
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x499f90
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x499f90
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xb
push str.update.json
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0040b220
mov dword [ebp - 0x260], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x270], xmm0
mov dword [ebp - 0x25c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x400000
movups xmmword [ebp - 0x270], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x260], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea edx, [ebp - 0x270]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x288]
call fcn.004a47e0
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 0xf
jbe 0x49a021
mov eax, dword [eax]
push ecx
push 1
push eax
lea ecx, [ebp - 0xb8]
call fcn.0041da70
test eax, eax
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push 0
je 0x49a054
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x49a069
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
jbe 0x49a0ad
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49a0a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce32
push ecx
push edx
call fcn.004d54f1
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
cmp ecx, 7
jbe 0x49a10c
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a102
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce32
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
cmp ecx, 7
jbe 0x49a16d
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a163
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce32
push ecx
push edx
call fcn.004d54f1
add esp, 8
push ecx
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x418]
call fcn.00488270
test al, al
je 0x49a257
push 0x559fbc
lea ecx, [ebp - 0x230]
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x2d4]
call fcn.004a4b80
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push eax
lea ecx, [ebp - 0x250]
call fcn.0040ad90
lea ecx, [ebp - 0x2a0]
call fcn.0040ad30
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0xd
call fcn.00406e20
push 0x559ff0
lea ecx, [ebp - 0x230]
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x2d4]
call fcn.004a4b80
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040ad90
lea ecx, [ebp - 0x2a0]
call fcn.0040ad30
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0xd
call fcn.00406e20
mov esi, dword [ebp - 0x240]
jmp 0x49a259
xor esi, esi
lea ecx, [ebp - 0xb8]
call fcn.0041d990
test eax, eax
jne 0x49a291
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov edx, 0x5aab04
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
mov edx, eax
cmp dword [edx + 0x14], 7
mov ecx, dword [edx + 0x10]
jbe 0x49a2ae
mov edx, dword [edx]
cmp dword [ebp - 0x23c], 7
lea eax, [ebp - 0x250]
cmova eax, dword [ebp - 0x250]
cmp esi, ecx
jne 0x49a2f5
test esi, esi
je 0x49a2ec
sub eax, edx
mov dword [ebp - 0x384], eax
movzx ecx, word [eax + edx]
movzx eax, word [edx]
cmp cx, ax
jne 0x49a2f5
mov eax, dword [ebp - 0x384]
add edx, 2
sub esi, 1
jne 0x49a2d2
mov byte [ebp - 0x455], 1
jmp 0x49a2fc
mov byte [ebp - 0x455], 0
mov ecx, dword [ebp - 0x28c]
cmp ecx, 7
jbe 0x49a33c
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a332
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce37
push ecx
push edx
call fcn.004d54f1
add esp, 8
cmp byte [ebp - 0x455], 0
je 0x49a60a
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x238], 0x3e8
mov dword [ebp - 0x234], 0
call fcn.0040b520
push ecx
push 0x5a6d50
lea ecx, [ebp - 0x33c]
call fcn.00479ed0
lea eax, [ebp - 0x4bc]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x33c]
call fcn.00421a70
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x15
push ecx
mov ecx, eax
call fcn.00421a70
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x16
push ecx
mov ecx, eax
call fcn.00498d90
lea ecx, [ebp - 0x37c]
call fcn.0040ad30
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 0x19
call fcn.0040ad30
lea edx, [ebp - 0x288]
lea ecx, [ebp - 0x4a4]
call fcn.004a46c0
push 0x559fdc
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2d4]
call fcn.0040af20
add esp, 4
lea ecx, [ebp - 0x2a0]
push eax
call fcn.00421a00
lea edx, [ebp - 0x258]
call fcn.00498df0
lea ecx, [ebp - 0x2a0]
call fcn.0040ad30
lea ecx, [ebp - 0x2d4]
call fcn.0040ad30
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0x19
call fcn.0040ad30
lea edx, [ebp - 0x288]
lea ecx, [ebp - 0x39c]
call fcn.004a46c0
push 0x55a00c
mov edx, eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x474]
call fcn.0040af20
add esp, 4
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00421a00
mov edx, 0x5a6d50
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x48c]
call fcn.004a46c0
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x1e
push ecx
mov edx, eax
lea ecx, [ebp - 0x4a4]
call fcn.00479f00
add esp, 4
lea ecx, [ebp - 0x2a0]
push eax
call fcn.00421a00
lea eax, [ebp - 0x258]
push eax
push ecx
lea edx, [ebp - 0x2d4]
call fcn.00498db0
add esp, 8
lea ecx, [ebp - 0x2a0]
call fcn.0040ad30
lea ecx, [ebp - 0x4a4]
call fcn.0040ad30
lea ecx, [ebp - 0x48c]
call fcn.0040ad30
lea ecx, [ebp - 0x2d4]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
call fcn.0040ad30
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x19
call fcn.0040ad30
xorps xmm0, xmm0
mov dword [ebp - 0x318], 0x44
push 0x55a000
lea edx, [ebp - 0x288]
movlpd qword [ebp - 0x314], xmm0
lea ecx, [ebp - 0x39c]
movlpd qword [ebp - 0x30c], xmm0
movlpd qword [ebp - 0x304], xmm0
movlpd qword [ebp - 0x2fc], xmm0
movlpd qword [ebp - 0x2f4], xmm0
movlpd qword [ebp - 0x2ec], xmm0
movlpd qword [ebp - 0x2e4], xmm0
movlpd qword [ebp - 0x2dc], xmm0
movups xmmword [ebp - 0x268], xmm0
call fcn.00479df0
add esp, 4
lea ecx, [ebp - 0x268]
push ecx
lea ecx, [ebp - 0x318]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
call fcn.00406cd0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
lea ecx, [ebp - 0x39c]
call fcn.00406e20
push dword [ebp - 0x268]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x264]
call esi
lea ecx, [ebp - 0x288]
call fcn.00406e20
lea ecx, [ebp - 0x33c]
call fcn.0040ad30
lea ecx, [ebp - 0xc8]
call fcn.004834b0
lea ecx, [ebp - 0x230]
call fcn.004900f0
lea ecx, [ebp - 0x418]
call fcn.004833f0
lea ecx, [ebp - 0x2b8]
call fcn.0040ad30
lea ecx, [ebp - 0x250]
call fcn.0040ad30
jmp 0x49c797
lea ecx, [ebp - 0xc8]
call fcn.004834b0
lea ecx, [ebp - 0x230]
call fcn.004900f0
lea ecx, [ebp - 0x418]
call fcn.004833f0
lea ecx, [ebp - 0x2b8]
call fcn.0040ad30
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.0040ad30
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0x15
push 0x55a02c
mov ecx, eax
mov dword [ebp - 4], 0x1f
call fcn.0040b220
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x4000
push 4
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x45c], edi
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
cmova eax, dword [ebp - 0x230]
push eax
call fcn.004e0c5c
mov ecx, dword [ebp - 0x21c]
add esp, 8
mov esi, eax
cmp ecx, 7
jbe 0x49a722
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a718
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce3c
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x49a786
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a77c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce3c
push ecx
push edx
call fcn.004d54f1
add esp, 8
test esi, esi
jne 0x49b14a
lea ecx, [ebp - 0x230]
call fcn.0040cd40
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 4], 0x20
call fcn.0040cd40
lea ecx, [ebp - 0x2a0]
call fcn.00407130
lea ecx, [ebp - 0x2d4]
call fcn.00407130
push 0x74
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 0x23
push esi
push eax
call fcn.004d73b0
add esp, 0xc
lea ecx, [ebp - 0x418]
call fcn.00488150
xorps xmm0, xmm0
mov byte [ebp - 4], 0x24
push esi
lea ecx, [ebp - 0x250]
movq qword [ebp - 0x240], xmm0
movups xmmword [ebp - 0x250], xmm0
call fcn.0048fe30
push 0xb8
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x25
push esi
push eax
call fcn.004d73b0
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.00485330
mov byte [ebp - 4], 0x26
lea esi, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push ecx
push 0x55a020
lea ecx, [ebp - 0x238]
add esi, dword [eax + 4]
call fcn.004112c0
push eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x27
push eax
mov ecx, esi
call fcn.0041cd30
lea ecx, [ebp - 0x258]
call fcn.00404e50
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x26
call fcn.00404e50
mov edx, 0x5a6d50
lea ecx, [ebp - 0x33c]
call fcn.004a46c0
push 0x55a060
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x474]
call fcn.0040af20
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x39c]
call fcn.004a47e0
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2a
call fcn.00406cd0
push eax
lea ecx, [ebp - 0xc8]
call fcn.004852d0
lea ecx, [ebp - 0x39c]
call fcn.00406e20
lea ecx, [ebp - 0x474]
call fcn.0040ad30
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x328]
cmp ecx, 7
jbe 0x49a922
mov edx, dword [ebp - 0x33c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49a918
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce41
push ecx
push edx
call fcn.004d54f1
add esp, 8
push ecx
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x418]
call fcn.00488270
test al, al
je 0x49aa9c
push 0x55a058
lea ecx, [ebp - 0x250]
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x474]
call fcn.004a4b80
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x39c]
call fcn.004a46c0
push eax
lea ecx, [ebp - 0x230]
call fcn.0040ad90
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x26
call fcn.00406e20
push 0x55a094
lea ecx, [ebp - 0x250]
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x474]
call fcn.004a4b80
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x39c]
call fcn.004a46c0
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040ad90
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x26
call fcn.00406e20
push 0x55a08c
lea ecx, [ebp - 0x250]
call fcn.00491990
push 0x55a0a4
mov ecx, eax
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x39c]
call fcn.004a4b80
add esp, 0x18
lea ecx, [ebp - 0x2a0]
push eax
call fcn.00408e70
lea ecx, [ebp - 0x39c]
call fcn.00406e20
push 0x55a09c
lea ecx, [ebp - 0x250]
call fcn.00491990
push 0x55a0bc
mov ecx, eax
call fcn.00491990
sub esp, 0x18
mov ecx, eax
push esp
call fcn.00490340
lea ecx, [ebp - 0x39c]
call fcn.004a4b80
add esp, 0x18
lea ecx, [ebp - 0x2d4]
push eax
call fcn.00408e70
lea ecx, [ebp - 0x39c]
call fcn.00406e20
lea ecx, [ebp - 0xb8]
call fcn.0041d990
test eax, eax
jne 0x49aad4
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
lea ecx, [ebp - 0x33c]
call fcn.00407130
lea ecx, [ebp - 0x37c]
call fcn.00407130
push 0x78
mov byte [ebp - 4], 0x2e
call fcn.004d54c1
mov esi, eax
mov dword [ebp - 0x234], esi
push 0x78
push 0
push esi
mov byte [ebp - 4], 0x2f
call fcn.004d73b0
add esp, 0x10
mov ecx, esi
call fcn.00405f10
mov edi, eax
mov byte [ebp - 4], 0x2e
lea edx, [ebp - 0x2b8]
mov ecx, dword [edi]
mov esi, dword [ecx + 0x20]
lea ecx, [ebp - 0x474]
call fcn.004a47e0
sub esp, 0x18
mov byte [ebp - 4], 0x30
mov ecx, esp
push eax
call fcn.0049d000
add esp, 4
lea eax, [ebp - 0x39c]
mov ecx, edi
push eax
call esi
push eax
lea ecx, [ebp - 0x33c]
call fcn.00408e70
lea ecx, [ebp - 0x39c]
call fcn.00406e20
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x2e
call fcn.00406e20
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x14]
push 0x88
call fcn.004d54c1
mov esi, eax
mov dword [ebp - 0x234], esi
push 0x88
push 0
push esi
mov byte [ebp - 4], 0x31
call fcn.004d73b0
add esp, 0x10
mov ecx, esi
call fcn.0040ab00
mov byte [ebp - 4], 0x2e
lea edx, [ebp - 0x2b8]
mov dword [ebp - 0x384], eax
mov ecx, dword [eax]
mov edi, dword [ecx + 0x20]
lea ecx, [ebp - 0x39c]
call fcn.004a47e0
sub esp, 0x18
mov byte [ebp - 4], 0x32
mov esi, esp
mov ecx, 0x5a6d50
mov dword [ebp - 0x234], esi
cmp dword [0x5a6d64], 0xf
push dword [0x5a6d60]
cmova ecx, dword [0x5a6d50]
push ecx
push ecx
mov ecx, eax
call fcn.0048cd00
mov ecx, dword [ebp - 0x384]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov esi, dword [ebp - 0x45c]
mov dword [eax + 0x10], 0
or esi, 0x800000
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x288]
push eax
call edi
push eax
lea ecx, [ebp - 0x37c]
call fcn.00408e70
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
jbe 0x49ac91
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ac87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce46
push ecx
push edx
call fcn.004d54f1
add esp, 8
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
mov byte [ebp - 4], 0x2e
call fcn.00406e20
mov ecx, dword [ebp - 0x384]
push 1
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edx, 0x5aab04
lea ecx, [ebp - 0x48c]
call fcn.004a46c0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x230]
mov edx, dword [eax + 0x10]
or esi, 1
cmp dword [ebp - 0x21c], 7
mov dword [ebp - 0x45c], esi
cmova ecx, dword [ebp - 0x230]
cmp dword [eax + 0x14], 7
mov dword [ebp - 0x380], esi
jbe 0x49ad0a
mov eax, dword [eax]
push dword [ebp - 0x220]
push ecx
mov ecx, eax
call fcn.0041e4d0
shr eax, 0x1f
add esp, 8
test al, al
je 0x49adad
mov edx, 0x5a6d50
lea ecx, [ebp - 0x474]
call fcn.004a46c0
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 4], 0x34
push ecx
or esi, 2
lea ecx, [ebp - 0x39c]
mov edx, eax
mov dword [ebp - 0x380], esi
call fcn.00479f00
add esp, 4
or esi, 4
mov ecx, eax
mov dword [ebp - 0x45c], esi
push 0
call fcn.0040ad20
push eax
call fcn.004e0c5c
add esp, 8
test eax, eax
jne 0x49adad
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x33c]
call fcn.0040a4d0
test al, al
je 0x49adad
lea edx, [ebp - 0x2d4]
lea ecx, [ebp - 0x37c]
call fcn.0040a4d0
mov byte [ebp - 0x455], 1
test al, al
jne 0x49adb4
mov byte [ebp - 0x455], 0
mov eax, dword [ebp - 0x45c]
test al, 4
je 0x49add8
and eax, 0xfffffffb
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x45c], eax
call fcn.0040ad30
mov eax, dword [ebp - 0x45c]
test al, 2
je 0x49adf6
and eax, 0xfffffffd
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x45c], eax
call fcn.0040ad30
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 4], 0x2e
test al, 1
je 0x49ae15
and eax, 0xfffffffe
lea ecx, [ebp - 0x48c]
mov dword [ebp - 0x45c], eax
call fcn.0040ad30
cmp byte [ebp - 0x455], 0
je 0x49af58
xorps xmm0, xmm0
mov dword [ebp - 0x318], 0x44
lea edx, [ebp - 0x2b8]
movlpd qword [ebp - 0x314], xmm0
lea ecx, [ebp - 0x474]
movlpd qword [ebp - 0x30c], xmm0
movlpd qword [ebp - 0x304], xmm0
movlpd qword [ebp - 0x2fc], xmm0
movlpd qword [ebp - 0x2f4], xmm0
movlpd qword [ebp - 0x2ec], xmm0
movlpd qword [ebp - 0x2e4], xmm0
movlpd qword [ebp - 0x2dc], xmm0
movups xmmword [ebp - 0x268], xmm0
call fcn.004a47e0
push eax
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x35
call fcn.0049d000
add esp, 4
lea ecx, [ebp - 0x268]
push ecx
lea ecx, [ebp - 0x318]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
call fcn.00406cd0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
lea ecx, [ebp - 0x39c]
call fcn.00406e20
lea ecx, [ebp - 0x474]
call fcn.00406e20
push dword [ebp - 0x268]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x264]
call esi
lea ecx, [ebp - 0x37c]
call fcn.00406e20
lea ecx, [ebp - 0x33c]
call fcn.00406e20
lea ecx, [ebp - 0xc8]
call fcn.004834b0
lea ecx, [ebp - 0x250]
call fcn.004900f0
lea ecx, [ebp - 0x418]
call fcn.004833f0
lea ecx, [ebp - 0x2d4]
call fcn.00406e20
lea ecx, [ebp - 0x2a0]
call fcn.00406e20
lea ecx, [ebp - 0x2b8]
call fcn.0040ad30
lea ecx, [ebp - 0x230]
call fcn.0040ad30
jmp 0x49c797
mov edx, 0x5aab04
lea ecx, [ebp - 0x39c]
call fcn.004a46c0
mov edx, eax
lea ecx, [ebp - 0x230]
call fcn.004873b0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 0x455], al
call fcn.0040ad30
cmp byte [ebp - 0x455], 0
je 0x49b0da
mov edx, 0x5a6d50
mov dword [ebp - 0x238], 0
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x234], 0x5a6df8
call fcn.004a46c0
push 0x55a0a8
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x39c]
call fcn.0040af20
add esp, 4
push eax
lea ecx, [ebp - 0x288]
call fcn.00421a00
lea edx, [ebp - 0x238]
mov byte [ebp - 4], 0x38
call fcn.00498ff0
lea ecx, [ebp - 0x288]
call fcn.0040ad30
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x2e
call fcn.0040ad30
mov edx, 0x5a6d50
lea ecx, [ebp - 0x474]
call fcn.004a46c0
push 0x55a0dc
mov edx, eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x39c]
call fcn.0040af20
add esp, 4
push eax
lea ecx, [ebp - 0x288]
call fcn.00421a00
lea edx, [ebp - 0x238]
mov byte [ebp - 4], 0x3b
call fcn.00498ff0
lea ecx, [ebp - 0x288]
call fcn.0040ad30
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x2e
call fcn.0040ad30
mov edx, 0x5a6d50
lea ecx, [ebp - 0x474]
call fcn.004a46c0
push 0x55a0c4
mov edx, eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x39c]
call fcn.0040af20
add esp, 4
lea ecx, [ebp - 0x288]
push eax
call fcn.00421a00
lea edx, [ebp - 0x238]
call fcn.00498df0
lea ecx, [ebp - 0x288]
call fcn.0040ad30
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
call fcn.0040ad30
lea ecx, [ebp - 0x37c]
call fcn.00406e20
lea ecx, [ebp - 0x33c]
call fcn.00406e20
lea ecx, [ebp - 0xc8]
call fcn.004834b0
lea ecx, [ebp - 0x250]
call fcn.004900f0
lea ecx, [ebp - 0x418]
call fcn.004833f0
lea ecx, [ebp - 0x2d4]
call fcn.00406e20
lea ecx, [ebp - 0x2a0]
call fcn.00406e20
lea ecx, [ebp - 0x2b8]
call fcn.0040ad30
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.0040ad30
mov edi, dword [ebp - 0x45c]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [ebp - 0x2a0]
call fcn.0049e150
push eax
mov ecx, 0x5a6d80
call fcn.0040ad90
mov ecx, dword [ebp - 0x28c]
cmp ecx, 7
jbe 0x49b1a8
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49b19e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce4b
push ecx
push edx
call fcn.004d54f1
add esp, 8
cmp dword [0x5a6d90], 0
je 0x49b1fa
call fcn.0049e520
test al, al
je 0x49b1fa
push ecx
push 0x55a0e8
call fcn.0049ce80
cmp eax, 0xffffffff
jne 0x49b1fa
push ecx
push 0x55a0e4
call fcn.0049ce80
cmp eax, 0xffffffff
jne 0x49b1fa
push ecx
push 0x55a0f0
call fcn.0049ce80
cmp eax, 0xffffffff
jne 0x49b1fa
push ecx
push 0x55a0ec
call fcn.0049ce80
cmp eax, 0xffffffff
je 0x49b20b
push 6
push 0x55a10c
mov ecx, 0x5a6d80
call fcn.0040cd60
call fcn.0049e7d0
push 0x5a9868
push 0x401b60
push 0
push 0
call dword [sym.imp.USER32.dll_EnumDisplayMonitors]
test eax, eax
jne 0x49b232
mov dword [0x5a9868], 1
lea ecx, [ebp - 0x2b8]
call fcn.004a5070
cmp dword [ebp - 0x2a4], 7
lea ecx, [ebp - 0x2b8]
mov esi, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2a8]
cmova ecx, esi
push 0xa
push 0x55a0f4
seta byte [ebp - 0x455]
call fcn.0041e4d0
shr eax, 0x1f
add esp, 8
test al, al
jne 0x49b28a
lea ecx, [ebp - 0x2b8]
call fcn.0049d0a0
test al, al
mov eax, 3
jne 0x49b28f
mov eax, 1
cmp byte [ebp - 0x455], 0
mov word [0x5a6cc4], ax
je 0x49b2d3
mov ecx, dword [ebp - 0x2a4]
mov eax, esi
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x49b2c9
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce50
push ecx
push esi
call fcn.004d54f1
add esp, 8
mov ecx, 0x5aa7e0
mov byte [0x5a9910], 1
mov dword [0x5a9900], 0
call fcn.004d0ab0
mov ecx, 0x5aa7e0
mov esi, eax
call fcn.004d0ac0
sub esp, 8
mov edx, esi
push 0x55a11c
push ecx
mov ecx, eax
call fcn.00410050
add esp, 0x10
mov dword [0x5a9a5c], eax
call fcn.0040da30
push 1
mov byte [0x5a9910], 1
mov dword [0x5a9900], 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esp, 8
mov edx, esi
push 0x55a13c
push ecx
mov ecx, eax
call fcn.00410050
add esp, 0x10
mov dword [0x5a9a60], eax
call fcn.0040da30
push 1
mov byte [0x5a9910], 1
mov dword [0x5a9900], 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esp, 8
mov edx, esi
push 0x55a138
push ecx
mov ecx, eax
call fcn.00410050
add esp, 0x10
mov dword [0x5a9a64], eax
call fcn.0040da30
push 1
mov byte [0x5a9910], 1
mov dword [0x5a9900], 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esp, 8
mov edx, esi
push 0x55a144
push ecx
mov ecx, eax
call fcn.00410050
mov dword [0x5a9a68], eax
call fcn.0040da30
add esp, 8
mov byte [0x5a9910], 1
mov edx, 0x2ee
mov dword [0x5a9900], 0
push 0x55a140
push ecx
mov ecx, 0x3f2
call fcn.00410050
add esp, 0x10
mov dword [0x5a9a54], eax
call fcn.0040da30
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x5a9a5c]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
call esi
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x5a9a60]
call esi
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x5a9a64]
call esi
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x5a9a68]
call esi
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x5a9a54]
call esi
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xf
push 0x55a150
mov ecx, eax
mov dword [ebp - 4], 0x3d
call fcn.0040b220
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x200000
push 4
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
cmova eax, dword [ebp - 0x230]
push eax
call fcn.004e0c5c
mov ecx, dword [ebp - 0x21c]
add esp, 8
mov esi, eax
cmp ecx, 7
jbe 0x49b550
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49b546
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce55
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x49b5b4
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49b5aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce55
push ecx
push edx
call fcn.004d54f1
add esp, 8
cmp esi, 0xffffffff
jne 0x49b852
mov edx, 0x5a6d50
lea ecx, [ebp - 0x474]
call fcn.004a46c0
push 0x55a148
mov edx, eax
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x39c]
call fcn.0040af20
add esp, 4
mov ecx, eax
push 0
call fcn.0040ad20
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
call fcn.0040ad30
push 0x4c
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.004d73b0
add esp, 0xc
lea ecx, [ebp - 0x320]
call fcn.00494740
xorps xmm0, xmm0
mov dword [ebp - 4], 0x3f
push 0
lea ecx, [ebp - 0x2b8]
movq qword [ebp - 0x2a8], xmm0
movups xmmword [ebp - 0x2b8], xmm0
call fcn.0048fe30
push 0x5aab04
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x40
call fcn.0048ffa0
mov esi, eax
push 0x55a178
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x41
call fcn.00491990
push eax
mov ecx, esi
call fcn.00490240
lea ecx, [ebp - 0x39c]
call fcn.004900f0
push 1
lea ecx, [ebp - 0x39c]
call fcn.00490030
mov esi, eax
push 0x55a170
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x42
call fcn.00491990
push eax
mov ecx, esi
call fcn.00490240
lea ecx, [ebp - 0x39c]
call fcn.004900f0
push 1
lea ecx, [ebp - 0x39c]
call fcn.00490030
mov esi, eax
push 0x55a18c
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x43
call fcn.00491990
push eax
mov ecx, esi
call fcn.00490240
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x40
call fcn.004900f0
push 0xb0
lea eax, [ebp - 0x454]
push 0
push eax
call fcn.004d73b0
add esp, 8
lea ecx, [ebp - 0x454]
call fcn.0041cc70
mov byte [ebp - 4], 0x44
lea esi, [ebp - 0x454]
mov eax, dword [ebp - 0x454]
push ecx
push 0x55a180
lea ecx, [ebp - 0x238]
add esi, dword [eax + 4]
call fcn.004112c0
push eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x45
push eax
mov ecx, esi
call fcn.0041cd30
lea ecx, [ebp - 0x258]
call fcn.00404e50
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x44
call fcn.00404e50
mov edx, 0x5a6d50
lea ecx, [ebp - 0x48c]
call fcn.004a46c0
push 0x55a1b0
mov edx, eax
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x474]
call fcn.0040af20
mov edx, eax
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x39c]
call fcn.004a47e0
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x48
call fcn.00406cd0
push eax
lea ecx, [ebp - 0x454]
call fcn.0041cc10
lea ecx, [ebp - 0x39c]
call fcn.00406e20
lea ecx, [ebp - 0x474]
call fcn.0040ad30
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x44
call fcn.0040ad30
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x320]
call fcn.004947d0
mov edx, eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x454]
call fcn.0041e550
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x44
call fcn.00406e20
lea ecx, [ebp - 0x454]
call fcn.0041cbd0
lea ecx, [ebp - 0x454]
call fcn.00412220
lea ecx, [ebp - 0x2b8]
call fcn.004900f0
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0xffffffff
call fcn.00412110
push 0x74
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.004d73b0
add esp, 0xc
lea ecx, [ebp - 0x418]
call fcn.00488150
xorps xmm0, xmm0
mov dword [ebp - 4], 0x4a
movups xmmword [ebp - 0x270], xmm0
movq qword [ebp - 0x260], xmm0
mov byte [ebp - 0x268], 0
and dword [ebp - 0x268], 0xfffffeff
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
push 0xb8
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x4f
push 0
push eax
call fcn.004d73b0
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.00485330
mov byte [ebp - 4], 0x50
lea esi, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push ecx
push 0x55a1a4
lea ecx, [ebp - 0x238]
add esi, dword [eax + 4]
call fcn.004112c0
push eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x51
push eax
mov ecx, esi
call fcn.0041cd30
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x49b933
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x49b933
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x49b956
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x49b956
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xf
push 0x55a1d8
mov ecx, eax
mov byte [ebp - 4], 0x52
call fcn.0040b220
mov dword [ebp - 0x240], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x23c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x8000
movups xmmword [ebp - 0x250], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x240], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea edx, [ebp - 0x250]
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x288]
call fcn.004a47e0
mov byte [ebp - 4], 0x54
cmp dword [eax + 0x14], 0xf
jbe 0x49b9e7
mov eax, dword [eax]
push ecx
push 1
push eax
lea ecx, [ebp - 0xb8]
call fcn.0041da70
test eax, eax
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push 0
je 0x49ba1a
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x49ba2f
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
jbe 0x49ba73
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ba69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5a
push ecx
push edx
call fcn.004d54f1
add esp, 8
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
cmp ecx, 7
jbe 0x49bad2
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49bac8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5a
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
cmp ecx, 7
jbe 0x49bb33
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49bb29
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5a
push ecx
push edx
call fcn.004d54f1
add esp, 8
push ecx
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x418]
call fcn.00488270
test al, al
je 0x49bbb1
push 0x55a1d0
lea ecx, [ebp - 0x270]
call fcn.00491e60
test al, al
je 0x49bb81
push 0x55a210
lea ecx, [ebp - 0x270]
call fcn.00491990
mov ecx, eax
call fcn.00490e30
mov byte [0x5a6d34], al
push 0x55a1f8
lea ecx, [ebp - 0x270]
call fcn.00491e60
test al, al
je 0x49bbb1
push 0x55a220
lea ecx, [ebp - 0x270]
call fcn.00491990
mov ecx, eax
call fcn.00490e30
mov byte [0x5a6d35], al
lea ecx, [ebp - 0xb8]
call fcn.0041d990
test eax, eax
jne 0x49bbe9
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0xb8]
call fcn.0041cb20
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0xcc], eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x55
push eax
mov dword [ebp - 0x58], vtable.std::ios_base.0
call fcn.004bd4c6
add esp, 4
lea ecx, [ebp - 0x270]
call fcn.004900f0
lea ecx, [ebp - 0x418]
call fcn.004833f0
push 0x4c
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.004d73b0
xorps xmm0, xmm0
mov dword [ebp - method.Json::StyledWriter.virtual_0], vtable.Json::StyledWriter.0
movups xmmword [ebp - 0x310], xmm0
add esp, 0xc
mov dword [ebp - 0x31c], 0
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0xf
mov byte [ebp - 0x310], 0
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
mov dword [ebp - 0x2e0], 0x4a
mov dword [ebp - 0x2dc], 3
mov byte [ebp - 0x2d8], 0
mov dword [ebp - 4], 0x56
movups xmmword [ebp - 0x230], xmm0
movq qword [ebp - 0x220], xmm0
mov byte [ebp - 0x228], 0
and dword [ebp - 0x228], 0xfffffeff
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov byte [ebp - 4], 0x5c
mov ecx, 0x5aab04
mov edx, dword [0x5aab14]
mov byte [ebp - 0x248], 4
or dword [ebp - 0x248], 0x100
cmp dword [0x5aab18], 0xf
mov dword [ebp - 0x244], 0
cmova ecx, dword [0x5aab04]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
call fcn.0048f6f0
mov dword [ebp - 0x250], eax
push 0x55a21f
push 0x55a218
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x5f
call fcn.00491600
push eax
lea ecx, [ebp - 0x250]
call fcn.00490240
lea ecx, [ebp - 0x250]
call fcn.004900f0
mov al, byte [0x5a6d34]
mov byte [ebp - 0x248], 5
and dword [ebp - 0x248], 0xfffffeff
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov byte [ebp - 0x250], al
push 0x55a257
push str.startup
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x62
call fcn.00491600
push eax
lea ecx, [ebp - 0x250]
call fcn.00490240
lea ecx, [ebp - 0x250]
call fcn.004900f0
mov al, byte [0x5a6d35]
mov byte [ebp - 0x248], 5
and dword [ebp - 0x248], 0xfffffeff
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov byte [ebp - 0x250], al
push 0x55a24e
push str.experimental_functions
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x65
call fcn.00491600
push eax
lea ecx, [ebp - 0x250]
call fcn.00490240
lea ecx, [ebp - 0x250]
call fcn.004900f0
push 0xb0
lea eax, [ebp - 0x454]
push 0
push eax
call fcn.004d73b0
add esp, 0xc
mov dword [ebp - 0x454], 0x560510
lea ecx, [ebp - 0x3ec]
call fcn.00407f50
mov byte [ebp - 4], 0x66
or edi, 0x10000
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x380], edi
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x458], eax
lea ecx, [ebp - 0x454]
mov eax, dword [ebp - 0x454]
add ecx, dword [eax + 4]
lea eax, [ebp - 0x450]
push ecx
push eax
call fcn.00408af0
mov dword [ebp - 4], 0x68
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x458], eax
lea ecx, [ebp - 0x450]
call fcn.0041dba0
mov byte [ebp - 4], 0x69
lea esi, [ebp - 0x454]
mov eax, dword [ebp - 0x454]
add esi, dword [eax + 4]
push ecx
push 0x55a278
lea ecx, [ebp - 0x238]
call fcn.004112c0
push eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0x6a
push eax
mov ecx, esi
call fcn.0041cd30
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x49bfb9
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x49bfb9
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x49bfdc
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x49bfdc
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xf
push str.optdeploy.json
mov ecx, eax
mov byte [ebp - 4], 0x6b
call fcn.0040b220
mov dword [ebp - 0x240], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x23c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x40000
movups xmmword [ebp - 0x250], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x240], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea edx, [ebp - 0x250]
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x288]
call fcn.004a47e0
mov byte [ebp - 4], 0x6d
cmp dword [eax + 0x14], 0xf
jbe 0x49c06d
mov eax, dword [eax]
push ecx
push 2
push eax
lea ecx, [ebp - 0x450]
call fcn.0041da70
test eax, eax
lea ecx, [ebp - 0x454]
mov eax, dword [ebp - 0x454]
push 0
je 0x49c0a0
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x49c0b5
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
jbe 0x49c0f9
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c0ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5f
push ecx
push edx
call fcn.004d54f1
add esp, 8
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
cmp ecx, 7
jbe 0x49c158
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c14e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5f
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
cmp ecx, 7
jbe 0x49c1b9
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c1af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce5f
push ecx
push edx
call fcn.004d54f1
add esp, 8
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x320]
call fcn.004947d0
mov byte [ebp - 4], 0x6e
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x49c1e1
mov eax, dword [eax]
push ecx
mov edx, eax
lea ecx, [ebp - 0x454]
call fcn.004200d0
mov byte [ebp - 4], 0x69
add esp, 4
mov ecx, dword [ebp - 0x28c]
cmp ecx, 0xf
jbe 0x49c230
mov edx, dword [ebp - 0x2a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c226
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce64
push ecx
push edx
call fcn.004d54f1
add esp, 8
lea ecx, [ebp - 0x450]
call fcn.0041d990
test eax, eax
jne 0x49c268
mov eax, dword [ebp - 0x454]
lea ecx, [ebp - 0x454]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00405370
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x458], eax
lea ecx, [ebp - 0x450]
call fcn.0041cb20
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x458], eax
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0x6f
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004bd4c6
add esp, 4
lea ecx, [ebp - 0x230]
call fcn.004900f0
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0xffffffff
call fcn.00412110
cmp byte [0x5a6d34], 1
jne 0x49c308
mov cl, 1
jmp 0x49c30a
xor cl, cl
call fcn.0049de00
cmp byte [0x5a6d35], 0
je 0x49c359
mov edx, dword [0x5a9868]
cmp edx, 1
jne 0x49c368
push 0x498900
lea ecx, [ebp - 0x238]
call fcn.0041e610
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0x70
call fcn.0040d320
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x234], 0
jne 0x49ce69
mov edx, dword [0x5a9868]
cmp edx, 1
je 0x49c3ea
lea ecx, [ebp - 0x48c]
call fcn.0040d210
push eax
mov edx, 0x55a32c
mov dword [ebp - 4], 0x71
lea ecx, [ebp - 0x474]
call fcn.0040aeb0
push 0x55a288
mov edx, eax
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x39c]
call fcn.0040af20
add esp, 8
mov ecx, eax
call fcn.0040ad20
push 0x1000
push 0x55a318
push eax
push dword [0x5a9a5c]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
call fcn.0040ad30
lea ecx, [ebp - 0x48c]
mov dword [ebp - 4], 0xffffffff
call fcn.0040ad30
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xa
push 0x55a358
mov ecx, eax
mov dword [ebp - 4], 0x73
call fcn.0040b220
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x80000
mov edx, 0x55a324
push 0xde
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov word [eax], cx
lea ecx, [ebp - 0x230]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
cmp dword [ebp - 0x21c], 7
cmova ecx, dword [ebp - 0x230]
call fcn.0049e0b0
mov ecx, dword [ebp - 0x21c]
add esp, 4
cmp ecx, 7
jbe 0x49c4c3
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c4b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce6e
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x49c527
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c51d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce6e
push ecx
push edx
call fcn.004d54f1
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x394], 0
push 0
movlpd qword [ebp - 0x39c], xmm0
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x3a4], 0x20
mov dword [ebp - 0x3a0], 0x88
mov dword [ebp - 0x390], 0xdd
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x388], eax
lea eax, [ebp - 0x3a4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateActCtxW]
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x234], eax
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov edx, 0x5a6d50
lea ecx, [ebp - 0x2a0]
call fcn.004a46c0
push 0xa
push 0x55a340
mov ecx, eax
mov dword [ebp - 4], 0x74
call fcn.0040b220
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x100000
mov dword [ebp - 0x45c], edi
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 7
cmova eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x49c667
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c65d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce73
push ecx
push edx
call fcn.004d54f1
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x49c6cb
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49c6c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce73
push ecx
push edx
call fcn.004d54f1
add esp, 8
mov esi, dword [0x5a9a60]
test esi, esi
je 0x49c71f
lea eax, [ebp - 0x380]
mov dword [ebp - 0x380], 0
push eax
push 0x560b24
push 0x17
push 0
push 0x55fcf8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x49c71f
mov ecx, dword [ebp - 0x380]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
jns 0x49c7b4
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [0x5a99b0], 0
or edx, 0xffffffff
mov dword [0x5a9998], edx
neg edx
lea ecx, [ebp - 0x474]
call fcn.0040d210
push eax
mov edx, 0x55a370
mov dword [ebp - 4], 0x75
lea ecx, [ebp - 0x39c]
call fcn.0040aeb0
add esp, 4
mov ecx, eax
push 0x1000
push 0x55a3ac
call fcn.0040ad20
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x39c]
call fcn.0040ad30
lea ecx, [ebp - 0x474]
call fcn.0040ad30
mov byte [0x5a99bd], 1
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d523a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x380]
lea edx, [ebp - 0x384]
push edx
mov dword [ebp - 0x384], 0
push 0x560b14
mov eax, dword [ecx]
push ecx
call dword [eax]
test eax, eax
js 0x49c713
mov ecx, dword [ebp - 0x384]
push 1
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jns 0x49c806
mov eax, dword [ebp - 0x380]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x384]
jmp 0x49c719
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x380]
mov dword [0x5a99b0], eax
test eax, eax
je 0x49c729
call fcn.00499080
mov dword [0x5a99b4], eax
test eax, eax
jne 0x49c852
mov eax, dword [0x5a99b0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [0x5a99b0], 0
mov edx, 0xfffffffe
jmp 0x49c72c
call fcn.00487700
test al, al
jne 0x49c88f
mov eax, dword [0x5a99b4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x5a99b0]
push eax
mov dword [0x5a99b4], 0
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [0x5a99b0], 0
mov edx, 0xfffffffd
jmp 0x49c72c
mov edx, dword [0x5a9998]
test edx, edx
jne 0x49c8a5
mov dword [0x5a9998], 1
jmp 0x49c8ab
jle 0x49c732
push 0x487730
lea ecx, [ebp - 0x258]
call fcn.0041e610
lea ecx, [ebp - 0x258]
mov dword [ebp - 4], 0x76
call fcn.0040d320
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x254], 0
jne 0x49ce78
push 0x4779a0
lea ecx, [ebp - 0x364]
call fcn.0041e610
lea ecx, [ebp - 0x364]
mov dword [ebp - 4], 0x77
call fcn.0040d320
push 0x41aef0
lea ecx, [ebp - 0x35c]
call fcn.0041e610
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x78
call fcn.0040d320
push 0x4122d0
lea ecx, [ebp - 0x354]
call fcn.0041e610
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 0x79
call fcn.0040d320
push 0x47de60
lea ecx, [ebp - 0x34c]
call fcn.0041e610
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x7a
call fcn.0040d320
push 0x4ace00
lea ecx, [ebp - 0x344]
call fcn.0041e610
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x7b
call fcn.0040d320
cmp byte [0x5a99bd], 0
jne 0x49c9b4
mov dword [ebp - 0x258], 0x1f4
mov dword [ebp - 0x254], 0
nop dword [eax]
lea ecx, [ebp - 0x258]
call fcn.0040b520
cmp byte [0x5a99bd], 0
je 0x49c9a0
mov esi, 1
nop dword [eax]
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x278], 0
push str.floating_main
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x274], 0
movups xmmword [ebp - 0x288], xmm0
call fcn.0040d160
mov byte [ebp - 4], 0x7c
mov ecx, 0x5aab34
mov eax, dword [ebp - 0x45c]
or eax, 8
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x288]
push eax
call fcn.0041be30
cmp byte [eax], 0
jne 0x49cb5c
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0
push str.drawpad_main
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], 0
movups xmmword [ebp - 0x250], xmm0
call fcn.0040d160
mov dword [ebp - 4], 0x7d
mov ecx, 0x5aab34
mov eax, dword [ebp - 0x45c]
or eax, 0x10
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x250]
push eax
call fcn.0041be30
cmp byte [eax], 0
jne 0x49cb5c
push str.test_main
lea ecx, [ebp - 0x270]
call fcn.0040d110
mov dword [ebp - 4], 0x7e
mov ecx, 0x5aab34
mov eax, dword [ebp - 0x45c]
or eax, 0x20
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x270]
push eax
call fcn.0041be30
cmp byte [eax], 0
jne 0x49cb5c
push str.FreezeFrameWindow
lea ecx, [ebp - 0x230]
call fcn.0040d110
mov dword [ebp - 4], 0x7f
mov ecx, 0x5aab34
mov eax, dword [ebp - 0x45c]
or eax, 0x40
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x230]
push eax
call fcn.0041be30
cmp byte [eax], 0
jne 0x49cb5c
push 0x55a424
lea ecx, [ebp - 0x2b8]
call fcn.0040d110
mov dword [ebp - 4], 0x80
mov ecx, 0x5aab34
mov eax, dword [ebp - 0x45c]
or eax, 0x80
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x2b8]
push eax
call fcn.0041be30
mov byte [ebp - 0x455], 1
cmp byte [eax], 0
je 0x49cb63
mov byte [ebp - 0x455], 0
mov dword [ebp - 4], 0x7f
mov eax, dword [ebp - 0x45c]
test al, al
jns 0x49cbe2
mov ecx, dword [ebp - 0x2a4]
and eax, 0xffffff7f
mov dword [ebp - 0x45c], eax
cmp ecx, 7
jbe 0x49cbc5
mov edx, dword [ebp - 0x2b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49cbb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
mov eax, dword [ebp - 0x45c]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 7
mov word [ebp - 0x2b8], cx
mov dword [ebp - 4], 0x7e
test al, 0x40
je 0x49cc59
mov ecx, dword [ebp - 0x21c]
and eax, 0xffffffbf
mov dword [ebp - 0x45c], eax
cmp ecx, 7
jbe 0x49cc3c
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49cc2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
mov eax, dword [ebp - 0x45c]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], cx
mov dword [ebp - 4], 0x7d
test al, 0x20
je 0x49ccd0
mov ecx, dword [ebp - 0x25c]
and eax, 0xffffffdf
mov dword [ebp - 0x45c], eax
cmp ecx, 7
jbe 0x49ccb3
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49cca3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
mov eax, dword [ebp - 0x45c]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], cx
mov dword [ebp - 4], 0x7c
test al, 0x10
je 0x49cd47
mov ecx, dword [ebp - 0x23c]
and eax, 0xffffffef
mov dword [ebp - 0x45c], eax
cmp ecx, 7
jbe 0x49cd2a
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49cd1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
mov eax, dword [ebp - 0x45c]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], cx
mov dword [ebp - 4], 0x7b
test al, 8
je 0x49cd9b
mov ecx, dword [ebp - 0x274]
and eax, 0xfffffff7
mov dword [ebp - 0x45c], eax
cmp ecx, 7
jbe 0x49cd9b
mov edx, dword [ebp - 0x288]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x49cd91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49ce23
push ecx
push edx
call fcn.004d54f1
add esp, 8
cmp byte [ebp - 0x455], 0
jne 0x49cdcd
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x258], 0x1f4
mov dword [ebp - 0x254], 0
call fcn.0040b520
inc esi
cmp esi, 0x14
jle 0x49c9c0
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x324]
push 0
call dword [sym.imp.KERNEL32.dll_DeactivateActCtx]
push dword [ebp - 0x234]
call dword [sym.imp.KERNEL32.dll_ReleaseActCtx]
cmp dword [ebp - 0x340], 0
jne 0x49ce1e
cmp dword [ebp - 0x348], 0
jne 0x49ce1e
cmp dword [ebp - 0x350], 0
jne 0x49ce1e
cmp dword [ebp - 0x358], 0
jne 0x49ce1e
cmp dword [ebp - 0x360], 0
je 0x49c797
call fcn.004dfe92
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004deff4
call fcn.004dfe92
call fcn.004deff4
call fcn.004deff4
call fcn.004dfe92
int3