Function at 0x72d7e0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7bb8e8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xfa8
mov eax, dword [0x82f184]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xdc0], edi
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x220]
push edi
mov dword [ebp - 0xdd8], eax
mov dword [ebp - 0xdbc], 0
call fcn.0043cd20
lea eax, [edi + 0x30]
mov dword [ebp - 4], 0
mov dword [ebp - 0xddc], eax
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0xeac]
push eax
call fcn.0043cdd0
mov ecx, dword [edi + 0x9c]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xe30], esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xe48], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xe38], xmm0
cmp ecx, 1
je 0x72d8d1
cmp ecx, 2
je 0x72d8d1
cmp dword [eax + 0x10], 0
jne 0x72d913
cmp dword [eax + 0x14], 0
jne 0x72d913
mov ecx, esi
test ecx, ecx
je 0x72d8b1
cmp ecx, 0xa
jne 0x72d913
cmp byte [eax + 8], 0
jne 0x72d913
lea eax, [ebp - 0xe48]
push eax
lea ecx, [ebp - 0xda1]
call fcn.00725560
mov esi, dword [ebp - 0xe30]
jmp 0x72d913
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
mov dword [ebp - 0x24], edx
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64_s]
mov eax, dword [ebp - 0x68]
add esp, 0xc
mov dword [ebp - 0xe38], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xe3c], 0
mov byte [ebp - 0xe40], 1
mov dword [ebp - 0xe34], eax
movups xmm0, xmmword [ebp - 0xe48]
lea eax, [ebp - 0xe14]
mov dword [ebp - 0xdfc], esi
push eax
movups xmmword [ebp - 0xe14], xmm0
lea ecx, [ebp - 0x220]
movq xmm0, qword [ebp - 0xe38]
movq qword [ebp - 0xe04], xmm0
call fcn.0043cf90
mov eax, dword [ebp - 0xdd8]
cmp byte [eax + 0x35], 0
je 0x72d970
lea eax, [ebp - 0xe44]
push eax
lea ecx, [ebp - 0x220]
call fcn.0043cdd0
cmp byte [eax], 0
je 0x72f734
call fcn.00451090
mov ecx, eax
call fcn.004601e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x90], xmm0
call fcn.00451090
push dword [ebp - 0xdb8]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], 0
push eax
mov dword [ebp - 0x8c], 0
call fcn.0071cf30
mov eax, dword [edi + 0x9c]
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push edi
mov byte [ebp - 4], 1
mov byte [ebp - 0x20], 1
call fcn.004662c0
push 0x70
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 2
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [edi + 0x128]
call fcn.00430710
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00430200
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x30], 0xcb00c8
mov dword [ebp - 0x2c], 0xbb00d5
nop dword [eax]
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0x30], ax
inc ecx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
jb 0x72da20
xor ecx, ecx
mov word [ebp + eax*2 - 0x30], cx
lea eax, [ebp - 0xe48]
push eax
lea ecx, [ebp - 0x280]
call fcn.00466500
mov dword [ebp - 0xdb8], 0xcf
cmp dword [eax], 1
jne 0x72dabb
mov ecx, dword [ebp - 0xdb8]
mov eax, 4
mov word [ebp - 0xdc8], cx
xor ecx, ecx
mov dword [ebp - 0xdd0], eax
mov dword [ebp - 0xdcc], 0xcb00cc
mov dword [ebp - 0xdc6], 0xbc00de
mov word [ebp - 0xdc2], cx
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xdcc], ax
inc ecx
mov eax, dword [ebp - 0xdd0]
cmp ecx, eax
jb 0x72da90
xor ecx, ecx
lea esi, [ebp - 0xdcc]
mov word [ebp + eax*2 - 0xdcc], cx
jmp 0x72dafd
mov dword [ebp - 0x4c], 5
xor ecx, ecx
mov dword [ebp - 0x48], 0xd800de
mov dword [ebp - 0x44], 0xc800d6
mov dword [ebp - 0x40], 0xbd00d9
nop dword [eax]
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0x48], ax
inc ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
jb 0x72dae0
xor ecx, ecx
lea esi, [ebp - 0x48]
mov word [ebp + eax*2 - 0x48], cx
xor eax, eax
mov dword [ebp - 0xe18], 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xe14], 7
mov word [ebp - 0xe28], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x72db20
sub ecx, edx
lea eax, [ebp - 0x30]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xe28]
call fcn.004044f0
mov ecx, esi
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0xe00], 0
mov dword [ebp - 0xdfc], 7
mov word [ebp - 0xe10], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x72db65
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xe10]
call fcn.004044f0
push dword [ebp - 0xdb8]
lea eax, [ebp - 0xdf8]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xe28]
mov dword [ebp - 0x28], 0
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.0046e4d0
push dword [ebp - 0xdb8]
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 6
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x390]
call fcn.00472640
lea ecx, [ebp - 0x28]
call fcn.00420a90
push fcn.00420a60
push 1
push 0x30
lea eax, [ebp - 0xe28]
mov byte [ebp - 4], 3
push eax
call fcn.0076d1e5
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [edi + 0x128]
call fcn.004306f0
mov ecx, edi
call fcn.0072cf40
lea eax, [edi + 0x278]
mov dword [ebp - 0xde0], eax
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0xe44]
push eax
call fcn.0043cdd0
mov dword [ebp - 0xdb0], eax
lea eax, [ebp - 0xdf8]
push eax
call fcn.0066cf10
mov edi, eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 7
push eax
call fcn.0066cfa0
add esp, 8
mov esi, eax
lea eax, [ebp - 0xe18]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x280]
call fcn.00466500
push dword [ebp - 0xdb0]
mov ecx, dword [ebp - 0xdd8]
push edi
push esi
push eax
mov cl, byte [ecx + 0x35]
push ecx
push dword [ebp - 0xddc]
mov ecx, dword [ebp - 0xde0]
call fcn.0073c460
mov edx, dword [ebp - 0x50]
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x72dccf
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72dcc5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72dcc5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
mov edx, dword [ebp - 0xde4]
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x72dd29
mov ecx, dword [ebp - 0xdf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72dd1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72dd1f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
mov eax, 0xa
mov dword [ebp - 0xdcc], 0xc9dbcce9
mov dword [ebp - 0xdd0], eax
xor ecx, ecx
mov dword [ebp - 0xdc8], 0xd6cad3dd
mov dword [ebp - 0xdc4], 0xc2a4ae
mov al, cl
sub al, 0x48
xor byte [ebp + ecx - 0xdcc], al
inc ecx
mov eax, dword [ebp - 0xdd0]
cmp ecx, eax
jb 0x72dd54
mov byte [ebp + eax - 0xdcc], 0
lea ecx, [ebp - 0xe78]
lea eax, [ebp - 0xdcc]
mov dword [ebp - 0xdb0], eax
lea eax, [ebp - 0xdb0]
push 0
push eax
call fcn.0041bf60
lea eax, [ebp - 0xe60]
mov byte [ebp - 4], 9
push eax
call fcn.0041d450
add esp, 4
lea ecx, [ebp - 0xea8]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.00414d60
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00404120
lea eax, [ebp - 0xe78]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x64]
call fcn.00414b80
push eax
lea ecx, [ebp - 0xe90]
call fcn.00404120
lea ecx, [ebp - 0x64]
call fcn.00404490
lea eax, [ebp - 0xe90]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xdf8]
call fcn.00404120
lea eax, [ebp - 0xe44]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x220]
call fcn.0043cdd0
push eax
lea eax, [ebp - 0xdf8]
push eax
lea ecx, [ebp - 0x318]
call fcn.00444640
mov edx, dword [ebp - 0xde4]
mov byte [ebp - 4], 0x10
cmp edx, 8
jb 0x72de70
mov ecx, dword [ebp - 0xdf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72de66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72de66
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
xor eax, eax
mov dword [ebp - 0xde8], 0
mov dword [ebp - 0xde4], 7
mov word [ebp - 0xdf8], ax
lea ecx, [ebp - 0xe90]
call fcn.00404490
lea ecx, [ebp - 0xea8]
call fcn.00404490
lea ecx, [ebp - 0xe60]
call fcn.00404490
lea ecx, [ebp - 0xe78]
mov byte [ebp - 4], 0x14
call fcn.00404490
lea ecx, [ebp - 0x318]
call fcn.00444e00
push 0xa8
lea eax, [ebp - 0x4c0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x318]
lea ecx, [ebp - 0x4c0]
push eax
call fcn.00453130
xorps xmm0, xmm0
mov byte [ebp - 4], 0x15
mov eax, 6
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0xdd4], eax
xor ecx, ecx
mov dword [ebp - 0xdd0], 0xfa00ea
mov dword [ebp - 0xdcc], 0xfa00fe
mov dword [ebp - 0xdc8], 0xfc00e8
mov dword [ebp - 0xdc4], 0xbe
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xdd0], ax
inc ecx
mov eax, dword [ebp - 0xdd4]
cmp ecx, eax
jb 0x72df31
xor ecx, ecx
mov word [ebp + eax*2 - 0xdd0], cx
xor eax, eax
mov dword [ebp - 0xe80], ecx
lea ecx, [ebp - 0xdd0]
mov dword [ebp - 0xe7c], 7
lea edx, [ecx + 2]
mov word [ebp - 0xe90], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x72df76
sub ecx, edx
lea eax, [ebp - 0xdd0]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xe90]
call fcn.004044f0
mov byte [ebp - 4], 0x16
xor ecx, ecx
mov dword [ebp - 0xe5c], 7
mov dword [ebp - 0xe58], 0xdd00d5
mov dword [ebp - 0xe54], 0x9500d8
mov dword [ebp - 0xe50], 0xdc00d8
mov dword [ebp - 0xe4c], 0xbf00ca
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xe58], ax
inc ecx
mov eax, dword [ebp - 0xe5c]
cmp ecx, eax
jb 0x72dfd0
xor ecx, ecx
mov word [ebp + eax*2 - 0xe58], cx
lea ecx, [ebp - 0xe58]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x72e000
sub ecx, edx
mov dword [ebp - 0x54], 0
xor eax, eax
sar ecx, 1
mov word [ebp - 0x64], ax
lea eax, [ebp - 0xe58]
push ecx
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 7
call fcn.004044f0
mov edi, dword [ebp - 0xdc0]
lea eax, [ebp - 0xe40]
push eax
mov byte [ebp - 4], 0x17
mov esi, dword [edi + 0x120]
call fcn.0041d450
add esp, 4
lea ecx, [ebp - 0xe10]
mov byte [ebp - 4], 0x18
push ecx
mov ecx, eax
call fcn.00414d60
push eax
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x19
call fcn.00404120
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0xdf8]
call fcn.00414b80
push eax
lea ecx, [ebp - 0xea8]
call fcn.00404120
lea ecx, [ebp - 0xdf8]
call fcn.00404490
xor eax, eax
mov byte [ebp - 4], 0x1b
push eax
push 0x7cd378
lea ecx, [ebp - 0xe78]
mov dword [ebp - 0xe68], 0
mov dword [ebp - 0xe64], 7
mov word [ebp - 0xe78], ax
call fcn.004044f0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1c
push eax
call fcn.0066ca10
add esp, 4
lea ecx, [ebp - 0xe78]
mov byte [ebp - 4], 0x1d
push ecx
push eax
lea ecx, [ebp - 0xfb8]
call fcn.0042e370
push 0x67
lea ecx, [ebp - 0xe90]
mov byte [ebp - 4], 0x1e
push ecx
lea ecx, [ebp - 0xea8]
push ecx
push eax
mov ecx, esi
call fcn.0046fbd0
push dword [ebp - 0xdb8]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
mov dword [ebp - 0x20], 0
call fcn.0071d070
lea ecx, [ebp - 0xfb8]
call fcn.00430170
lea ecx, [ebp - 0x34]
call fcn.00404220
mov edx, dword [ebp - 0xe64]
mov byte [ebp - 4], 0x22
cmp edx, 8
jb 0x72e189
mov ecx, dword [ebp - 0xe78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e17f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e17f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
xor eax, eax
mov dword [ebp - 0xe68], 0
mov dword [ebp - 0xe64], 7
mov word [ebp - 0xe78], ax
lea ecx, [ebp - 0xea8]
call fcn.00404490
lea ecx, [ebp - 0xe10]
call fcn.00404490
lea ecx, [ebp - 0xe40]
call fcn.00404490
lea ecx, [ebp - 0x64]
call fcn.00404490
mov edx, dword [ebp - 0xe7c]
mov byte [ebp - 4], 0x27
cmp edx, 8
jb 0x72e215
mov ecx, dword [ebp - 0xe90]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e20b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e20b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
mov esi, dword [edi + 0x120]
lea ecx, [ebp - 0xdf8]
xor eax, eax
mov dword [ebp - 0xe80], 0
push eax
xorps xmm0, xmm0
mov dword [ebp - 0xe7c], 7
push 0x7cd378
mov word [ebp - 0xe90], ax
movlpd qword [ebp - 0x44], xmm0
mov dword [ebp - 0xde8], eax
mov dword [ebp - 0xde4], 7
mov word [ebp - 0xdf8], ax
call fcn.004044f0
lea eax, [ebp - 0xdcc]
mov byte [ebp - 4], 0x28
push eax
call fcn.0066cbd0
add esp, 4
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x29
push ecx
push eax
lea ecx, [ebp - 0xf28]
call fcn.0042e370
lea eax, [ebp - 0xf28]
mov byte [ebp - 4], 0x2a
push eax
mov ecx, esi
call fcn.00471f60
push dword [ebp - 0xdb8]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
push eax
mov dword [ebp - 0x40], 0
call fcn.0071cfd0
lea ecx, [ebp - 0xf28]
call fcn.00430170
lea ecx, [ebp - 0xdcc]
call fcn.00404220
mov edx, dword [ebp - 0xde4]
mov byte [ebp - 4], 0x2e
cmp edx, 8
jb 0x72e31d
mov ecx, dword [ebp - 0xdf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e313
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e313
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
xor eax, eax
mov dword [ebp - 0xde8], 0
xorps xmm0, xmm0
mov dword [ebp - 0xde4], 7
push 0x14
mov word [ebp - 0xdf8], ax
movlpd qword [ebp - 0x88], xmm0
call fcn.0076d2e3
mov esi, eax
add esp, 4
mov dword [ebp - 0xdb0], esi
mov byte [ebp - 4], 0x2f
test esi, esi
je 0x72e3ce
mov edx, dword [ebp - 0x40]
sub esp, 8
mov dword [esi + 4], 1
mov ecx, esp
mov dword [esi + 8], 1
mov dword [esi], vtable._..8.0
mov dword [ecx], 0
mov dword [ecx + 4], 0
test edx, edx
je 0x72e390
lock inc dword [edx + 4]
mov eax, dword [ebp - 0x44]
sub esp, 8
mov dword [ecx + 4], edx
mov edx, esp
mov dword [ecx], eax
mov ecx, dword [ebp - 0x20]
mov dword [edx], 0
mov dword [edx + 4], 0
test ecx, ecx
je 0x72e3b5
lock inc dword [ecx + 4]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
lea eax, [ebp - 0x318]
mov dword [edx + 4], ecx
lea ecx, [esi + 0xc]
push eax
call fcn.00450b90
jmp 0x72e3d0
xor esi, esi
xorps xmm0, xmm0
lea eax, [esi + 0xc]
movlpd qword [ebp - 0x88], xmm0
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], esi
push 0x1b0
lea eax, [ebp - 0x670]
mov byte [ebp - 4], 0x30
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [edi + 0x120]
lea ecx, [ebp - 0xdf8]
add esp, 0xc
mov dword [ebp - 0xde8], 0
xor eax, eax
mov dword [ebp - 0xde4], 7
mov word [ebp - 0xdf8], ax
push eax
push 0x7cd378
call fcn.004044f0
lea eax, [ebp - 0xdcc]
mov byte [ebp - 4], 0x31
push eax
call fcn.0066cd30
add esp, 4
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x32
push ecx
push eax
lea ecx, [ebp - 0xf28]
call fcn.0042e370
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0xf28]
mov ecx, esi
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.00471880
lea ecx, [ebp - 0xf28]
call fcn.00430170
lea ecx, [ebp - 0xdcc]
call fcn.00404220
mov edx, dword [ebp - 0xde4]
mov byte [ebp - 4], 0x37
cmp edx, 8
jb 0x72e4de
mov ecx, dword [ebp - 0xdf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e4d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e4d4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
xor eax, eax
mov dword [ebp - 0xde8], 0
mov word [ebp - 0xdf8], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x34]
mov dword [ebp - 0xde4], 7
push eax
movlpd qword [ebp - 0x80], xmm0
call fcn.0066c7f0
mov dword [ebp - 0xdb0], eax
push 0x7c
mov byte [ebp - 4], 0x38
call fcn.0076d2e3
mov edi, eax
add esp, 8
mov dword [ebp - 0xdb4], edi
mov byte [ebp - 4], 0x39
test edi, edi
je 0x72e5e3
xor eax, eax
mov dword [edi + 4], 1
push eax
push 0x7cd378
lea ecx, [ebp - 0x64]
mov dword [edi + 8], 1
mov dword [edi], vtable..9.0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
call fcn.004044f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x3a
push eax
push dword [ebp - 0xdb0]
lea ecx, [ebp - 0xf28]
call fcn.0042e370
lea eax, [ebp - 0xf28]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0xc]
call fcn.00735ca0
lea ecx, [ebp - 0xf28]
call fcn.00430170
mov edx, dword [ebp - 0x50]
mov byte [ebp - 4], 0x39
cmp edx, 8
jb 0x72e5e5
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e5d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e5d7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
jmp 0x72e5e5
xor edi, edi
xorps xmm0, xmm0
lea eax, [edi + 0xc]
movlpd qword [ebp - 0x80], xmm0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3d
call fcn.00404220
xorps xmm0, xmm0
push 0x598
movlpd qword [ebp - 0x3c], xmm0
call fcn.0076d2e3
mov esi, eax
add esp, 4
mov dword [ebp - 0xdb0], esi
mov edi, dword [ebp - 0xdc0]
mov byte [ebp - 4], 0x3e
test esi, esi
je 0x72e66a
push dword [ebp - 0xddc]
lea eax, [ebp - 0x80]
mov dword [esi + 4], 1
push eax
push dword [ebp - 0xde0]
lea eax, [ebp - 0x670]
mov dword [esi + 8], 1
push eax
lea eax, [ebp - 0x280]
mov dword [esi], vtable..10.0
push eax
lea ecx, [esi + 0x10]
push edi
call fcn.00735610
jmp 0x72e66c
xor esi, esi
xorps xmm0, xmm0
lea eax, [esi + 0x10]
movlpd qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], esi
push 0x38
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0x3f
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x370]
call fcn.004690f0
sub esp, 8
mov byte [ebp - 4], 0x40
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x72e6c0
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x370]
push eax
mov ecx, edi
call fcn.0072bc80
sub esp, 0x28
lea ecx, [edi + 0x280]
mov eax, esp
mov dword [eax], vtable.Q.0
mov dword [eax + 4], edi
mov dword [eax + 0x24], eax
call fcn.0046b860
mov ecx, dword [ebp - 0xdd8]
sub esp, 0x28
imul eax, dword [ecx + 0x5c], 0x3e8
cdq
mov dword [ebp - 0xdb0], eax
mov esi, edx
imul eax, dword [ecx + 0x58], 0x3e8
mov ecx, esp
sub esp, 0x28
mov dword [ecx], vtable.7_.0
cdq
mov edi, eax
mov eax, dword [ebp - 0xdc0]
mov dword [ecx + 4], eax
mov eax, esp
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0xdc0]
push esi
push dword [ebp - 0xdb0]
mov dword [eax], vtable._.13.0
push edx
push edi
lea ecx, [ecx + 0x280]
mov dword [eax + 0x24], eax
call fcn.0046e0a0
push 0xb0
lea eax, [ebp - 0x168]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x168], 0x7d4f80
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x158], 0x7d5218
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 - 0x150]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x168]
mov dword [ebp - 0xdbc], 0x3fe
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 eax, dword [ebp - 0x168]
mov dword [ebp - 4], 0x42
mov eax, dword [eax + 4]
mov dword [ebp + eax - method..7.virtual_0], vtable..7.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x150]
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 - 0x150], 0x7c6164
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0xddc]
lea eax, [ebp - 0xea8]
push eax
mov byte [ebp - 4], 0x43
call fcn.00730010
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x44
cmp dword [eax + 0x14], 8
jb 0x72e82a
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00404c80
mov edx, dword [ebp - 0xe94]
add esp, 0xc
mov byte [ebp - 4], 0x43
cmp edx, 8
jb 0x72e881
mov ecx, dword [ebp - 0xea8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72e877
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72e877
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
call fcn.00434600
mov dword [ebp - 0xdb4], eax
lea ecx, [ebp - 0xda1]
lea eax, [ebp - 0xf40]
push eax
call fcn.007255c0
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0xdb0], edi
test edx, edx
je 0x72e8c2
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72e8b1
xor eax, eax
lea ecx, [ebp - 0xda1]
mov word [edi + edx*2], ax
lea eax, [ebp - 0xfb8]
push eax
call fcn.00720290
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea eax, [esi + 4]
mov dword [ebp - 0xdbc], eax
test edx, edx
je 0x72e90d
mov edi, eax
nop
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72e8f0
mov edi, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdbc]
xor ecx, ecx
mov word [eax + edx*2], cx
lea ecx, [ebp - 0x168]
push ecx
mov ecx, dword [ebp - 0xdb4]
push edi
push 0x17c
push eax
push 1
call fcn.00469240
mov eax, dword [ebp - 0x168]
mov byte [ebp - 4], 0x40
mov eax, dword [eax + 4]
mov dword [ebp + eax - method..7.virtual_0], vtable..7.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x150]
call fcn.004073e0
lea ecx, [ebp - 0x148]
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 - 0x100]
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 - 0x168]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x168], 0x7d4f80
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x158], 0x7d5218
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 - 0x150]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [ebp - 0x168]
mov dword [ebp - 0xdbc], 0x7fe
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 eax, dword [ebp - 0x168]
mov dword [ebp - 4], 0x46
mov eax, dword [eax + 4]
mov dword [ebp + eax - method..7.virtual_0], vtable..7.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x150]
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 - 0x150], 0x7c6164
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov eax, 0xa
mov byte [ebp - 4], 0x47
mov dword [ebp - 0xe44], eax
xor ecx, ecx
mov dword [ebp - 0xe40], 0xca00ed
mov dword [ebp - 0xe3c], 0xc900df
mov dword [ebp - 0xe38], 0xee009c
mov dword [ebp - 0xe34], 0xfb00f7
mov dword [ebp - 0xe30], 0xe100fa
mov dword [ebp - 0xe2c], 0xc2
nop word [eax + eax]
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xe40], ax
inc ecx
mov eax, dword [ebp - 0xe44]
cmp ecx, eax
jb 0x72ea80
xor ecx, ecx
mov word [ebp + eax*2 - 0xe40], cx
lea eax, [ebp - 0xe40]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00404740
mov esi, eax
lea eax, [ebp - 0xea8]
push eax
call fcn.004206b0
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x48
jb 0x72ead6
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00404c80
mov edx, dword [ebp - 0xe94]
add esp, 0xc
mov byte [ebp - 4], 0x47
cmp edx, 8
jb 0x72eb27
mov ecx, dword [ebp - 0xea8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x72eb1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x72eb1d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0076d313
add esp, 8
call fcn.00434600
mov dword [ebp - 0xdb4], eax
lea ecx, [ebp - 0xda1]
lea eax, [ebp - 0xf40]
push eax
call fcn.007233a0
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0xdb0], edi
test edx, edx
je 0x72eb71
nop word [eax + eax]
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72eb60
xor eax, eax
lea ecx, [ebp - 0xda1]
mov word [edi + edx*2], ax
lea eax, [ebp - 0xfb8]
push eax
call fcn.00720290
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea eax, [esi + 4]
mov dword [ebp - 0xdbc], eax
test edx, edx
je 0x72ebbd
mov edi, eax
nop
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72eba0
mov edi, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdbc]
xor ecx, ecx
mov word [eax + edx*2], cx
lea ecx, [ebp - 0x168]
push ecx
mov ecx, dword [ebp - 0xdb4]
push edi
push 0x17d
push eax
push 1
call fcn.00469240
mov eax, dword [ebp - 0x168]
mov byte [ebp - 4], 0x40
mov eax, dword [eax + 4]
mov dword [ebp + eax - method..7.virtual_0], vtable..7.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x150]
call fcn.004073e0
lea ecx, [ebp - 0x148]
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 - 0x100]
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 - 0x168]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x168]
push 1
push 3
call fcn.00406d70
mov eax, 0xc
mov byte [ebp - 4], 0x49
mov dword [ebp - 0xe18], eax
xor ecx, ecx
mov dword [ebp - 0xe14], 0xcc00fa
mov dword [ebp - 0xe10], 0xd700d3
mov dword [ebp - 0xe0c], 0x9d00d8
mov dword [ebp - 0xe08], 0xc600ca
mov dword [ebp - 0xe04], 0xa400b0
mov dword [ebp - 0xe00], 0xe300f8
mov dword [ebp - 0xdfc], 0xc4
nop dword [eax + eax]
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xe14], ax
inc ecx
mov eax, dword [ebp - 0xe18]
cmp ecx, eax
jb 0x72ecb0
xor ecx, ecx
mov word [ebp + eax*2 - 0xe14], cx
lea eax, [ebp - 0xe14]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00404740
mov esi, eax
lea eax, [ebp - 0xe40]
push eax
call fcn.0066cf10
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x4a
jb 0x72ed06
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00404c80
add esp, 0xc
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xe40]
call fcn.00404490
call fcn.00434600
mov dword [ebp - 0xdb4], eax
lea ecx, [ebp - 0xda1]
lea eax, [ebp - 0xf40]
push eax
call fcn.007207a0
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0xdb0], edi
test edx, edx
je 0x72ed61
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72ed50
xor eax, eax
lea ecx, [ebp - 0xda1]
mov word [edi + edx*2], ax
lea eax, [ebp - 0xfb8]
push eax
call fcn.00720290
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea eax, [esi + 4]
mov dword [ebp - 0xdbc], eax
test edx, edx
je 0x72edad
mov edi, eax
nop
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72ed90
mov edi, dword [ebp - 0xdb0]
mov eax, dword [ebp - 0xdbc]
xor ecx, ecx
mov word [eax + edx*2], cx
lea ecx, [ebp - 0x168]
push ecx
mov ecx, dword [ebp - 0xdb4]
push edi
push 0x17e
push eax
push 1
call fcn.00469240
mov eax, dword [ebp - 0x168]
mov byte [ebp - 4], 0x40
mov eax, dword [eax + 4]
mov dword [ebp + eax - method..7.virtual_0], vtable..7.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x150]
call fcn.004073e0
lea ecx, [ebp - 0x148]
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 - 0x100]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
xorps xmm0, xmm0
mov dword [ebp - 0x19c], 0
lea eax, [ebp - 0xe40]
push eax
movups xmmword [ebp - 0x1bc], xmm0
movups xmmword [ebp - 0x1ac], xmm0
call fcn.00660180
add esp, 4
push eax
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0x4b
call fcn.0046a480
lea ecx, [ebp - 0xe40]
mov byte [ebp - 4], 0x4d
call fcn.00404490
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
lea eax, [ebp - 0xea8]
push eax
movups xmmword [ebp - 0xb4], xmm0
movups xmmword [ebp - 0xa4], xmm0
call fcn.0041d450
add esp, 4
lea ecx, [ebp - 0xe10]
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, eax
call fcn.00414d60
push eax
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x4f
call fcn.004594d0
lea ecx, [ebp - 0xe10]
call fcn.00404490
lea ecx, [ebp - 0xea8]
mov byte [ebp - 4], 0x52
call fcn.00404490
xorps xmm0, xmm0
push 0x18
movlpd qword [ebp - 0x78], xmm0
call fcn.0076d2e3
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdb0], ecx
test ecx, ecx
je 0x72ef14
mov dword [ecx + 4], 1
mov dword [ecx + 8], 1
mov dword [ecx], 0x7c6260
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
jmp 0x72ef16
xor ecx, ecx
xorps xmm0, xmm0
lea eax, [ecx + 0xc]
movlpd qword [ebp - 0x78], xmm0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
push 0x730
lea eax, [ebp - 0xda0]
mov byte [ebp - 4], 0x53
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0xda0]
push dword [ebp - 0xddc]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x318]
push eax
push dword [ebp - 0xde0]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.00740760
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xda0]
push 0x30
push 0
mov byte [ebp - 4], 0x54
mov dword [eax + 0x144], ecx
lea eax, [ebp - 0x198]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0xeb4]
lea ecx, [ebp - 0xda1]
push eax
call fcn.0071ff40
mov edi, eax
xor ecx, ecx
mov edx, dword [edi]
lea esi, [edi + 4]
test edx, edx
je 0x72eff1
nop dword [eax]
lea eax, [ecx + 0xb8]
xor word [esi + ecx*2], ax
inc ecx
mov edx, dword [edi]
cmp ecx, edx
jb 0x72efe0
xor eax, eax
mov ecx, esi
mov word [esi + edx*2], ax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x72f010
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x64]
call fcn.004044f0
sub esp, 0x28
mov byte [ebp - 4], 0x55
mov eax, esp
lea ecx, [ebp - 0xda0]
push dword [ebp - 0xdc0]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x198]
mov dword [eax], vtable..14.0
mov dword [eax + 0x24], eax
lea eax, [ebp - 0x64]
push eax
call fcn.00478a70
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x57
call fcn.00404490
lea eax, [ebp - 0xe14]
push eax
lea ecx, [ebp - 0x220]
call fcn.0043cdd0
push 0x2c
mov edi, eax
call fcn.0076d2e3
mov esi, eax
mov dword [ebp - 0xddc], eax
add esp, 4
mov dword [ebp - 0xdb0], esi
mov byte [ebp - 4], 0x58
test esi, esi
je 0x72f0bf
push edi
lea eax, [ebp - 0x198]
mov dword [esi + 4], 1
lea ecx, [esi + 0xc]
mov dword [esi + 8], 1
push eax
mov dword [esi], fcn.004165d0
call fcn.0074d0a0
jmp 0x72f0c7
xor esi, esi
mov dword [ebp - 0xddc], esi
xorps xmm0, xmm0
mov dword [ebp - 0xdb0], 0x1ffe
movlpd qword [ebp - 0x30], xmm0
lea ecx, [esi + 0xc]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 0x59
lea eax, [esi + 4]
test esi, esi
je 0x72f0f7
lock inc dword [eax]
test esi, esi
je 0x72f0f7
lock inc dword [eax]
mov dword [ebp - 0xb20], ecx
or edi, 0xffffffff
mov ecx, dword [ebp - 0xb1c]
mov dword [ebp - 0xdb4], ecx
mov dword [ebp - 0xb1c], esi
test ecx, ecx
je 0x72f137
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x72f137
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0xdb4]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x72f137
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x72f15c
mov eax, edi
lea ecx, [esi + 4]
lock xadd dword [ecx], eax
jne 0x72f15c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f15c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x220]
call fcn.0043cdd0
mov eax, dword [ebp - 0xdd8]
mov byte [ebp - 0xdb4], 0
mov byte [ebp - 0xdbc], 1
cmp byte [eax + 0x35], 0
je 0x72f19d
cmp byte [ebp - 0x333], 0
je 0x72f19d
mov dword [ebp - 0xd98], 1
jmp 0x72f1cb
mov eax, dword [ebp - 0xdc0]
mov eax, dword [eax + 0x9c]
cmp eax, 1
je 0x72f1b3
cmp eax, 2
jne 0x72f1c4
mov dword [ebp - 0xd98], 2
mov byte [ebp - 0xdb4], 1
mov byte [ebp - 0xdbc], 0
push dword [ebp - 0xdbc]
lea eax, [ebp - 0xeac]
push dword [ebp - 0xdb4]
lea ecx, [ebp - 0x220]
push eax
call fcn.0043cdd0
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.0047af90
push 0x38
lea eax, [ebp - 0x418]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x1c
lea ecx, [ebp - 0x418]
call fcn.004690f0
mov eax, dword [ebp - 0xdc0]
mov byte [ebp - 4], 0x5a
cmp dword [eax + 0x94], 0
je 0x72f25d
lea eax, [ebp - 0xe10]
push eax
call fcn.0066cfa0
push eax
mov eax, dword [ebp - 0xdc0]
add eax, 0x84
mov dword [ebp - 0xdb0], 0x1fff
push eax
call fcn.0041bf20
add esp, 0xc
mov byte [ebp - 0xdb4], 1
test al, al
jne 0x72f264
mov byte [ebp - 0xdb4], 0
test byte [ebp - 0xdb0], 1
je 0x72f278
lea ecx, [ebp - 0xe10]
call fcn.00404490
push dword [ebp - 0xdb4]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0xde0]
lea eax, [ebp - 0xda0]
push eax
push 1
call fcn.00768470
push 0xb0
lea eax, [ebp - 0x168]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x24
lea ecx, [ebp - 0x168]
push 1
push 3
call fcn.00406d70
mov eax, dword [ebp - 0xdb8]
xor ecx, ecx
mov word [ebp - 0xe0c], ax
mov eax, 0xc5
mov byte [ebp - 4], 0x5b
mov dword [ebp - 0xe18], 0xd
mov dword [ebp - 0xe14], 0xec00ff
mov dword [ebp - 0xe10], 0x9b00f3
mov dword [ebp - 0xe0a], 0xcb00d5
mov dword [ebp - 0xe06], 0xe000cb
mov dword [ebp - 0xe02], 0xad00a5
mov dword [ebp - 0xdfe], 0xaa00b4
mov word [ebp - 0xdfa], ax
nop word [eax + eax]
lea eax, [ecx + 0xb8]
xor word [ebp + ecx*2 - 0xe14], ax
inc ecx
mov eax, dword [ebp - 0xe18]
cmp ecx, eax
jb 0x72f330
xor ecx, ecx
mov word [ebp + eax*2 - 0xe14], cx
lea eax, [ebp - 0xe14]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00404740
add esp, 8
call fcn.00434600
mov dword [ebp - 0xdb4], eax
lea ecx, [ebp - 0xda1]
lea eax, [ebp - 0xf40]
push eax
call fcn.00720570
mov dword [ebp - 0xdb8], eax
mov edx, dword [eax]
lea ecx, [eax + 4]
mov dword [ebp - 0xdd8], ecx
xor ecx, ecx
test edx, edx
je 0x72f3bf
mov edi, dword [ebp - 0xdd8]
mov esi, eax
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72f3a5
mov esi, dword [ebp - 0xddc]
or edi, 0xffffffff
mov eax, dword [ebp - 0xdd8]
xor ecx, ecx
mov word [eax + edx*2], cx
lea eax, [ebp - 0xfb8]
push eax
lea ecx, [ebp - 0xda1]
call fcn.00720290
mov edx, eax
xor ecx, ecx
mov dword [ebp - 0xdb0], edx
lea eax, [edx + 4]
mov edx, dword [edx]
mov dword [ebp - 0xdb8], eax
test edx, edx
je 0x72f420
mov esi, dword [ebp - 0xdb0]
mov edi, eax
nop
lea eax, [ecx + 0xb8]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x72f400
mov esi, dword [ebp - 0xddc]
or edi, 0xffffffff
mov eax, dword [ebp - 0xdb8]
xor ecx, ecx
mov word [eax + edx*2], cx
lea ecx, [ebp - 0x168]
push ecx
push dword [ebp - 0xdd8]
mov ecx, dword [ebp - 0xdb4]
push 0x1b8
push eax
push 1
call fcn.00469240
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x5a
call fcn.00406480
mov ecx, dword [ebp - 0xde0]
call fcn.0073a330
lea ecx, [ebp - 0x418]
call fcn.00469110
test esi, esi
je 0x72f48e
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f48e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f48e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x16c]
test ecx, ecx
je 0x72f4b5
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x190]
cmp ecx, eax
setne al
push eax
call edx
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x198]
call fcn.0043ab80
lea ecx, [ebp - 0xda0]
call fcn.00742310
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x72f4f1
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f4f1
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f4f1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x4d
test esi, esi
je 0x72f5a6
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xdb8], eax
cmp esi, eax
je 0x72f560
add esi, 0x54
mov ecx, eax
mov al, byte [esi]
mov byte [ebp - 4], 0x5c
test al, al
js 0x72f549
movsx eax, al
mov byte [ebp - 0xda1], 0
mov ecx, dword [eax*4 + 0x7c6284]
lea eax, [ebp - 0xda1]
push eax
lea eax, [esi - 0x50]
push eax
call ecx
mov ecx, dword [ebp - 0xdb8]
add esp, 8
mov byte [esi], 0xff
add esi, 0x5c
mov byte [ebp - 4], 0x4d
lea eax, [esi - 0x54]
cmp eax, ecx
jne 0x72f518
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x94]
mov eax, 0xb21642c9
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x5c
push eax
push esi
call fcn.00404b80
add esp, 8
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
lea ecx, [ebp - 0xb4]
call fcn.00404490
lea ecx, [ebp - 0x1bc]
call fcn.0046a500
lea ecx, [ebp - 0x370]
call fcn.00469110
mov esi, dword [ebp - 0x38]
test esi, esi
je 0x72f5ed
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f5ed
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f5ed
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x72f613
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f613
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f613
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x670]
call fcn.00471bc0
mov esi, dword [ebp - 0x84]
test esi, esi
je 0x72f647
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f647
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f647
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x72f66d
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f66d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f66d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x72f693
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f693
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x72f693
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x4c0]
call fcn.00454060
lea ecx, [ebp - 0x2a0]
call fcn.00404490
lea ecx, [ebp - 0x2b8]
call fcn.00404490
lea ecx, [ebp - 0x2d0]
call fcn.00404490
lea ecx, [ebp - 0x2e8]
call fcn.00404490
lea ecx, [ebp - 0x300]
call fcn.00404490
lea ecx, [ebp - 0x318]
call fcn.00404490
lea ecx, [ebp - 0x3e0]
call fcn.00430170
lea ecx, [ebp - 0x250]
call fcn.00430150
lea ecx, [ebp - 0x268]
call fcn.00404490
lea ecx, [ebp - 0x280]
call fcn.00404490
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x72f734
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x72f734
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x72f734
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x1d8]
call fcn.00406b00
lea ecx, [ebp - 0x1f0]
call fcn.00406b00
lea ecx, [ebp - 0x208]
call fcn.00404490
lea ecx, [ebp - 0x220]
call fcn.00404490
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0076d59e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4