Function at 0x44a330
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x79824b
mov eax, dword fs:[0]
push eax
sub esp, 0x74c
mov eax, dword [0x831184]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x564], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x544], eax
xor eax, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x548], eax
lea ecx, [ebp - 0x37c]
mov dword [ebp - 4], 1
call fcn.0044a0e0
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x710]
mov byte [ebp - 4], 2
xorps xmm0, xmm0
push 1
push eax
mov dword [ebp - 0x374], esi
movq qword [ebp - 0x248], xmm0
mov dword [ebp - 0x240], 0
call fcn.00427030
lea eax, [ebp - 0x6f8]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.00427030
lea eax, [ebp - 0x6e0]
mov byte [ebp - 4], 4
push 8
push eax
call fcn.00427030
lea eax, [ebp - 0x6c8]
mov byte [ebp - 4], 5
push 9
push eax
call fcn.00427030
add esp, 0x20
mov byte [ebp - 4], 6
lea eax, [ebp - 0x6b0]
push dword [ebp - 0x508]
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x248], 0
push eax
lea eax, [ebp - 0x710]
mov dword [ebp - 0x244], 0
push eax
mov dword [ebp - 0x240], 0
call fcn.00448980
push fcn.00404020
push 4
push 0x18
lea eax, [ebp - 0x710]
mov byte [ebp - 4], 8
push eax
call fcn.0076e7c5
cmp esi, 4
je 0x44a662
lea eax, [ebp - 0x628]
push 4
push eax
call fcn.00427030
add esp, 8
push eax
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 9
call fcn.00404120
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x520]
cmp dword [ebp - 0x50c], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x504], xmm0
cmovae eax, dword [ebp - 0x520]
mov dword [ebp - 0x4ec], eax
lea eax, [ebp - 0x504]
push eax
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4f8], 0x7d949c
mov dword [ebp - 0x4f4], 0x41
mov dword [ebp - 0x4f0], 0x44a250
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov esi, eax
test esi, esi
je 0x44a579
lea eax, [ebp - 0x21c]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0x4e4], 0
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x44a539
mov ecx, dword [ebp - 0x4e4]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x4e4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x22c], 0
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44a560
sub ecx, edx
lea eax, [ebp - 0x21c]
sar ecx, 1
push ecx
push eax
jmp 0x44a59c
xor eax, eax
mov dword [ebp - 0x22c], 0
push eax
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
push 0x7cf388
lea ecx, [ebp - 0x23c]
call fcn.004044f0
lea ecx, [ebp - 0x520]
call fcn.00404490
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 0xc
call fcn.00404490
cmp dword [ebp - 0x22c], 0
je 0x44a642
mov edi, dword [ebp - 0x244]
mov esi, dword [ebp - 0x248]
cmp esi, edi
je 0x44a5f4
nop word [eax + eax]
mov ecx, esi
call fcn.00404490
add esi, 0x18
cmp esi, edi
jne 0x44a5e0
mov esi, dword [ebp - 0x248]
mov byte [ebp - 0x610], 0
lea edx, [ebp - 0x23c]
push dword [ebp - 0x610]
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x244], esi
call fcn.0041c8d0
add esp, 4
lea eax, [ebp - 0x560]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x248]
call fcn.004482c0
lea ecx, [ebp - 0x560]
call fcn.00404490
mov edi, dword [ebp - 0x564]
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 8
call fcn.00404490
mov eax, 6
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x548], eax
mov esi, dword [edi + 0x148]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x4e4], esi
lea ecx, [esi + 0x70]
cmp ecx, eax
je 0x44a69e
push dword [ebp - 0x508]
push dword [ebp - 0x244]
push dword [ebp - 0x248]
call fcn.00490680
mov esi, dword [edi + 0x148]
mov dword [ebp - 0x4e4], esi
lea eax, [ebp - 0x58c]
mov dword [ebp - 0x568], 0
mov dword [ebp - 0x508], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44a6d2
mov eax, dword [ecx]
lea edx, [ebp - 0x58c]
push edx
mov eax, dword [eax]
call eax
mov dword [ebp - 0x568], eax
mov dword [esi + 0x7c], 0
xor edx, edx
mov eax, dword [esi + 0x74]
mov edi, dword [esi + 0x70]
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x610], edx
cmp edi, eax
je 0x44a762
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x610], esp
mov dword [eax], 0x7da2bc
mov dword [eax + 4], esi
mov dword [eax + 0x24], eax
sub esp, 0x28
mov esi, esp
mov dword [ebp - 0x524], esi
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x568]
test ecx, ecx
je 0x44a732
mov eax, dword [ecx]
push esi
mov eax, dword [eax]
call eax
mov dword [esi + 0x24], eax
mov byte [ebp - 4], 0x10
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.00625810
mov esi, dword [ebp - 0x4e4]
add edi, 0x18
add esp, 0x50
cmp edi, dword [ebp - 0x508]
jne 0x44a6f1
mov eax, esi
mov esi, dword [eax + 0x7c]
mov dword [ebp - 0x610], esi
jmp 0x44a764
xor esi, esi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x568]
test ecx, ecx
je 0x44a785
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x58c]
cmp ecx, eax
setne al
push eax
call edx
mov byte [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x224], xmm0
xor ecx, ecx
mov dword [ebp - 0x620], 0xb
mov dword [ebp - 0x61c], 0xc8c9cec4
mov dword [ebp - 0x618], 0xdcc1d9c2
mov dword [ebp - 0x614], 0xb4d7d3de
nop
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x61c], al
inc ecx
mov eax, dword [ebp - 0x620]
cmp ecx, eax
jb 0x44a7c0
mov byte [ebp + eax - 0x61c], 0
lea ecx, [ebp - 0x61c]
mov dword [ebp - 0x528], 5
lea edx, [ecx + 1]
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x5f4], 0
mov dword [ebp - 0x5f0], 0xf
mov byte [ebp - 0x604], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a816
sub ecx, edx
lea eax, [ebp - 0x61c]
push ecx
push eax
lea ecx, [ebp - 0x604]
call fcn.00407ab0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x5ec]
call fcn.004527b0
mov byte [ebp - 4], 0x13
mov eax, 0xc
movaps xmm0, xmmword [0x7e52c0]
xor ecx, ecx
mov dword [ebp - 0x238], eax
movups xmmword [ebp - 0x234], xmm0
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x234], al
inc ecx
mov eax, dword [ebp - 0x238]
cmp ecx, eax
jb 0x44a863
mov byte [ebp + eax - 0x234], 0
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x528], 2
lea edx, [ecx + 1]
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x5d4], 0
mov dword [ebp - 0x5d0], 0xf
mov byte [ebp - 0x5e4], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a8c0
sub ecx, edx
lea eax, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x5e4]
call fcn.00407ab0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x5cc]
call fcn.004527b0
mov byte [ebp - 4], 0x14
mov eax, 9
mov dword [ebp - 0x518], eax
xor ecx, ecx
mov dword [ebp - 0x514], 0xc3dfdfc8
mov dword [ebp - 0x510], 0xc2cedade
mov dword [ebp - 0x50c], 0xb2c5
nop dword [eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x514], al
inc ecx
mov eax, dword [ebp - 0x518]
cmp ecx, eax
jb 0x44a920
mov byte [ebp + eax - 0x514], 0
lea ecx, [ebp - 0x514]
mov dword [ebp - 0x528], 2
lea edx, [ecx + 1]
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x5b4], 0
mov dword [ebp - 0x5b0], 0xf
mov byte [ebp - 0x5c4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a976
sub ecx, edx
lea eax, [ebp - 0x514]
push ecx
push eax
lea ecx, [ebp - 0x5c4]
call fcn.00407ab0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x5ac]
call fcn.004527b0
mov byte [ebp - 4], 0x15
mov eax, 6
mov dword [ebp - 0x534], eax
xor ecx, ecx
mov dword [ebp - 0x530], 0xcfd8dcc8
mov dword [ebp - 0x52c], 0xafc0cc
nop dword [eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x530], al
inc ecx
mov eax, dword [ebp - 0x534]
cmp ecx, eax
jb 0x44a9d0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov byte [ebp + eax - 0x530], 0
mov eax, esi
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x7e5760]
divsd xmm0, qword [0x7e3668]
mulsd xmm0, qword [0x7e3678]
call fcn.00790991
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x594], 0
mov esi, eax
mov dword [ebp - 0x590], 0xf
mov byte [ebp - 0x5a4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44aa40
sub ecx, edx
lea eax, [ebp - 0x530]
push ecx
push eax
lea ecx, [ebp - 0x5a4]
call fcn.00407ab0
mov dword [ebp - 0x58c], esi
mov dword [ebp - 0x588], 0
mov byte [ebp - 4], 0x16
mov eax, 0xa
mov dword [ebp - 0x558], eax
xor ecx, ecx
mov dword [ebp - 0x554], 0xc9dfd2cc
mov dword [ebp - 0x550], 0xdfc6ddc3
mov dword [ebp - 0x54c], 0xb3c1df
nop dword [eax + eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x554], al
inc ecx
mov eax, dword [ebp - 0x558]
cmp ecx, eax
jb 0x44aaa0
mov byte [ebp + eax - 0x554], 0
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x528], 0x1e
lea edx, [ecx + 1]
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x574], 0
mov dword [ebp - 0x570], 0xf
mov byte [ebp - 0x584], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44aaf6
sub ecx, edx
lea eax, [ebp - 0x554]
push ecx
push eax
lea ecx, [ebp - 0x584]
call fcn.00407ab0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x56c]
call fcn.004527b0
lea eax, [ebp - 0x564]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x604]
push eax
push ecx
lea ecx, [ebp - 0x224]
call fcn.00451db0
push fcn.00406b00
push 5
push 0x20
lea eax, [ebp - 0x604]
mov byte [ebp - 4], 0x19
push eax
call fcn.0076e7c5
push 0xd8
lea eax, [ebp - 0x46c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 2
push 0x64
push 0
sub esp, 0x28
mov esi, esp
mov dword [ebp - 0x524], esp
mov dword [ebp - 0x508], esi
mov dword [esi + 0x24], 0
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44aba3
mov eax, dword [ecx]
push esi
mov eax, dword [eax]
call eax
mov dword [esi + 0x24], eax
sub esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, esp
lea eax, [ebp - 0x224]
mov dword [ebp - 0x508], ecx
push ecx
push eax
call fcn.00452530
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x19
call fcn.00449740
lea eax, [ebp + 0x38]
mov dword [ebp - method.r.virtual_0], vtable.r.0
mov dword [ebp - 0x588], eax
lea eax, [ebp - 0x58c]
mov dword [ebp - 0x568], eax
push eax
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x1d
call fcn.0043ad40
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x568]
test ecx, ecx
je 0x44ac1e
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x58c]
cmp ecx, eax
setne al
push eax
call edx
mov byte [ebp - 4], 0x1c
xor ecx, ecx
mov dword [ebp - 0x558], 0xb
mov dword [ebp - 0x554], 0xc8c9cec4
mov dword [ebp - 0x550], 0xdcc1d9c2
mov dword [ebp - 0x54c], 0xb4d7d3de
nop dword [eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x554], al
inc ecx
mov eax, dword [ebp - 0x558]
cmp ecx, eax
jb 0x44ac50
mov byte [ebp + eax - 0x554], 0
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x22c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44ac92
sub ecx, edx
lea eax, [ebp - 0x554]
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x46c]
call fcn.00449e80
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x1c
call fcn.00407a10
push 0x74
lea eax, [ebp - 0x4e0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4e0]
call fcn.00774c70
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
push 0
lea ecx, [ebp - 0x32c]
movq qword [ebp - 0x31c], xmm0
movups xmmword [ebp - 0x32c], xmm0
call fcn.007725c0
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x300], 0xf
mov byte [ebp - 0x314], 0
mov edi, dword [ebp - 0x564]
mov edi, dword [edi + 0x140]
lea esi, [edi + 0x1c]
mov byte [ebp - 4], 0x24
push esi
mov dword [ebp - 0x524], esi
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
je 0x44ad5e
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
mov byte [ebp - 4], 0x25
cmp dword [edi + 0x14], 0
jne 0x44adbd
mov eax, dword [edi]
lea ecx, [ebp - 0x23c]
push ecx
mov ecx, edi
mov eax, dword [eax + 4]
call eax
lea ecx, [edi + 4]
mov dword [ebp - 0x508], eax
cmp ecx, eax
je 0x44adb2
call fcn.00407a10
mov eax, dword [ebp - 0x508]
movups xmm0, xmmword [eax]
movups xmmword [edi + 4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x23c]
call fcn.00407a10
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x520]
call fcn.00406bb0
mov edi, dword [ebp - 0x24c]
or edi, 0x20
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x548], edi
push esi
mov byte [ebp - 4], 0x26
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
test eax, eax
je 0x44adfb
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
mov esi, dword [ebp - 0x508]
lea eax, [ebp - 0x314]
cmp eax, esi
je 0x44ae3a
mov ecx, eax
call fcn.00407a10
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x314], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x304], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
and edi, 0xffffffdf
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x4e4], edi
call fcn.00407a10
push 0
lea eax, [ebp - 0x32c]
mov dword [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.007763c0
test al, al
je 0x44cce8
xor al, al
lea ecx, [ebp - 0x404]
xchg byte [ecx], al
lea eax, [ebp - 0x45c]
push eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
je 0x44ae9e
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
lea eax, [ebp - 0x45c]
mov byte [ebp - 4], 0x30
push eax
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
test eax, eax
je 0x44aebe
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
push 0xb0
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x22
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2fc], 0x7d6f90
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ec], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
push 0
lea eax, [ebp - 0x2e4]
mov byte [ebp - 4], 0x31
or edi, 0x80
lea ecx, [ebp - 0x2fc]
push eax
mov dword [ebp - 0x548], edi
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 0x32
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x2e4], 0x7c8164
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x33
mov eax, 0x22
mov dword [ebp - 0x5b0], eax
xor ecx, ecx
mov dword [ebp - 0x5ac], 0xf900f2
mov dword [ebp - 0x5a8], 0xcd00c8
mov dword [ebp - 0x5a4], 0xe300c3
mov dword [ebp - 0x5a0], 0xdc00ce
mov dword [ebp - 0x59c], 0xd300c6
mov dword [ebp - 0x598], 0xd100c1
mov dword [ebp - 0x594], 0x9600e8
mov dword [ebp - 0x590], 0xd700f0
mov dword [ebp - 0x58c], 0x9a00cd
mov dword [ebp - 0x588], 0xdd00d6
mov dword [ebp - 0x584], 0xc900d1
mov dword [ebp - 0x580], 0xb200de
mov dword [ebp - 0x57c], 0xe200a4
mov dword [ebp - 0x578], 0xa500a7
mov dword [ebp - 0x574], 0xa700b1
mov dword [ebp - 0x570], 0xa900a5
mov dword [ebp - 0x56c], 0xaf00ba
mov dword [ebp - 0x568], 0xcb
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x5ac], ax
inc ecx
mov eax, dword [ebp - 0x5b0]
cmp ecx, eax
jb 0x44b040
xor ecx, ecx
mov word [ebp + eax*2 - 0x5ac], cx
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044d1c0
mov edi, eax
xor ecx, ecx
mov edx, dword [edi]
lea esi, [edi + 4]
test edx, edx
je 0x44b0b1
nop dword [eax]
lea eax, [ecx + 0xa9]
xor word [esi + ecx*2], ax
inc ecx
mov edx, dword [edi]
cmp ecx, edx
jb 0x44b0a0
xor eax, eax
mov word [esi + edx*2], ax
lea eax, [ebp - 0x60c]
push eax
call fcn.0044cdf0
xor ecx, ecx
mov dword [ebp - 0x508], eax
mov edx, dword [eax]
lea edi, [eax + 4]
test edx, edx
je 0x44b0eb
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x508]
mov edx, dword [eax]
cmp ecx, edx
jb 0x44b0d4
mov ecx, dword [ebp - 0x544]
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x2fc]
push eax
push esi
push 0xbe
push edi
push 1
call fcn.00469f50
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call fcn.004073e0
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x294]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
push 0xb0
lea eax, [ebp - 0x2fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2fc], 0x7d6f90
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ec], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x4e4]
or eax, 0x180
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x2e4]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 0x35
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x2e4], 0x7c8164
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x36
mov eax, 0x28
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], 0xf900f2
mov dword [ebp - 0x5b4], 0xcd00c8
mov dword [ebp - 0x5b0], 0xe300c3
mov dword [ebp - 0x5ac], 0xdc00ce
mov dword [ebp - 0x5a8], 0xd300c6
mov dword [ebp - 0x5a4], 0xd100c1
mov dword [ebp - 0x5a0], 0x9600e8
mov dword [ebp - 0x59c], 0xd400f4
mov dword [ebp - 0x598], 0xcf00d6
mov dword [ebp - 0x594], 0x9c00df
mov dword [ebp - 0x590], 0xdd00ce
mov dword [ebp - 0x58c], 0xae00de
mov dword [ebp - 0x588], 0xab00af
mov dword [ebp - 0x584], 0xa300ad
mov dword [ebp - 0x580], 0xae00e5
mov dword [ebp - 0x57c], 0xbb00a6
mov dword [ebp - 0x578], 0xb900e9
mov dword [ebp - 0x574], 0xad00bf
mov dword [ebp - 0x570], 0xba00bf
mov dword [ebp - 0x56c], 0xb400aa
xor ecx, ecx
mov dword [ebp - 0x568], 0xd1
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x5b8], ax
inc ecx
mov eax, dword [ebp - 0x5bc]
cmp ecx, eax
jb 0x44b300
xor ecx, ecx
mov word [ebp + eax*2 - 0x5b8], cx
lea eax, [ebp - 0x5b8]
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044d380
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
test edx, edx
je 0x44b371
nop dword [eax]
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x44b360
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x60c]
push eax
call fcn.0044cdf0
xor ecx, ecx
mov dword [ebp - 0x508], eax
mov edx, dword [eax]
lea esi, [eax + 4]
test edx, edx
je 0x44b3ab
lea eax, [ecx + 0xa9]
xor word [esi + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x508]
mov edx, dword [eax]
cmp ecx, edx
jb 0x44b394
mov ecx, dword [ebp - 0x544]
xor eax, eax
mov word [esi + edx*2], ax
lea eax, [ebp - 0x2fc]
push eax
push edi
push 0xc2
push esi
push 1
call fcn.00469f50
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call fcn.004073e0
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x294]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
mov eax, 6
mov dword [ebp - 0x530], 0xcfd8dcc8
mov dword [ebp - 0x534], eax
xor ecx, ecx
mov dword [ebp - 0x52c], 0xafc0cc
nop dword [eax + eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x530], al
inc ecx
mov eax, dword [ebp - 0x534]
cmp ecx, eax
jb 0x44b440
mov byte [ebp + eax - 0x530], 0
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x22c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b482
sub ecx, edx
lea eax, [ebp - 0x530]
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x46c]
call fcn.00449e80
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00407a10
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x534], eax
sub esp, 0x28
lea eax, [ebp + 0x10]
mov dword [ebp - 0x530], eax
mov eax, esp
movq xmm0, qword [ebp - 0x534]
movq qword [eax + 4], xmm0
mov dword [eax], 0x7d9524
mov dword [eax + 0xc], ecx
mov dword [eax + 0x24], eax
lea eax, [ebp - 0x558]
push eax
call fcn.00449680
add esp, 0x2c
mov dword [ebp - 0x530], 0xcfd8dcc8
mov dword [ebp - 0x52c], 0xafc0cc
xor ecx, ecx
movups xmm0, xmmword [eax]
mov eax, 6
mov dword [ebp - 0x534], eax
movups xmmword [ebp - 0x518], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x530], al
inc ecx
mov eax, dword [ebp - 0x534]
cmp ecx, eax
jb 0x44b540
mov byte [ebp + eax - 0x530], 0
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x22c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b582
sub ecx, edx
lea eax, [ebp - 0x530]
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x370]
call fcn.00451d00
mov ecx, eax
mov eax, dword [ebp - 0x510]
mov dword [ecx], eax
mov eax, dword [ebp - 0x50c]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00407a10
xor al, al
lea ecx, [ebp - 0x404]
xchg byte [ecx], al
lea eax, [ebp - 0x45c]
push eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
je 0x44b5fc
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
lea eax, [ebp - 0x45c]
mov byte [ebp - 4], 0x39
push eax
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
test eax, eax
je 0x44b61c
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
add esp, 4
mov byte [ebp - 4], 0x22
mov eax, 6
mov dword [ebp - 0x534], eax
xor ecx, ecx
mov dword [ebp - 0x530], 0xcfd8dcc8
mov dword [ebp - 0x52c], 0xafc0cc
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x530], al
inc ecx
mov eax, dword [ebp - 0x534]
cmp ecx, eax
jb 0x44b641
mov byte [ebp + eax - 0x530], 0
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x22c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b683
sub ecx, edx
lea eax, [ebp - 0x530]
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x370]
call fcn.00451d00
mov ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x334], eax
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0x22
call fcn.00407a10
push 0xb0
lea eax, [ebp - 0x2fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2fc], 0x7d6f90
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ec], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x4e4]
or eax, 0x380
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x2e4]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 0x3c
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x2e4], 0x7c8164
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x3d
xor ecx, ecx
mov dword [ebp - 0x5bc], 0x29
mov dword [ebp - 0x5b8], 0xf900f2
mov dword [ebp - 0x5b4], 0xcd00c8
mov dword [ebp - 0x5b0], 0xe300c3
mov dword [ebp - 0x5ac], 0xdc00ce
mov dword [ebp - 0x5a8], 0xd300c6
mov dword [ebp - 0x5a4], 0xd100c1
mov dword [ebp - 0x5a0], 0x9600e8
mov dword [ebp - 0x59c], 0xd400f4
mov dword [ebp - 0x598], 0xcf00d6
mov dword [ebp - 0x594], 0x9c00df
mov dword [ebp - 0x590], 0xdd00ce
mov dword [ebp - 0x58c], 0xae00de
mov dword [ebp - 0x588], 0xab00af
mov dword [ebp - 0x584], 0xa300ad
mov dword [ebp - 0x580], 0xae00e5
mov dword [ebp - 0x57c], 0xbb00a6
mov dword [ebp - 0x578], 0xac00e9
mov dword [ebp - 0x574], 0xa200a2
mov dword [ebp - 0x570], 0xbd00a4
mov dword [ebp - 0x56c], 0xb500a7
mov dword [ebp - 0x568], 0xd200b5
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x5b8], ax
inc ecx
mov eax, dword [ebp - 0x5bc]
cmp ecx, eax
jb 0x44b871
xor ecx, ecx
mov word [ebp + eax*2 - 0x5b8], cx
lea eax, [ebp - 0x5b8]
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044d790
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
test edx, edx
je 0x44b8e1
nop
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x44b8d0
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x60c]
push eax
call fcn.0044cdf0
xor ecx, ecx
mov dword [ebp - 0x508], eax
mov edx, dword [eax]
lea esi, [eax + 4]
test edx, edx
je 0x44b91b
lea eax, [ecx + 0xa9]
xor word [esi + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x508]
mov edx, dword [eax]
cmp ecx, edx
jb 0x44b904
mov ecx, dword [ebp - 0x544]
xor eax, eax
mov word [esi + edx*2], ax
lea eax, [ebp - 0x2fc]
push eax
push edi
push 0xd5
push esi
push 1
call fcn.00469f50
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call fcn.004073e0
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x294]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44cd18
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x44ba8e
mov edi, dword [ebp - 0x62c]
lea eax, [ebp - 0x37c]
push eax
mov ecx, edi
call fcn.004514c0
lea ecx, [ebp - 0x314]
call fcn.00407a10
lea ecx, [ebp - 0x32c]
call fcn.007727c0
lea ecx, [ebp - 0x4e0]
call fcn.00430850
lea ecx, [ebp - 0x46c]
call fcn.00449d20
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x224]
mov esi, dword [ebp - 0x224]
push dword [esi + 4]
call fcn.00452060
mov eax, dword [ebp - 0x224]
push 0x30
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x224]
mov dword [eax], esi
mov eax, dword [ebp - 0x224]
mov dword [eax + 8], esi
push dword [ebp - 0x224]
mov dword [ebp - 0x220], 0
call fcn.0076e8f3
add esp, 8
lea ecx, [ebp - 0x248]
call fcn.00404220
lea ecx, [ebp - 0x37c]
call fcn.0044a1c0
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44ba68
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp + 0x10]
cmp ecx, eax
setne al
push eax
call edx
mov dword [ebp + 0x34], 0
mov dword [ebp - 4], 0x40
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
je 0x44ba87
mov esi, dword [ecx]
lea eax, [ebp + 0x38]
cmp ecx, eax
setne dl
movzx edx, dl
push edx
call dword [esi + 0x10]
mov eax, edi
jmp 0x44ccca
lea ecx, [ebp - 0x518]
mov dword [ebp - 0x518], 9
mov dword [ebp - 0x514], 0xc3dfdfc8
mov dword [ebp - 0x510], 0xc2cedade
mov dword [ebp - 0x50c], 0xb2c5
call fcn.004131e0
mov edx, eax
mov dword [ebp - 0x22c], 0
mov ecx, edx
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bae3
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x46c]
call fcn.00449e80
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00407a10
sub esp, 0x28
lea ecx, [ebp - 0x37c]
mov eax, esp
mov dword [eax], 0x7d9484
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
lea eax, [ebp - 0x620]
push eax
call fcn.00449680
add esp, 0x2c
lea ecx, [ebp - 0x518]
movups xmm0, xmmword [eax]
mov dword [ebp - 0x518], 9
mov dword [ebp - 0x514], 0xc3dfdfc8
movups xmmword [ebp - 0x558], xmm0
mov dword [ebp - 0x510], 0xc2cedade
mov dword [ebp - 0x50c], 0xb2c5
call fcn.004131e0
mov edx, eax
mov dword [ebp - 0x22c], 0
mov ecx, edx
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bba3
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.00407ab0
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x370]
call fcn.00451d00
mov ecx, dword [ebp - 0x550]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x54c]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00407a10
lea ecx, [ebp - 0x46c]
call fcn.0044a000
push 0xb0
lea eax, [ebp - 0x2fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2fc], 0x7d6f90
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ec], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x4e4]
or eax, 0x780
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x2e4]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 0x44
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x2e4], 0x7c8164
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x45
xor ecx, ecx
mov dword [ebp - 0x5b4], 0x25
mov dword [ebp - 0x5b0], 0xf900f2
mov dword [ebp - 0x5ac], 0xcd00c8
mov dword [ebp - 0x5a8], 0xe300c3
mov dword [ebp - 0x5a4], 0xdc00ce
mov dword [ebp - 0x5a0], 0xd300c6
mov dword [ebp - 0x59c], 0xd100c1
mov dword [ebp - 0x598], 0x9600e8
mov dword [ebp - 0x594], 0xd100f1
mov dword [ebp - 0x590], 0xd300d7
mov dword [ebp - 0x58c], 0xd400c8
mov dword [ebp - 0x588], 0xda00d8
mov dword [ebp - 0x584], 0xb3009f
mov dword [ebp - 0x580], 0xa300a2
mov dword [ebp - 0x57c], 0xe400ad
mov dword [ebp - 0x578], 0xb300a4
mov dword [ebp - 0x574], 0xa700b3
mov dword [ebp - 0x570], 0xbe00ba
mov dword [ebp - 0x56c], 0xbe00aa
mov dword [ebp - 0x568], 0xce00b9
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x5b0], ax
inc ecx
mov eax, dword [ebp - 0x5b4]
cmp ecx, eax
jb 0x44bd80
xor ecx, ecx
mov word [ebp + eax*2 - 0x5b0], cx
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044e110
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x60c]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0xeb
push eax
push 1
mov ecx, edi
call fcn.00469f50
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call fcn.004073e0
lea ecx, [ebp - 0x2dc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x294]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44cd1d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x44bf55
mov edi, dword [ebp - 0x62c]
lea eax, [ebp - 0x37c]
push eax
mov ecx, edi
call fcn.004514c0
lea ecx, [ebp - 0x314]
call fcn.00407a10
lea ecx, [ebp - 0x32c]
call fcn.007727c0
lea ecx, [ebp - 0x4e0]
call fcn.00430850
lea ecx, [ebp - 0x46c]
call fcn.00449d20
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x224]
mov esi, dword [ebp - 0x224]
push dword [esi + 4]
call fcn.00452060
mov eax, dword [ebp - 0x224]
push 0x30
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x224]
mov dword [eax], esi
mov eax, dword [ebp - 0x224]
mov dword [eax + 8], esi
push dword [ebp - 0x224]
mov dword [ebp - 0x220], 0
call fcn.0076e8f3
add esp, 8
lea ecx, [ebp - 0x248]
call fcn.00404220
lea ecx, [ebp - 0x37c]
call fcn.0044a1c0
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44bf2b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp + 0x10]
cmp ecx, eax
setne al
push eax
call edx
mov dword [ebp + 0x34], 0
mov dword [ebp - 4], 0x48
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
je 0x44ba87
mov edx, dword [ecx]
lea eax, [ebp + 0x38]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, edi
jmp 0x44ccca
movaps xmm0, xmmword [0x7e52c0]
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x238], 0xc
movups xmmword [ebp - 0x234], xmm0
call fcn.004131e0
push eax
lea ecx, [ebp - 0x520]
call fcn.00406b50
lea eax, [ebp - 0x520]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [ebp - 0x46c]
call fcn.00449e80
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x22
call fcn.00407a10
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x534], eax
sub esp, 0x28
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x530], eax
mov eax, esp
movq xmm0, qword [ebp - 0x534]
movq qword [eax + 4], xmm0
mov dword [eax], vtable._.109.0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x24], eax
lea eax, [ebp - 0x558]
push eax
call fcn.00449680
add esp, 0x2c
lea ecx, [ebp - 0x238]
movups xmm0, xmmword [eax]
mov dword [ebp - 0x238], 0xc
movups xmmword [ebp - 0x518], xmm0
movaps xmm0, xmmword [0x7e52c0]
movups xmmword [ebp - 0x234], xmm0
call fcn.004131e0
push eax
lea ecx, [ebp - 0x628]
call fcn.00406b50
lea eax, [ebp - 0x628]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x370]
call fcn.00451d00
movups xmm1, xmmword [ebp - 0x518]
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 0x22
movaps xmm0, xmm1
psrldq xmm1, 0xc
psrldq xmm0, 8
movd dword [eax], xmm0
movd dword [eax + 4], xmm1
call fcn.00407a10
lea ecx, [ebp - 0x46c]
call fcn.0044a000
push 0xb0
lea eax, [ebp - 0x2fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2fc], 0x7d6f90
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ec], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x4e4]
or eax, 0xf80
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x2e4]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 0x4c
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x2fc], 0x7c81a4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x300], eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x2e4], 0x7c8164
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5bc], 0x28
mov dword [ebp - 0x5b8], 0xf900f2
mov dword [ebp - 0x5b4], 0xcd00c8
mov dword [ebp - 0x5b0], 0xe300c3
mov dword [ebp - 0x5ac], 0xdc00ce
mov dword [ebp - 0x5a8], 0xd300c6
mov dword [ebp - 0x5a4], 0xd100c1
mov dword [ebp - 0x5a0], 0x9600e8
mov dword [ebp - 0x59c], 0xd100f1
mov dword [ebp - 0x598], 0xd300d7
mov dword [ebp - 0x594], 0xd400c8
mov dword [ebp - 0x590], 0xda00d8
mov dword [ebp - 0x58c], 0xb3009f
mov dword [ebp - 0x588], 0xa300a2
mov dword [ebp - 0x584], 0xe400ad
mov dword [ebp - 0x580], 0xb600a4
mov dword [ebp - 0x57c], 0xa400b7
mov dword [ebp - 0x578], 0xa900a0
mov dword [ebp - 0x574], 0xb800aa
mov dword [ebp - 0x570], 0xa100a4
mov dword [ebp - 0x56c], 0xa300a1
mov dword [ebp - 0x568], 0xd1
call fcn.00403e20
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044f0e0
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x103
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x22
call fcn.00406480
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x44cd22
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x44c321
mov ecx, dword [ebp - 0x62c]
lea eax, [ebp - 0x37c]
push eax
call fcn.004514c0
lea ecx, [ebp - 0x314]
call fcn.00407a10
lea ecx, [ebp - 0x32c]
call fcn.007727c0
lea ecx, [ebp - 0x4e0]
call fcn.00430850
lea ecx, [ebp - 0x46c]
call fcn.00449d20
lea ecx, [ebp - 0x224]
call fcn.00451fe0
lea ecx, [ebp - 0x224]
call fcn.00451f20
lea ecx, [ebp - 0x248]
call fcn.00404220
lea ecx, [ebp - 0x37c]
call fcn.0044a1c0
lea ecx, [ebp + 0x10]
call fcn.00451e50
lea ecx, [ebp + 0x38]
call fcn.00451e50
mov eax, dword [ebp - 0x62c]
jmp 0x44ccca
lea eax, [ebp - 0x518]
push eax
call fcn.0044f2a0
mov ecx, eax
call fcn.004131e0
push eax
lea ecx, [ebp - 0x23c]
call fcn.00406b50
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x46c]
call fcn.00449e80
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00407a10
sub esp, 0x28
lea eax, [ebp - 0x32c]
mov ecx, esp
lea edx, [ebp - 0x37c]
push eax
push edx
call fcn.004521c0
lea eax, [ebp - 0x558]
push eax
call fcn.00449680
add esp, 0x2c
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x620]
push eax
movups xmmword [ebp - 0x518], xmm0
call fcn.0044f2a0
mov ecx, eax
call fcn.004131e0
push eax
lea ecx, [ebp - 0x23c]
call fcn.00406b50
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x370]
call fcn.00451d00
movups xmm1, xmmword [ebp - 0x518]
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
movaps xmm0, xmm1
psrldq xmm1, 0xc
psrldq xmm0, 8
movd dword [eax], xmm0
movd dword [eax + 4], xmm1
call fcn.00407a10
lea ecx, [ebp - 0x46c]
call fcn.0044a000
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.004064c0
push 1
push 3
lea ecx, [ebp - 0x2fc]
call fcn.00406d70
lea eax, [ebp - 0x714]
mov byte [ebp - 4], 0x50
push eax
call fcn.0044fc30
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044fcf0
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x142
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x22
call fcn.00406480
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.004064c0
push 1
push 3
lea ecx, [ebp - 0x2fc]
call fcn.00406d70
lea eax, [ebp - 0x5bc]
mov byte [ebp - 4], 0x51
push eax
call fcn.0044feb0
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0044ff60
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x145
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x22
call fcn.00406480
push 0x7cf388
lea ecx, [ebp - 0x394]
call fcn.004040b0
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x224]
mov eax, dword [esi]
mov dword [ebp - 0x24c], eax
cmp eax, esi
je 0x44c73e
nop word [eax + eax]
lea edi, [eax + 0x10]
lea edx, [edi + 0x18]
mov dword [ebp - 0x508], edi
lea ecx, [ebp - 0x528]
call fcn.004521e0
push edi
lea ecx, [ebp - 0x370]
call fcn.00451c50
lea ecx, [ebp - 0x644]
push dword [eax + 4]
push dword [eax]
call fcn.00439b20
add esp, 8
mov dword [ebp - 0x564], eax
lea eax, [ebp - 0x4fc]
mov byte [ebp - 4], 0x53
push eax
call fcn.00450170
mov ecx, eax
call fcn.00403e20
push dword [ebp - 0x524]
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x4e4], eax
push dword [ebp - 0x528]
call fcn.00439b20
add esp, 8
mov dword [ebp - 0x544], eax
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 0x54
push eax
call fcn.00450120
mov ecx, eax
call fcn.00403e20
push dword [ebp - 0x508]
mov edi, eax
lea eax, [ebp - 0x6b0]
push eax
call fcn.004057b0
push edi
push eax
lea eax, [ebp - 0x698]
mov byte [ebp - 4], 0x55
push eax
call fcn.00408060
push dword [ebp - 0x544]
mov byte [ebp - 4], 0x56
push eax
lea eax, [ebp - 0x680]
push eax
call fcn.00413490
push 0x7d94e0
push eax
lea eax, [ebp - 0x540]
mov byte [ebp - 4], 0x57
push eax
call fcn.00408060
mov byte [ebp - 4], 0x58
push dword [ebp - 0x4e4]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.00408060
push dword [ebp - 0x564]
mov byte [ebp - 4], 0x59
push eax
lea eax, [ebp - 0x560]
push eax
call fcn.00413490
add esp, 0x44
push 0x7d94e0
push eax
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x520]
push eax
call fcn.00408060
push 0x7d94d8
push eax
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 0x5b
push eax
call fcn.00408060
add esp, 0x18
push eax
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 0x5c
call fcn.004079f0
lea ecx, [ebp - 0x23c]
call fcn.00404490
lea ecx, [ebp - 0x520]
call fcn.00404490
lea ecx, [ebp - 0x560]
call fcn.00404490
lea ecx, [ebp - 0x628]
call fcn.00404490
lea ecx, [ebp - 0x540]
call fcn.00404490
lea ecx, [ebp - 0x680]
call fcn.00404490
lea ecx, [ebp - 0x698]
call fcn.00404490
lea ecx, [ebp - 0x6b0]
call fcn.00404490
lea ecx, [ebp - 0x65c]
call fcn.00404490
lea ecx, [ebp - 0x644]
mov byte [ebp - 4], 0x52
call fcn.00404490
lea ecx, [ebp - 0x24c]
call fcn.004284e0
mov eax, dword [ebp - 0x24c]
cmp eax, esi
jne 0x44c560
mov edx, dword [ebp - 0x610]
lea ecx, [ebp - 0x65c]
call fcn.00410d10
mov esi, eax
lea eax, [ebp - 0x504]
mov byte [ebp - 4], 0x5d
push eax
call fcn.004501b0
mov ecx, eax
call fcn.00403e20
push esi
push eax
lea eax, [ebp - 0x644]
push eax
call fcn.00413810
add esp, 0xc
push eax
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 0x5e
call fcn.004079f0
lea ecx, [ebp - 0x644]
call fcn.00404490
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 0x52
call fcn.00404490
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.004064c0
push 1
push 3
lea ecx, [ebp - 0x2fc]
call fcn.00406d70
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 0x5f
push eax
call fcn.00450200
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00450290
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x14f
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x52
call fcn.00406480
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.004064c0
push 1
push 3
lea ecx, [ebp - 0x2fc]
call fcn.00406d70
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 0x60
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404930
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00450450
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x150
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x52
call fcn.00406480
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.004064c0
push 1
push 3
lea ecx, [ebp - 0x2fc]
call fcn.00406d70
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 0x61
push eax
call fcn.00450200
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00450610
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x758]
push eax
call fcn.0044cdf0
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0x2fc]
push ecx
push esi
push 0x151
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x52
call fcn.00406480
mov ecx, dword [ebp - 0x62c]
lea eax, [ebp - 0x37c]
push eax
call fcn.004514c0
lea ecx, [ebp - 0x394]
call fcn.00404490
lea ecx, [ebp - 0x314]
call fcn.00407a10
lea ecx, [ebp - 0x32c]
call fcn.007727c0
lea ecx, [ebp - 0x4e0]
call fcn.00430850
lea ecx, [ebp - 0x46c]
call fcn.00449d20
lea ecx, [ebp - 0x224]
call fcn.0044a070
jmp 0x44c2f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret 0x58
lea eax, [ebp - 0x58c]
push eax
call fcn.0044d160
mov ecx, eax
call fcn.004131e0
push eax
lea ecx, [ebp - 0x668]
call fcn.004141a0
push 0x826a74
lea eax, [ebp - 0x668]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3