Function at 0x40c60b
Capabilities:
Delete file
Move file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x11a0
call fcn.005760a0
call 0x40c623
pop eax
mov esi, edx
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
lea ebx, [esp + 0x550]
mov ecx, ebx
push dword [eax + 4]
call fcn.00439efa
pop eax
mov ecx, ebx
call fcn.0045d60c
mov ecx, 0xf1
lea edi, [esp + 0x9f0]
push ecx
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0x100
push 0x20
pop edx
mov ecx, esi
push edi
push eax
mov edi, 0x100
call fcn.0045a86a
pop eax
pop ecx
mov eax, 0xf1
push eax
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, esi
push 0x20
pop edx
push ebx
push edi
call fcn.0045ae5e
pop eax
pop ecx
mov esi, 0xf4
lea edi, [esp + 0xfa4]
push esi
lea eax, [esp + 0x9f4]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [edi + esi]
push esi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, 1
mov byte [edi + 0x1e8], al
mov eax, 0xf1
push eax
push 0
lea eax, [esp + 0x9f8]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x10
pop edx
mov edi, dword [ebp + 8]
lea eax, [esp + 0x9f0]
mov ecx, edi
push eax
mov eax, pe_nt_image_headers32
push eax
call fcn.0045a86a
pop eax
pop ecx
mov eax, 0xf1
push eax
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, edi
push 0x10
pop edx
push ebx
mov eax, pe_nt_image_headers32
push eax
call fcn.0045ae5e
pop eax
pop ecx
lea edi, [esp + 0xdb8]
push esi
lea eax, [esp + 0x9f4]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [edi + esi]
push esi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, 1
mov byte [edi + 0x1e8], al
push 0x30
pop ecx
push 4
pop edx
call fcn.00406573
mov esi, eax
mov dword [eax], 0x697116
xor eax, eax
inc eax
mov dword [esi + 4], eax
mov dword [esi + 8], 0x5964aa
mov dword [esi + 0xc], 2
mov dword [esi + 0x10], 0x5964ac
mov dword [esi + 0x14], 3
mov dword [esi + 0x18], 0x5964af
mov dword [esi + 0x1c], 4
mov dword [esi + 0x20], 0x5964b3
mov dword [esi + 0x24], 5
mov dword [esi + 0x28], 0x5964b8
mov dword [esi + 0x2c], 6
mov dword [ebx], 0x5964c8
mov dword [ebx + 4], eax
and dword [ebx + 0x10], 0
mov dword [ebx + 8], ebx
and dword [ebx + 0xc], 0
lea edi, [esp + 0xc9c]
lea edx, [esp + 0x550]
mov ecx, edi
call fcn.00406419
push 0xc
pop ecx
push 4
pop edx
call fcn.00406573
xor ecx, ecx
mov dword [esp + 0x18], eax
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov cl, 1
mov byte [eax + 8], cl
mov ecx, dword [edi]
mov edx, dword [edi + 8]
mov ebx, dword [edi + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lock inc dword [eax]
jle 0x4123ff
push 6
pop ecx
call fcn.0043868e
mov edi, edx
mov dword [esp + 0x20], eax
push 0xc
pop ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x110], esi
rep movsd dword es:[edi], dword [esi]
mov edi, ebx
mov dword [esp + 0x90], 0x80000000
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 4]
cmp eax, 0x80000000
je 0x40c877
mov ebx, dword [esp + 8]
xor edx, edx
mov ecx, ebx
call fcn.00487eba
mov dword [esp + 0x90], eax
push ebx
push edi
mov dword [esp + 0x30], edx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
call fcn.0054fcd0
mov dword [esp + 0x58], eax
xor ecx, ecx
call fcn.0051e870
mov dword [esp + 0x398], eax
lock inc dword [eax]
jle 0x4123ff
lea ecx, [esp + 0x550]
mov ebx, eax
mov dword [esp + 0x24], edi
and dword [ecx], 0
and dword [ecx + 4], 0
call fcn.0040651e
mov dword [esp + 0x9f0], eax
lock inc dword [eax]
jle 0x4123ff
mov esi, eax
xor ecx, ecx
call fcn.00547380
mov edi, eax
test eax, eax
je 0x40c8dc
lock inc dword [edi]
jle 0x4123ff
mov ecx, edi
jmp 0x40c8de
xor ecx, ecx
call fcn.00547380
lea ecx, [esp + 0x550]
mov dword [ecx], eax
call fcn.00404b70
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x40c900
add ecx, 8
call fcn.00521270
push 0x30
pop ecx
push 4
pop edx
call fcn.00406573
mov ecx, dword [esp + 0x20]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x14], 6
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x24], 3
mov dword [eax + 0x28], ecx
mov word [eax + 0x2c], 0x64
mov byte [eax + 0x2e], 0
mov edx, dword [esp + 0x58]
lea edi, [esp + 0x550]
mov ecx, edi
push 0x593c5c
push eax
call fcn.0054feb0
pop eax
pop ecx
movzx eax, byte [edi]
cmp eax, 4
jne 0x40c983
mov edi, dword [esp + 0x554]
jmp 0x40c9be
movzx esi, byte [esp + 0x553]
movzx ecx, word [esp + 0x551]
mov edi, dword [esp + 0x554]
shl ecx, 8
shl esi, 0x18
or esi, ecx
or esi, eax
lea ecx, [esp + 0x9f0]
call fcn.00487c98
lea ecx, [esp + 0x398]
call fcn.00405310
xor ebx, ebx
lea edx, [esp + 0x550]
mov dword [edx + 4], esi
mov dword [edx + 8], edi
mov dword [edx], ebx
lea esi, [esp + 0xc68]
mov ecx, esi
call fcn.004062e8
push 6
pop eax
mov ecx, dword [esp + 0x110]
mov dword [esi - 0x24], eax
mov dword [esi - 0x20], ecx
mov dword [esi - 0x1c], eax
mov eax, dword [esp + 0x18]
mov word [esi - 0x18], 0x64
mov dword [esi - 4], eax
mov eax, dword [esp + 4]
mov dword [esi - 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esi - 0x10], eax
mov eax, dword [esp + 8]
mov dword [esi - 0xc], eax
xor eax, eax
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x1dc]
mov dword [esi - 8], 3
mov edx, dword [eax + 4]
lea edi, [esp + 0xca8]
mov ecx, edi
push dword [eax + 8]
call fcn.00434de0
pop eax
push 0x10
pop ecx
push 4
pop edx
call fcn.00406573
mov edx, dword [edi + 4]
mov ebx, eax
lea esi, [esp + 0x550]
mov dword [esp + 8], edx
mov ecx, esi
push dword [edi + 8]
call fcn.00548a10
pop eax
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov dword [esp + 4], ebx
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
and dword [esp + 0x968], 0
xor edi, edi
and dword [esi + 7], 0
and dword [esi + 3], 0
and dword [esi + 0xf], 0
and dword [esi + 0xb], 0
xor eax, eax
inc edi
mov dword [esp + 0x96c], edi
and dword [esp + 0x970], 0
mov byte [esp + 0x974], al
push 0x48
pop ecx
push 8
pop edx
call fcn.0048b62b
mov dword [eax], edi
mov dword [eax + 4], edi
and dword [eax + 8], 0
mov ebx, eax
push 4
pop edx
mov dword [eax + 0xc], edx
and dword [eax + 0x10], 0
and dword [eax + 0x14], 0
and dword [eax + 0x18], 0
mov dword [eax + 0x1c], edi
and dword [eax + 0x20], 0
xor eax, eax
mov byte [ebx + 0x24], al
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [ebx + 0x25], xmm0
movsd qword [ebx + 0x2d], xmm1
mov eax, dword [esi + 0xf]
mov dword [ebx + 0x34], eax
and dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], edx
and dword [ebx + 0x40], 0
and dword [ebx + 0x44], 0
and dword [esp + 0x398], 0
mov dword [esp + 0x39c], edx
and dword [esp + 0x3a0], 0
lea esi, [esp + 0x9f0]
mov ecx, esi
push 0
call fcn.0044d827
pop eax
cmp dword [esi], 0x80000001
jne 0x412439
movsd xmm0, qword [esp + 0x9f4]
movsd xmm1, qword [esp + 0x9fc]
movsd qword [esp + 0x558], xmm1
movsd qword [esp + 0x550], xmm0
mov ecx, 0x45951f
call fcn.00458671
mov ecx, eax
call fcn.00458737
mov edi, eax
lea ecx, [esp + 0x398]
call fcn.00457fd1
push 0x44
pop ecx
push 4
pop esi
mov edx, esi
call fcn.0048b62b
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
and dword [eax + 8], 0
mov dword [eax + 0xc], esi
and dword [eax + 0x10], 0
and dword [eax + 0x14], 0
mov dword [eax + 0x18], esi
and dword [eax + 0x1c], 0
and dword [eax + 0x20], 0
mov dword [eax + 0x24], esi
and dword [eax + 0x28], 0
movq xmm0, qword [esp + 0x550]
movq xmm1, qword [esp + 0x558]
movq qword [eax + 0x2c], xmm0
movq qword [eax + 0x34], xmm1
mov dword [eax + 0x3c], edi
lea edi, [esp + 0x9a0]
mov byte [eax + 0x40], dl
mov dword [edi - 8], ebx
mov ebx, dword [esp + 4]
mov dword [edi - 4], eax
and dword [edi - 0x28], 0
mov dword [edi - 0x24], 8
and dword [edi - 0x20], 0
and dword [edi - 0x1c], 0
mov dword [edi - 0x18], esi
and dword [edi - 0x14], 0
mov dword [edi - 0x10], 0x1010101
mov dword [edi - 0xc], 0x1000101
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ecx
and dword [edi - 0x40], 0
mov ebx, ecx
and dword [edi - 0x4c], 0
and dword [edi - 0x50], 0
and word [edi + 0x28], 0
mov dword [edi + 8], 2
and dword [edi + 0x20], 0
and dword [edi + 0x24], 0
and dword [edi], 0
mov ecx, dword [esp + 0xca8]
mov edx, dword [esp + 8]
call fcn.00563c9c
xor eax, eax
mov byte [edi - 0x10], al
mov byte [edi + 0x29], al
push 8
pop ecx
mov edx, esi
mov dword [esp + 4], ecx
call fcn.00406573
mov esi, eax
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov ecx, edi
call fcn.00404d74
mov dword [edi], esi
mov dword [edi + 4], 0x593d80
mov al, byte [edi + 0x28]
mov edx, dword [edi - 0x40]
mov ecx, dword [edi - 0x3c]
cmp dword [edi + 8], 2
mov byte [esp + 0x110], al
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c0], ecx
jne 0x40cca6
mov dword [esp + 0x258], 2
jmp 0x40ccb9
lea edx, [esp + 0x9a8]
lea ecx, [esp + 0x258]
call fcn.00458ee5
mov edi, dword [esp + 0x9bc]
mov ebx, dword [esp + 0x9b8]
test edi, edi
je 0x40ccfb
cmp edi, 0x8d3dcb
ja 0x4124dd
imul esi, edi, 0xe8
test esi, esi
js 0x4124e2
push 8
pop ecx
mov edx, esi
call fcn.004388c9
test eax, eax
mov dword [esp + 4], eax
je 0x4124e7
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x258]
mov esi, dword [esp + 0x260]
and dword [esp + 0x3b8], 0
mov cl, byte [esp + 0x110]
mov dword [esp + 0x398], eax
mov dword [esp + 0x39c], edx
lea edx, [esp + 0x950]
mov dword [esp + 0x3a8], esi
movsd qword [esp + 0x3a0], xmm0
lea esi, [esp + 0x138]
mov dword [esp + 0x3ac], edx
mov edx, dword [esp + 4]
mov dword [esi - 8], edi
mov byte [esp + 0x3b0], cl
mov dword [esp + 0x3b4], esi
mov dword [esi - 4], edx
and dword [esi], 0
test edi, edi
mov dword [esp + 0x3bc], edx
je 0x40d045
lea eax, [esp + 0x3a0]
xor ecx, ecx
mov dword [esp + 0x28], edi
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, ebx
add eax, 8
mov esi, dword [eax]
mov edx, dword [eax - 4]
mov dword [esp + 0x90], ecx
mov edi, edx
lea ebx, [esp + 0x9f0]
lea ecx, [esp + 0xca8]
mov dword [esp + 8], esi
push esi
mov esi, eax
call fcn.00548b30
pop eax
mov ecx, ebx
mov edx, 0x697225
push 1
call fcn.00548b30
pop eax
lea ecx, [esp + 0xca8]
mov edx, ebx
call fcn.00454dfb
test al, al
mov dword [esp + 0x18], esi
je 0x40ce15
lea esi, [esp + 0x550]
mov edx, edi
mov ecx, esi
push dword [esp + 8]
call fcn.00548a10
pop eax
and dword [esp + 0x564], 0
mov dword [esp + 0x560], 2
jmp 0x40d009
mov edx, dword [esi - 4]
mov ebx, edi
lea ecx, [esp + 0x9f0]
push dword [esi]
call fcn.00548a10
pop eax
and dword [esp + 0xa00], 0
and dword [esp + 0xa0c], 0
or dword [esp + 0xa10], 0xffffffff
cmp byte [esp + 0x110], 0
mov al, 1
lea esi, [esp + 0x550]
mov dword [esp + 0xa08], 0xa
mov word [esp + 0xa15], 1
jne 0x40ce74
mov edx, dword [esp + 8]
mov ecx, ebx
call fcn.00548c30
cmp dword [esp + 0x20], 0
mov cl, byte [esp + 0x9c9]
mov edx, ebx
mov byte [esp + 0xa14], al
mov byte [esp + 0xa17], cl
je 0x40cea0
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0xa10], eax
cmp dword [esp + 0x14], 2
je 0x40cf30
lea ecx, [esp + 0xca8]
lea edx, [esp + 0x3a0]
call fcn.00458ee5
mov eax, dword [esp + 0xcac]
cmp dword [esp + 0xca8], 0
mov edi, 0x63bf54
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xcb0]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa04]
mov dword [esp + 0x58], eax
mov eax, 0x63bf68
cmove edi, eax
push 8
pop ecx
push 4
pop edx
call fcn.0048b62b
mov esi, eax
mov eax, dword [esp + 0x24]
mov dword [esi], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 4], eax
mov edx, dword [esp + 0x58]
xor ecx, ecx
call fcn.004049f6
mov dword [esp + 0xa00], esi
mov edx, ebx
lea esi, [esp + 0x550]
mov dword [esp + 0xa04], edi
mov ecx, esi
push dword [esp + 8]
call fcn.00548a10
pop eax
lea eax, [esp + 0xa00]
lea ecx, [esp + 0x580]
movsd xmm2, qword [esp + 0x9f0]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax + 0x10]
movsd xmm3, qword [eax]
movsd qword [ecx + 8], xmm1
movq xmm1, qword [esp + 0x9f8]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx], xmm3
movsd qword [ecx - 0x10], xmm2
movq qword [ecx - 8], xmm1
and dword [esp + 0x598], 0
mov dword [esp + 0x59c], 4
and dword [esp + 0x5a0], 0
and dword [esp + 0x5a4], 0
push 8
pop eax
mov dword [esp + 0x5a8], eax
and dword [esp + 0x5ac], 0
and dword [esp + 0x5bc], 0
and dword [esp + 0x5c0], 0
and dword [esp + 0x5b0], 0
mov dword [esp + 0x5b4], eax
and dword [esp + 0x5b8], 0
and dword [esp + 0x564], 0
and dword [esp + 0x560], 0
and dword [esp + 0x630], 0
and dword [esp + 0x5cc], 0
mov dword [esp + 0x5c8], 3
mov ebx, 0xe8
push ebx
push esi
mov esi, dword [esp + 0xc]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x18]
add esi, ebx
mov dword [esp + 4], esi
inc ecx
add eax, 0x10
cmp dword [esp + 0x28], ecx
mov dword [esp + 0x3b8], ecx
jne 0x40cd9a
jmp 0x40d047
xor ecx, ecx
mov eax, dword [esp + 0x3a0]
lea esi, [esp + 0x550]
mov dword [esp + 0x138], ecx
cmp eax, 2
je 0x40d073
test eax, eax
lea ecx, [esp + 0x3a4]
je 0x40d06e
jmp 0x40d06e
call fcn.004fdebd
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
cmp byte [esp + 0x993], 0
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x7c], eax
je 0x40d218
mov esi, 0x6c4590
mov ecx, 0x6c4590
xor edx, edx
push 2
push 0x63c041
call fcn.00522c40
pop ecx
pop ecx
test eax, eax
mov ebx, edx
lea edi, [esp + 0xcb4]
cmovne esi, eax
cmove ebx, eax
mov ecx, edi
mov edx, esi
push ebx
call fcn.00548a10
pop eax
and dword [edi - 0xc], 0
push 4
pop eax
mov cl, byte [esp + 0x996]
mov dword [edi - 8], eax
and dword [edi - 4], 0
and dword [edi + 0x10], 0
mov dword [edi + 0x14], eax
and dword [edi + 0x18], 0
lea esi, [esp + 0xca8]
mov byte [edi + 0x1c], cl
lea ecx, [esp + 0x550]
mov dword [ecx + 4], esi
mov dword [ecx], 9
mov edx, 0x63c044
call fcn.00456142
push 0xb
pop ecx
lea edi, [esp + 0x398]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x550]
mov ecx, esi
call fcn.00542190
mov eax, dword [esi]
cmp eax, 0x80000000
je 0x40d31b
mov ebx, dword [esp + 0x554]
mov dword [esp + 8], eax
lea esi, [esp + 0x9f0]
mov edx, ebx
mov ecx, esi
push 0xa
push str..gitconfigXDG_CONFIG_HOME.configgit_configgit_ignore
push dword [esp + 0x560]
call fcn.00548a80
add esp, 0xc
lea edi, [esp + 0x2d0]
mov edx, esi
mov ecx, edi
call fcn.00457bb5
mov al, byte [edi]
cmp al, 4
jne 0x40d29d
lea esi, [esp + 0x2d0]
mov dword [esp + 4], ebx
mov edi, dword [esi + 4]
call fcn.00457fbe
lea edx, [esp + 0x550]
and dword [esp + 0x9f0], 0
mov dword [esp + 0x9f4], 1
and dword [esp + 0x9f8], 0
mov dword [edx], eax
mov dword [edx + 4], 0x2000
and dword [edx + 8], 0
and dword [edx + 0xc], 0
and dword [edx + 0x10], 0
mov dword [edx + 0x14], edi
lea eax, [esp + 0x9f0]
mov ecx, esi
push eax
call fcn.004594ad
pop eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.00459577
mov ebx, dword [esp + 0x9f0]
test eax, eax
je 0x40d2b9
mov esi, dword [esp + 0x9f4]
mov edi, dword [esp + 0x9f8]
jmp 0x40d2ce
and dword [esp + 0x137], 0
and dword [esp + 0x133], 0
and dword [esp + 0x13f], 0
and dword [esp + 0x13b], 0
xor eax, eax
mov dword [esp + 0x5c], 0
inc eax
mov dword [esp + 0x38], eax
push 4
pop eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x6c], 0
jmp 0x40d99b
mov edx, dword [esp + 0x2d4]
movzx ecx, al
call fcn.00457ed3
mov ecx, dword [esp + 8]
mov edx, ebx
call fcn.00563c9c
jmp 0x40d31b
mov edx, dword [esp + 0x9f4]
mov ecx, ebx
call fcn.00563c9c
mov ebx, 0x80000000
xor edi, edi
lea ecx, [esp + 0x550]
call fcn.00457e94
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
call fcn.00563c9c
cmp ebx, 0x80000000
je 0x40d31b
lea ecx, [esp + 0x130]
mov edx, esi
push edi
call fcn.00459595
pop eax
mov ecx, ebx
mov edx, esi
call fcn.00563c9c
lea eax, [esp + 0x130]
cmp dword [eax], 0x80000000
jne 0x40d4c9
lea esi, [esp + 0x550]
mov edx, 0x63c19e
mov ecx, esi
push 0xf
call fcn.00540ed0
pop eax
mov esi, dword [esi]
cmp esi, 0x80000000
je 0x40d37f
mov edx, dword [esp + 0x554]
cmp dword [esp + 0x558], 0
je 0x40d378
mov eax, dword [esp + 0x558]
mov ecx, dword [esp + 0x55c]
mov dword [esp + 0x9f0], esi
mov dword [esp + 0x9f4], edx
mov dword [esp + 0x9fc], ecx
mov dword [esp + 0x9f8], eax
jmp 0x40d3e5
mov ecx, esi
call fcn.00563c9c
lea esi, [esp + 0x550]
mov ecx, esi
call fcn.00542190
mov edi, dword [esi]
mov esi, 0x80000000
cmp edi, 0x80000000
je 0x40d3cf
mov ebx, dword [esp + 0x554]
lea esi, [esp + 0x9f0]
mov edx, ebx
mov ecx, esi
push 7
push 0x63c1ad
push dword [esp + 0x560]
call fcn.00548a80
add esp, 0xc
mov ecx, edi
mov edx, ebx
call fcn.00563c9c
mov esi, dword [esi]
mov ecx, 0x80000000
call fcn.004767d9
cmp esi, 0x80000000
je 0x40d535
mov ebx, dword [esp + 0x9f4]
lea edi, [esp + 0x130]
mov edx, ebx
mov ecx, edi
push 0xa
push 0x63c1b4
push dword [esp + 0xa00]
call fcn.00548a80
add esp, 0xc
mov ecx, esi
mov edx, ebx
call fcn.00563c9c
cmp dword [edi], 0x80000000
je 0x40d535
lea esi, [esp + 0x9f0]
lea edx, [esp + 0x130]
mov ecx, esi
call fcn.00457bb5
mov al, byte [esi]
cmp al, 4
jne 0x40d4b8
mov edi, dword [esp + 0x9f4]
call fcn.00457fbe
lea edx, [esp + 0x550]
and dword [esp + 0x9f0], 0
mov dword [esp + 0x9f4], 1
and dword [esp + 0x9f8], 0
mov dword [edx], eax
mov dword [edx + 4], 0x2000
and dword [edx + 8], 0
and dword [edx + 0xc], 0
and dword [edx + 0x10], 0
mov dword [edx + 0x14], edi
lea edi, [esp + 0x4e8]
mov ecx, edi
push esi
call fcn.004594ad
pop eax
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00459577
mov esi, dword [esp + 0x9f0]
test eax, eax
je 0x40d4e0
mov edi, dword [esp + 0x9f4]
mov ebx, dword [esp + 0x9f8]
jmp 0x40d4f5
mov edx, dword [esp + 0x9f4]
movzx ecx, al
call fcn.00457ed3
jmp 0x40d535
movsd xmm0, qword [esp + 0x130]
movq xmm1, qword [esp + 0x138]
jmp 0x41233e
mov edx, dword [esp + 0x9f4]
mov ecx, esi
call fcn.00563c9c
mov esi, 0x80000000
xor ebx, ebx
lea ecx, [esp + 0x550]
call fcn.00457e94
cmp esi, 0x80000000
je 0x40d535
lea ecx, [esp + 0x2d0]
mov edx, edi
push ebx
call fcn.00459595
pop eax
mov ecx, esi
mov edx, edi
call fcn.00563c9c
lea eax, [esp + 0x2d0]
cmp dword [eax], 0x80000000
jne 0x41232c
lea esi, [esp + 0x550]
mov edx, 0x63c19e
mov ecx, esi
push 0xf
call fcn.00540ed0
pop eax
mov esi, dword [esi]
cmp esi, 0x80000000
je 0x40d599
mov edx, dword [esp + 0x554]
cmp dword [esp + 0x558], 0
je 0x40d592
mov eax, dword [esp + 0x558]
mov ecx, dword [esp + 0x55c]
mov dword [esp + 0x9f0], esi
mov dword [esp + 0x9f4], edx
mov dword [esp + 0x9fc], ecx
mov dword [esp + 0x9f8], eax
jmp 0x40d608
mov ecx, esi
call fcn.00563c9c
lea esi, [esp + 0x550]
mov ecx, esi
call fcn.00542190
mov edi, dword [esi]
mov esi, 0x80000000
cmp edi, 0x80000000
je 0x40d5e9
mov ebx, dword [esp + 0x554]
lea esi, [esp + 0x9f0]
mov edx, ebx
mov ecx, esi
push 7
push 0x63c1ad
push dword [esp + 0x560]
call fcn.00548a80
add esp, 0xc
mov ecx, edi
mov edx, ebx
call fcn.00563c9c
mov esi, dword [esi]
mov ecx, 0x80000000
call fcn.004767d9
cmp esi, 0x80000000
jne 0x40d608
mov dword [esp + 0x4e8], 0x80000000
jmp 0x40d637
mov edi, dword [esp + 0x9f4]
lea ecx, [esp + 0x4e8]
mov edx, edi
push 0xa
push 0x63c1be
push dword [esp + 0xa00]
call fcn.00548a80
add esp, 0xc
mov ecx, esi
mov edx, edi
call fcn.00563c9c
mov esi, dword [esp + 0x4e8]
cmp esi, 0x80000000
jne 0x40d6de
and dword [esp + 0x560], 0
mov dword [esp + 0x564], 1
and dword [esp + 0x568], 0
mov byte [esp + 0x56c], 0
and dword [esp + 0x550], 0
push 4
pop eax
mov dword [esp + 0x554], eax
and dword [esp + 0x558], 0
and dword [esp + 0x55c], 0
and dword [esp + 0x580], 0
mov dword [esp + 0x584], eax
and dword [esp + 0x588], 0
and dword [esp + 0x58c], 0
and dword [esp + 0x574], 0
and dword [esp + 0x570], 0
and dword [esp + 0x57c], 0
and dword [esp + 0x578], 0
mov dword [esp + 0x590], 9
jmp 0x40d8a2
mov edi, dword [esp + 0x4ec]
mov edx, dword [esp + 0x4f0]
mov ecx, edi
call fcn.00548c30
test al, al
je 0x40d7cb
lea edi, [esp + 0x2d0]
and dword [edi], 0
mov dword [edi + 4], 8
and dword [edi + 8], 0
lea eax, [esp + 0x4e8]
lea ebx, [esp + 0x550]
lea esi, [esp + 0x398]
mov ecx, ebx
mov edx, esi
push eax
call fcn.00456407
pop eax
mov ecx, edi
mov edx, ebx
call fcn.004578ad
lea edi, [esp + 0x9f0]
mov edx, esi
mov ecx, edi
call fcn.00456175
cmp dword [edi], 0x80000000
jne 0x40d865
lea edx, [esp + 0x9f8]
lea esi, [esp + 0x2d0]
mov ecx, esi
call fcn.00457950
lea ecx, [esp + 0x590]
and dword [ecx - 0x30], 0
mov dword [ecx - 0x2c], 1
and dword [ecx - 0x28], 0
mov byte [ecx - 0x24], 0
and dword [ecx - 0x40], 0
push 4
pop eax
mov edi, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [ecx - 0x3c], eax
and dword [ecx - 0x38], 0
and dword [ecx - 0x34], 0
and dword [ecx - 0x10], 0
mov dword [ecx - 0xc], eax
and dword [ecx - 8], 0
and dword [ecx - 4], 0
and dword [ecx - 0x1c], 0
and dword [ecx - 0x20], 0
and dword [ecx - 0x14], 0
and dword [ecx - 0x18], 0
lea edx, [esp + 0x130]
mov dword [edx + 8], edi
jmp 0x40d899
and dword [esp + 0x560], 0
mov dword [esp + 0x564], 1
and dword [esp + 0x568], 0
mov byte [esp + 0x56c], 0
and dword [esp + 0x550], 0
push 4
pop eax
mov dword [esp + 0x554], eax
and dword [esp + 0x558], 0
and dword [esp + 0x55c], 0
and dword [esp + 0x580], 0
mov dword [esp + 0x584], eax
and dword [esp + 0x588], 0
and dword [esp + 0x58c], 0
and dword [esp + 0x574], 0
and dword [esp + 0x570], 0
and dword [esp + 0x57c], 0
and dword [esp + 0x578], 0
mov dword [esp + 0x590], 9
mov ecx, esi
mov edx, edi
call fcn.00563c9c
jmp 0x40d8a2
push 0x10
pop ecx
lea edi, [esp + 0x550]
lea esi, [esp + 0x9f0]
lea edx, [esp + 0x130]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x590]
mov eax, dword [esp + 0x2d8]
movsd xmm0, qword [esp + 0x2d0]
mov dword [edx + 8], eax
movsd qword [edx], xmm0
call fcn.004579ea
lea edi, [esp + 0x398]
mov ecx, edi
call fcn.004579c8
lea esi, [esp + 0x594]
mov eax, dword [esi - 0x44]
movsd xmm0, qword [esi - 0x1f]
mov dword [esp + 0x5c], eax
mov eax, dword [esi - 0x40]
movsd qword [edi + 8], xmm0
movsd xmm0, qword [esi - 0x27]
mov dword [esp + 0x3c], eax
mov eax, dword [esi - 0x18]
movsd qword [edi], xmm0
mov dword [edi + 0xf], eax
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esi - 0x38]
mov dword [esp + 0x44], eax
mov eax, dword [esi - 0x34]
mov dword [esp + 0x50], eax
mov eax, dword [esi - 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x84], eax
mov eax, dword [esi - 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esi - 4]
push 9
pop ecx
mov dl, byte [esi - 0x28]
mov ebx, dword [esi - 8]
lea edi, [esp + 0x9f0]
cmp eax, 9
mov dword [esp + 0x80], edx
mov edx, dword [esi - 0x14]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edx
mov edx, dword [esi - 0xc]
mov dword [esp + 0x30], edx
rep movsd dword es:[edi], dword [esi]
je 0x40d962
lea edi, [esp + 0x554]
mov dword [edi - 4], eax
push 9
pop ecx
lea esi, [esp + 0x9f0]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x550]
push eax
call fcn.004540f9
pop eax
mov eax, dword [esp + 0x3a7]
movsd xmm0, qword [esp + 0x398]
movq xmm1, qword [esp + 0x3a0]
lea esi, [esp + 0x550]
mov dword [esp + 0x13f], eax
movq qword [esp + 0x138], xmm1
movsd qword [esp + 0x130], xmm0
call fcn.00555500
test eax, eax
mov edx, 1
je 0x41248d
mov edi, dword [eax]
mov ebx, dword [eax + 4]
movsd xmm0, qword [eax + 8]
movsd xmm2, qword [0x69eaa8]
movsd xmm1, qword [0x69eaa0]
mov esi, edx
mov ecx, edi
movsd qword [esp + 8], xmm0
add ecx, edx
mov dword [eax], ecx
mov ecx, ebx
adc ecx, 0
mov dword [eax + 4], ecx
movsd qword [esp + 0x55b], xmm2
movsd qword [esp + 0x553], xmm1
push 0x30
pop ecx
push 8
pop edx
mov dword [esp + 0x54], edx
call fcn.0048b62b
mov dword [eax], esi
mov dword [eax + 4], esi
and dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [esp + 0x40], eax
movsd xmm0, qword [esp + 0x550]
movq xmm1, qword [esp + 0x558]
movsd qword [eax + 0xd], xmm0
movq qword [eax + 0x15], xmm1
movq xmm0, qword [esp + 8]
mov ecx, dword [esp + 0x55f]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], edi
movq qword [eax + 0x28], xmm0
lea esi, [esp + 0x968]
lea ecx, [esp + 0xca8]
mov edx, esi
call fcn.00458547
mov eax, dword [esi + 0x30]
lock inc dword [eax]
jle 0x4123ff
mov ecx, dword [esp + 0x99c]
mov dword [esp + 0x88], ecx
lock inc dword [ecx]
jle 0x4123ff
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x980]
mov ebx, dword [esp + 0x97c]
test eax, eax
je 0x40dac7
cmp eax, 0x1ffffff
ja 0x4124e9
mov esi, eax
shl esi, 6
js 0x4124ee
mov edi, eax
push 8
pop ecx
mov edx, esi
call fcn.004388c9
mov dword [esp + 0x54], eax
test eax, eax
mov eax, edi
je 0x4124f3
mov ecx, eax
xor edi, edi
mov dword [esp + 0xac], eax
shl ecx, 6
add ecx, ebx
mov dword [esp + 0x4c], ecx
mov ecx, eax
sub ecx, 1
push 4
pop eax
jb 0x40e178
cmp ebx, dword [esp + 0x4c]
je 0x40e178
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov dword [esp + 0x220], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x40db4f
cmp ecx, 0x3ffffff
ja 0x412434
mov esi, ecx
shl esi, 5
js 0x412425
mov edi, edx
mov ebx, ecx
push 4
pop ecx
mov edx, esi
call fcn.004388c9
test eax, eax
mov ecx, ebx
mov edx, edi
mov dword [esp + 0x14], eax
je 0x41242a
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x220]
xor esi, esi
mov dword [esp + 0x60], ecx
add eax, 0x40
mov dword [esp + 0x70], eax
lea eax, [edi + 1]
shl edi, 6
add edi, dword [esp + 0x54]
mov dword [esp + 0x1f0], eax
mov eax, ecx
shl eax, 5
add eax, edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x220], edi
sub ecx, 1
jb 0x40e068
cmp edx, dword [esp + 0x58]
je 0x40e068
mov eax, dword [edx]
mov eax, dword [eax*4 + 0x412558]
add eax, dword [esp + 0x8c]
jmp eax
mov esi, dword [esp + 0x1c]
lea edx, [esi + 0x10]
lea ecx, [esp + 0x550]
call fcn.00458547
mov edx, dword [esi + 0x34]
lea ecx, [esp + 0x398]
push dword [esi + 0x38]
call fcn.00458566
pop eax
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x24]
mov dword [esp + 8], eax
mov eax, esi
mov esi, dword [esi + 0x2c]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x3c]
test eax, eax
mov dword [esp + 4], ecx
je 0x40e0b4
lock inc dword [eax]
jle 0x4123ff
mov ebx, dword [esp + 0x3a0]
movsd xmm0, qword [esp + 0x550]
movsd xmm1, qword [esp + 0x558]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2d8], ebx
movsd qword [esp + 0x9f0], xmm0
movsd xmm0, qword [esp + 0x398]
mov ebx, dword [esp + 0x220]
movsd qword [esp + 0x9f8], xmm1
movsd qword [esp + 0x2d0], xmm0
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 8]
movsd xmm0, qword [esp + 0x9f0]
movq xmm1, qword [esp + 0x9f8]
movsd qword [ebx + 0x10], xmm0
movq qword [ebx + 0x18], xmm1
mov dword [ebx + 0x20], ecx
mov ecx, dword [esp + 4]
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x2c], esi
mov edi, dword [esp + 0x1f0]
mov dword [ebx + 0x28], ecx
movq xmm0, qword [esp + 0x2d0]
movq qword [ebx + 0x30], xmm0
mov ecx, dword [esp + 0x2d8]
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x3c], eax
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0xa4]
jmp 0x40dadd
push 0x14
pop ecx
push 4
pop edx
mov dword [esp + 4], edx
call fcn.0048b62b
mov ebx, eax
xor eax, eax
mov ecx, dword [esp + 0xac]
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x98c]
mov esi, dword [esp + 0x988]
test eax, eax
mov dword [esp + 0x90], eax
je 0x40e1f1
cmp eax, 0x7ffffff
ja 0x4124fa
mov edi, eax
shl edi, 4
js 0x4124ff
push 4
pop ecx
mov edx, edi
call fcn.004388c9
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x90]
je 0x412504
mov ecx, eax
mov dword [esp + 0x28], ebx
xor edi, edi
mov ebx, eax
shl ecx, 4
mov dword [esp + 0x18], ecx
sub ebx, 1
jb 0x40e25b
cmp dword [esp + 0x18], edi
je 0x40e25b
mov edx, dword [esi + 4]
lea eax, [esi + 0x10]
mov dword [esp + 8], eax
lea ecx, [esp + 0x550]
push dword [esi + 8]
call fcn.004271ee
pop eax
mov al, byte [esi + 0xc]
mov esi, dword [esp + 8]
mov byte [esp + 0x55c], al
mov eax, dword [esp + 4]
movq xmm0, qword [esp + 0x550]
movq xmm1, qword [esp + 0x558]
movq qword [eax + edi + 8], xmm1
movq qword [eax + edi], xmm0
add edi, 0x10
jmp 0x40e202
push 0x14
pop ecx
push 4
pop ebx
mov edx, ebx
call fcn.0048b62b
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 4]
mov edi, eax
xor eax, eax
lea esi, [esp + 0x550]
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], ecx
and dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
mov ecx, eax
xor eax, eax
and dword [esi + 0x28], 0
mov byte [esi + 0x2c], al
xor eax, eax
and dword [esi + 0x10], 0
mov dword [esi + 0x14], ebx
and dword [esi + 0x18], 0
and dword [esi + 0x1c], 0
and dword [esi + 0x40], 0
mov dword [esi + 0x44], ebx
and dword [esi + 0x48], 0
and dword [esi + 0x4c], 0
and dword [esi + 0x38], 0
and dword [esi + 0x3c], 0
and dword [esi + 0x30], 0
and dword [esi + 0x34], 0
and dword [esi + 0x60], 0
mov dword [esi + 0x64], ecx
and dword [esi + 0x68], 0
mov byte [esi + 0x6c], al
and dword [esi + 0x50], 0
mov dword [esi + 0x54], ebx
and dword [esi + 0x58], 0
and dword [esi + 0x5c], 0
and dword [esi + 0x80], 0
mov dword [esi + 0x84], ebx
and dword [esi + 0x88], 0
and dword [esi + 0x8c], 0
and dword [esi + 0x74], 0
and dword [esi + 0x70], 0
and dword [esi + 0x7c], 0
and dword [esi + 0x78], 0
push 0x48
pop ecx
push 8
pop edx
call fcn.0048b62b
mov ecx, dword [esp + 0x5c]
xor edx, edx
inc edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x80]
mov byte [eax + 0x24], cl
mov ecx, dword [esp + 0x13f]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
movsd qword [eax + 0x2d], xmm1
movsd qword [eax + 0x25], xmm0
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x44], ecx
xor ecx, ecx
and dword [esi + 0xa0], 0
mov dword [esi + 0xa4], edx
and dword [esi + 0xa8], 0
mov byte [esi + 0xac], cl
and dword [esi + 0x90], 0
mov dword [esi + 0x94], ebx
and dword [esi + 0x98], 0
and dword [esi + 0x9c], 0
and dword [esi + 0xc0], 0
mov dword [esi + 0xc4], ebx
and dword [esi + 0xc8], 0
and dword [esi + 0xcc], 0
and dword [esi + 0xb8], 0
and dword [esi + 0xb0], 0
and dword [esi + 0xb4], 0
and dword [esi + 0xbc], 0
and dword [esi + 0xe0], 0
mov dword [esi + 0xe4], edx
and dword [esi + 0xe8], 0
mov byte [esi + 0xec], cl
mov ecx, dword [esp + 0x40]
and dword [esi + 0xd0], 0
mov dword [esi + 0xd4], ebx
and dword [esi + 0xd8], 0
and dword [esi + 0xdc], 0
and dword [esi + 0x100], 0
mov dword [esi + 0x104], ebx
and dword [esi + 0x108], 0
and dword [esi + 0x10c], 0
and dword [esi + 0xf4], 0
and dword [esi + 0xf0], 0
and dword [esi + 0xfc], 0
and dword [esi + 0xf8], 0
movsd xmm0, qword [esp + 0xca8]
movq xmm1, qword [esp + 0xcb0]
mov dword [esi + 0x118], ecx
mov ecx, dword [esp + 0x1ec]
movsd qword [esi], xmm0
movq qword [esi + 8], xmm1
movq xmm0, qword [esp + 0x990]
mov dword [esi + 0x11c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x120], ecx
mov ecx, dword [esp + 0x28]
and dword [esi + 0x130], 0
mov word [esi + 0x138], 1
and dword [esi + 0x134], 0
mov dword [esi + 0x124], ecx
mov dword [esi + 0x128], edi
mov dword [esi + 0x12c], eax
movq qword [esi + 0x110], xmm0
mov ecx, esi
call fcn.00456084
mov dword [esi], eax
lock inc dword [eax]
jle 0x4123ff
mov ecx, dword [esp + 0x550]
lock inc dword [ecx]
jle 0x4123ff
mov edx, dword [esp + 0x954]
mov edi, dword [esp + 0x950]
mov ebx, dword [esp + 0x958]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x95c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x9c4]
test edx, edx
je 0x40e55b
lock inc dword [edx]
jle 0x4123ff
mov esi, dword [esp + 0x9a0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], edi
test esi, esi
mov dword [esp + 0x110], esi
je 0x40e596
lock inc dword [esi]
jle 0x4123ff
mov eax, dword [esp + 0x9a4]
mov dword [esp + 0x14], eax
jmp 0x40e596
mov edi, dword [esp + 0x1e8]
imul esi, dword [esp + 0xa8], 0xe8
add esi, edi
lea ecx, [esp + 0x550]
call fcn.00453910
mov ecx, dword [esp + 4]
lea eax, [esp + 0x3a8]
mov edx, dword [esp + 8]
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax - 0x10], ecx
mov dword [eax - 8], ebx
mov dword [eax - 4], edx
and dword [eax + 4], 0
mov dword [eax], 2
lea ebx, [esp + 0x3b0]
push 0xd0
lea eax, [esp + 0xcac]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x110]
mov dword [ebx + 0xd0], edi
mov dword [ebx + 0xd4], eax
lea eax, [esp + 0x490]
mov dword [ebx + 0xd8], edi
mov dword [ebx + 0xdc], esi
lea edi, [esp + 0x258]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x498]
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x49c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x4a0]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ecx
mov eax, dword [esp + 0x3a8]
xor eax, 2
or eax, dword [esp + 0x3ac]
jne 0x40e942
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x488]
xor esi, esi
mov edi, dword [esp + 0x2c]
cmp eax, dword [esp + 0x48c]
je 0x40f898
lea ecx, [eax + 0xe8]
mov dword [esp + 0x488], ecx
mov ecx, dword [eax]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov ch, bl
and ch, 3
cmp ch, 2
je 0x40ff56
mov ecx, ebx
and ecx, 3
cmp ecx, 3
je 0x40f898
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x14]
mov dword [esp + 0x1c], edx
add eax, 0x18
mov ecx, 0xd0
push ecx
push eax
lea eax, [esp + 0x558]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x3a8]
call fcn.0040599f
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x3a8], ebx
mov eax, 0xd0
push eax
lea eax, [esp + 0x554]
push eax
lea eax, [esp + 0x3b8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x64]
mov edx, esi
call fcn.00544ca0
test al, al
je 0x40ed65
mov eax, dword [esp + 0x498]
cmp byte [eax + 0x11a], 0
mov dword [esp + 0x14], eax
jne 0x40e787
cmp byte [eax + 0x11c], 0
jne 0x40e787
cmp byte [eax + 0x11d], 0
jne 0x40e787
cmp byte [eax + 0x11b], 0
je 0x4105a3
cmp dword [eax + 0x138], 0
jne 0x4123b3
lea eax, [esp + 0x9f8]
movdqa xmm0, xmmword [0x593050]
and word [eax + 0x18], 0
and dword [eax + 0x14], 0
mov dword [esp + 0xa00], 7
and dword [esp + 0xa04], 0
and dword [esp + 0xa08], 0
movdqu xmmword [esp + 0x9f0], xmm0
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x9f0]
lea ecx, [esp + 0x550]
push eax
push esi
call fcn.00540550
pop eax
pop ecx
mov al, byte [esp + 0x550]
cmp al, 4
jne 0x40ee96
mov eax, dword [esp + 0x554]
and dword [esp + 0x258], 0
mov dword [esp + 0x25c], 2
and dword [esp + 0x260], 0
mov ebx, 0x200
mov dword [esp + 8], 0
mov dword [esp + 4], eax
push 2
pop eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 0
cmp ebx, 0x201
jae 0x40e85a
mov dword [esp + 0x90], 0x200
lea edi, [esp + 0x550]
mov esi, ebx
jmp 0x40e8a6
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x18]
sub ebx, esi
sub eax, esi
cmp eax, ebx
jae 0x40e88c
mov edx, esi
lea ecx, [esp + 0x258]
push ebx
call fcn.005211b0
pop eax
mov esi, dword [esp + 0x258]
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x28]
mov dword [esp + 0x260], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x90], esi
mov dword [esp + 8], esi
push 0
call sub.KERNEL32.DLL_SetLastError
push 0
push esi
push edi
push dword [esp + 0x10]
call sub.KERNEL32.DLL_GetFinalPathNameByHandleW
mov ebx, eax
test eax, eax
jne 0x40e8cd
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x40efb8
cmp ebx, esi
jne 0x40e8f1
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x7a
jne 0x41235f
lea ebx, [esi + esi]
test esi, esi
mov eax, 0xffffffff
cmovs ebx, eax
jmp 0x40e83c
lea ecx, [esp + 0x2d0]
ja 0x40e83c
mov edx, dword [esp + 0x90]
cmp ebx, edx
ja 0x4123f2
mov edx, edi
push ebx
call fcn.00522900
pop eax
xor esi, esi
inc esi
movq xmm0, qword [esp + 0x2d0]
movq xmm1, qword [esp + 0x2d8]
movq qword [esp + 0x4f0], xmm1
movq qword [esp + 0x4e8], xmm0
jmp 0x40efda
push 0x1a
pop ecx
lea esi, [esp + 0x410]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x410], 3
mov ebx, dword [esp + 0x258]
mov edi, dword [esp + 0x25c]
and dword [esp + 0x414], 0
mov eax, ebx
xor eax, 3
or eax, edi
jne 0x40ed9a
mov ebx, dword [esp + 0x3b8]
mov edi, dword [esp + 0x3bc]
mov esi, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3c4]
mov eax, 0x80000000
mov dword [esp + 0x3b8], eax
cmp ebx, eax
jne 0x40eed7
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x58], ebx
test eax, eax
je 0x40ef5f
mov dword [esp + 0x408], eax
lea esi, [esp + 0x550]
lea edx, [esp + 0x3a8]
mov ecx, esi
call fcn.005625e2
mov ebx, dword [esp + 0x550]
mov edi, dword [esp + 0x554]
mov eax, ebx
xor eax, 2
or eax, edi
jne 0x40f9e1
mov ecx, esi
call fcn.005626ab
mov eax, dword [esp + 0x408]
mov ebx, dword [esp + 0x58]
cmp eax, dword [esp + 0x3d8]
jbe 0x40ea23
lea ecx, [esp + 0x3a8]
call fcn.005626c8
jmp 0x40e9b0
mov eax, dword [esp + 0x3e8]
sub eax, 1
jb 0x412401
imul edx, eax, 0x260
add edx, dword [esp + 0x3e4]
mov eax, dword [edx]
cmp eax, 3
jne 0x40eac3
mov esi, dword [edx + 0xc]
cmp esi, dword [edx + 0x10]
je 0x40ec63
lea eax, [esi + 0x68]
mov dword [edx + 0xc], eax
mov ecx, dword [esi + 8]
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 0x18]
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x128], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x124], ecx
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esi + 0x2c]
add esi, 0x30
mov dword [esp + 0xd0], ecx
push 0xe
pop ecx
jmp 0x40ec51
cmp eax, 2
jne 0x40eae0
mov eax, dword [edx + 4]
mov dword [edx + 4], 2
cmp eax, 2
je 0x40ec63
jmp 0x410be9
mov esi, dword [edx + 0x25c]
lea ecx, [esp + 0x550]
call fcn.00543940
cmp dword [esp + 0x550], 0
je 0x40eba5
mov ecx, dword [esp + 0x554]
mov edx, dword [esp + 0x558]
mov eax, dword [esp + 0x55c]
test ecx, ecx
je 0x40ebaf
mov dword [esp + 0x9f0], ecx
mov dword [esp + 0x9f4], edx
mov dword [esp + 0x9f8], eax
push 0x248
lea eax, [esp + 0x564]
push eax
lea eax, [esp + 0xa04]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
inc esi
mov edx, esi
lea esi, [esp + 0x9f0]
lea ecx, [esp + 0x130]
push esi
call fcn.00560b4e
pop eax
mov ecx, esi
call fcn.00453f93
mov ecx, dword [esp + 0x138]
mov edi, dword [esp + 0x13c]
mov esi, dword [esp + 0x15c]
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
mov dword [esp + 8], ecx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], esi
jmp 0x40ebec
xor eax, eax
push 3
pop edx
jmp 0x40ec5a
and dword [esp + 0x138], 0
inc esi
mov dword [esp + 0xcc], edx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 0x80000000
mov dword [esp + 8], 0
mov dword [esp + 0xd0], esi
push 2
pop edx
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x12c], ecx
push 0xe
pop ecx
lea esi, [esp + 0x160]
lea edi, [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor ecx, 3
or ecx, eax
jne 0x40ec68
jmp 0x40ea15
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1e0]
mov edi, dword [esp + 0xa8]
mov ecx, edx
xor ecx, 2
or ecx, eax
je 0x410bce
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x2e4], ebx
mov dword [esp + 0x2ec], edi
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x2fc], eax
push 0xe
pop ecx
lea edi, [esp + 0x300]
lea esi, [esp + 0xd8]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x550]
lea eax, [esp + 0x2d0]
lea edx, [esp + 0x3a8]
mov ecx, esi
push eax
call fcn.00561d7f
pop eax
mov ebx, dword [esp + 0x550]
mov edi, dword [esp + 0x554]
mov eax, ebx
xor eax, 3
or eax, edi
jne 0x40f9e1
mov ecx, esi
call fcn.00560a19
jmp 0x40e9ac
mov esi, dword [esp + 0x498]
lock inc dword [esi]
jle 0x4123ff
lea ecx, [esp + 0x49c]
call fcn.00405926
mov dword [esp + 0x49c], esi
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.00563c9c
jmp 0x4103a8
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x26c]
mov eax, dword [esp + 0x260]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x268]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x270]
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x288]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x278]
movsd xmm0, qword [ecx]
mov esi, dword [ecx + 0x18]
movq xmm1, qword [ecx + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x280]
movsd qword [esp + 0xb0], xmm0
movq xmm0, qword [ecx + 0x10]
mov ecx, dword [esp + 0x274]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x2a8]
movq qword [esp + 0xb8], xmm1
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x284]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x27c]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x2b0]
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2a4]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x2b8]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x2ac]
mov dword [esp + 0x70], esi
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x2b4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2bc]
mov dword [esp + 0x80], ecx
jmp 0x40faed
lea edx, [esp + 0x5c0]
lea esi, [esp + 0x4fc]
mov cl, byte [edx - 0x6d]
movzx edi, word [edx - 0x6f]
mov edx, dword [esp + 0x554]
mov byte [esi - 0xd], cl
mov word [esi - 0xf], di
mov byte [esp + 0x4ec], al
mov dword [esp + 0x4f0], edx
mov dword [esp + 0x4e8], 0x80000000
jmp 0x40f003
cmp byte [esp + 0x3df], 0
je 0x40f8dd
lea eax, [esp + 0x5c0]
and dword [esp + 0x550], 0
and dword [esp + 0x55c], 0
mov dword [esp + 0x560], 7
mov dword [esp + 8], ecx
and dword [eax - 0x58], 0
and dword [eax - 0x5c], 0
and dword [eax - 0x52], 0
and dword [eax - 0x56], 0
mov byte [esp + 0x56c], 1
mov dword [esp + 0x558], 0x2000000
lea ecx, [esp + 0x9f0]
lea edx, [esp + 0x550]
push esi
push edi
call fcn.00543900
pop eax
pop ecx
cmp byte [esp + 0x9f0], 4
jne 0x40f7ea
mov edx, dword [esp + 0x9f4]
jmp 0x40f804
xor edi, edi
cmp byte [esp + 0x3de], 0
je 0x40f8a4
and dword [esp + 0x408], 0
lea esi, [esp + 0x550]
lea edx, [esp + 0x3a8]
mov ecx, esi
call fcn.005625e2
mov ebx, dword [esp + 0x550]
mov edi, dword [esp + 0x554]
mov eax, ebx
xor eax, 2
or eax, edi
jne 0x40f9e1
mov ecx, esi
call fcn.005626ab
push 3
pop ebx
xor edi, edi
jmp 0x40f8a7
call sub.KERNEL32.DLL_GetLastError
xor esi, esi
mov byte [esp + 0x4ec], 0
mov dword [esp + 0x4f0], eax
mov dword [esp + 0x4e8], 0x80000000
inc esi
cmp dword [esp + 8], 0
je 0x40efed
mov ecx, dword [esp + 0x28]
push 2
pop edx
call fcn.004256e0
push dword [esp + 4]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [esp + 0x4e8], 0x80000000
jne 0x40f033
mov eax, dword [esp + 0x14]
lock inc dword [eax]
jle 0x4123ff
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], 9
lea ecx, [esp + 0x4e8]
call fcn.00405bd5
jmp 0x40f795
push 0x18
pop ecx
push 4
pop edx
call fcn.00406573
mov dword [eax], esi
mov dword [eax + 4], esi
xor esi, esi
movq xmm0, qword [esp + 0x4e8]
movq xmm1, qword [esp + 0x4f0]
movq qword [eax + 8], xmm0
movq qword [eax + 0x10], xmm1
mov dword [esp + 0x338], eax
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
and dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 4
push 4
pop eax
mov dword [esp + 8], eax
mov dword [esp + 0xe0], esi
mov ecx, edi
mov edx, ebx
call fcn.00544b70
test eax, eax
je 0x40f0e0
cmp esi, dword [esp + 0xd8]
mov edi, eax
mov ebx, edx
lea ecx, [esp + 0xd8]
jne 0x40f0c7
mov edx, esi
call fcn.004587e4
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
jmp 0x40f0cb
mov eax, dword [esp + 8]
mov dword [eax + esi*8], edi
mov dword [eax + esi*8 + 4], ebx
mov dword [esp + 8], eax
mov esi, dword [esp + 0xe0]
inc esi
jmp 0x40f088
mov eax, dword [esp + 0x14]
and dword [esp + 0x258], 0
mov dword [esp + 0x25c], 8
and dword [esp + 0x260], 0
lock inc dword [eax]
jle 0x4123ff
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x230], eax
lea esi, [edx + esi*8]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x74], edx
cmp esi, dword [esp + 0x74]
je 0x40f72f
mov edi, dword [eax + 0x120]
mov edx, dword [esi - 4]
mov ecx, dword [esi - 8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [edi + 8]
mov dword [esp + 0x24], eax
push eax
call sub.KERNEL32.DLL_AcquireSRWLockExclusive
lea ecx, [edi + 0xc]
call fcn.0044af74
and dl, 1
test al, 1
jne 0x412377
add esi, 0xfffffff8
cmp dword [edi + 0x1c], 0
movzx eax, dl
mov dword [esp + 0x28], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x78], eax
je 0x40f363
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edi, eax
xor edi, 0x70736575
mov dword [esp + 0x550], edi
mov edi, ecx
xor edi, 0x736f6d65
mov dword [esp + 0x554], edi
mov edi, eax
xor edi, 0x6e657261
mov dword [esp + 0x558], edi
mov edi, ecx
xor edi, 0x6c796765
mov dword [esp + 0x55c], edi
mov edi, edx
xor edi, 0x6e646f6d
mov dword [esp + 0x560], edi
mov edi, esi
xor edi, 0x646f7261
mov dword [esp + 0x564], edi
mov edi, edx
xor edi, 0x79746573
mov dword [esp + 0x568], edi
mov edi, esi
xor edi, 0x74656462
mov dword [esp + 0x56c], edi
lea edi, [esp + 0x5c0]
mov dword [esp + 0x570], eax
mov dword [esp + 0x574], ecx
mov dword [esp + 0x578], edx
mov dword [esp + 0x57c], esi
and dword [edi - 0x38], 0
and dword [edi - 0x34], 0
and dword [edi - 0x40], 0
and dword [edi - 0x3c], 0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea esi, [esp + 0x550]
push esi
call fcn.00495495
pop eax
mov ecx, esi
call fcn.00458ca5
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x20], 0
mov dword [esp + 0x90], ecx
and ecx, eax
shr eax, 0x19
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0x1c0], xmm1
movdqu xmm0, xmmword [esi + ecx]
mov dword [esp + 0x18], ecx
movdqa xmmword [esp + 0x110], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test ax, ax
je 0x40f2eb
bsf ecx, eax
lea ebx, [eax - 1]
add ecx, dword [esp + 0x18]
and ebx, eax
and ecx, dword [esp + 0x90]
neg ecx
imul edi, ecx, 0x14
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push dword [esi + edi - 0xc]
push dword [esi + edi - 0x10]
call fcn.0055879c
pop ecx
pop edx
test al, al
mov eax, ebx
je 0x40f2af
jmp 0x40f32c
movdqa xmm1, xmmword [esp + 0x110]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x40f363
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
movdqa xmm1, xmmword [esp + 0x1c0]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
and ecx, dword [esp + 0x90]
mov dword [esp + 0x20], eax
jmp 0x40f295
add esi, edi
mov esi, dword [esi - 4]
cmp esi, 0xffffffff
je 0x40f363
mov eax, dword [esi]
test eax, eax
je 0x40f363
js 0x41235a
lea ecx, [eax + 1]
lock cmpxchg dword [esi], ecx
jne 0x40f338
lea ecx, [esp + 0x230]
call fcn.00405926
mov dword [esp + 0x230], esi
jmp 0x40f68a
mov edx, dword [esp + 0x230]
lea esi, [esp + 0x550]
mov ecx, esi
push dword [esp + 4]
push dword [esp + 0xc]
call fcn.0045500c
pop eax
pop ecx
push 0x140
push esi
lea eax, [esp + 0x9f8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0xa
pop ecx
lea edx, [esp + 0x2d0]
lea esi, [esp + 0x690]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x258]
call fcn.00457a52
mov esi, dword [esp + 0x338]
mov byte [esp + 0xb28], 1
lock inc dword [esi]
jle 0x4123ff
cmp dword [esp + 0xb24], 0
je 0x40f3e7
lea ecx, [esp + 0xb24]
call fcn.00453f93
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb24], esi
cmp byte [eax + 0x11f], 0
je 0x40f46c
cmp byte [eax + 0x11c], 0
je 0x40f46c
mov edx, dword [esp + 8]
lea ecx, [esp + 0x4e8]
push 4
push 0x63c020
push dword [esp + 0xc]
call fcn.00548a80
add esp, 0xc
mov esi, dword [esp + 0x4ec]
lea edi, [esp + 0x550]
mov edx, esi
mov ecx, edi
push dword [esp + 0x4f0]
call fcn.0056128b
pop eax
mov eax, dword [esp + 0x550]
xor eax, 2
or eax, dword [esp + 0x554]
setne bl
mov ecx, edi
call fcn.00405bbb
mov ecx, dword [esp + 0x4e8]
mov edx, esi
call fcn.00563c9c
jmp 0x40f46e
xor ebx, ebx
mov byte [esp + 0xb29], bl
mov ecx, 0x148
push 8
pop edx
call fcn.00406573
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
lea eax, [ebx + 8]
push 0x140
lea ecx, [esp + 0x9f4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xb0], ebx
lea ecx, [esp + 0x230]
lock inc dword [ebx]
mov esi, dword [esp + 0x28]
jle 0x4123ff
call fcn.00405926
lea edi, [esi + 0x10]
mov dword [esp + 0x230], ebx
mov edx, dword [esp + 8]
lea ecx, [esp + 0x550]
push dword [esp + 4]
call fcn.00554f90
pop eax
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
je 0x40f500
test eax, eax
js 0x412355
lea ecx, [eax + 1]
lock cmpxchg dword [ebx + 4], ecx
jne 0x40f4e7
jmp 0x40f504
pause
jmp 0x40f4e4
mov eax, dword [esp + 0x554]
mov dword [esp + 0x1c0], ebx
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov ebx, dword [esp + 0x558]
mov dword [esp + 0x18], ebx
push ebx
mov dword [esp + 8], eax
push eax
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.00458873
add esp, 0x10
cmp dword [esi + 0x18], 0
je 0x40f6a7
mov ecx, esi
mov esi, dword [esi + 0x10]
mov dword [esp + 0x20], 0
mov dword [esp + 0x110], 0
mov ebx, dword [ecx + 0x14]
mov dword [esp + 8], ebx
and ebx, eax
shr eax, 0x19
movd xmm0, eax
mov dword [esp + 0xa4], eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x220], xmm0
movdqu xmm1, xmmword [esi + ebx]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x90], xmm1
pmovmskb eax, xmm0
mov word [esp + 0x4e8], ax
lea ecx, [esp + 0x4e8]
call fcn.0048f1af
test eax, eax
je 0x40f5dd
add edx, ebx
and edx, dword [esp + 8]
neg edx
imul edi, edx, 0x14
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
push dword [esi + edi - 0xc]
push dword [esi + edi - 0x10]
call fcn.0055879c
pop ecx
pop edx
test al, al
je 0x40f5a5
jmp 0x40f64c
cmp dword [esp + 0x110], 1
mov eax, 1
je 0x40f607
mov ecx, dword [esp + 8]
movdqa xmm0, xmmword [esp + 0x90]
mov edx, ebx
call fcn.004964cc
mov dword [esp + 0x1f0], edx
movdqa xmm1, xmmword [esp + 0x90]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x40f6ba
mov ecx, dword [esp + 0x20]
movdqa xmm0, xmmword [esp + 0x220]
mov dword [esp + 0x110], eax
lea ebx, [ecx + ebx + 0x10]
add ecx, 0x10
and ebx, dword [esp + 8]
mov dword [esp + 0x20], ecx
jmp 0x40f587
mov eax, dword [esp + 0x1c0]
add esi, edi
mov edi, dword [esi - 4]
mov dword [esi - 4], eax
mov ecx, dword [esp + 0x550]
mov edx, dword [esp + 4]
call fcn.00563c9c
mov dword [esp + 0x4e8], edi
lea ecx, [esp + 0x4e8]
call fcn.004540dd
lea ecx, [esp + 0xb0]
call fcn.00405926
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x78]
call fcn.0045494f
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
jmp 0x40f12b
lea edx, [esi + 0x20]
mov ecx, edi
mov ebx, eax
call fcn.00458916
mov eax, ebx
jmp 0x40f541
mov edi, dword [esp + 0x1f0]
mov al, byte [esi + edi]
test al, al
js 0x40f6d6
movdqa xmm0, xmmword [esi]
pmovmskb eax, xmm0
bsf edi, eax
mov al, byte [esi + edi]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 8]
and al, 1
movzx eax, al
sub dword [ecx + 0x18], eax
lea eax, [edi - 0x10]
and edx, eax
mov eax, dword [esp + 0xa4]
mov byte [esi + edi], al
mov byte [edx + esi + 0x10], al
inc dword [ecx + 0x1c]
mov ecx, dword [esp + 0x1c0]
neg edi
movq xmm0, qword [esp + 0x550]
movq xmm1, qword [esp + 0x558]
imul eax, edi, 0x14
movq qword [esi + eax - 0xc], xmm1
movq qword [esi + eax - 0x14], xmm0
mov dword [esi + eax - 4], ecx
jmp 0x40f67e
mov eax, dword [esp + 0x1ec]
test eax, eax
je 0x40f74b
shl eax, 3
mov ecx, dword [esp + 0x74]
push 4
pop edx
push eax
call fcn.00408833
pop eax
mov eax, dword [esp + 0x230]
mov esi, dword [esp + 0x260]
movq xmm0, qword [esp + 0x258]
mov dword [esp + 0x14], eax
mov dword [esp + 0x558], esi
movq qword [esp + 0x550], xmm0
lea ecx, [esp + 0x138]
lea edx, [esp + 0x550]
call fcn.004579ea
lea ecx, [esp + 0x338]
call fcn.00453f93
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.00563c9c
push 0xa
pop ecx
lea ebx, [esp + 0x550]
lea esi, [esp + 0x138]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x49c]
call fcn.00405926
mov eax, dword [esp + 0x14]
mov dword [esp + 0x49c], eax
mov eax, dword [esp + 0x550]
cmp eax, 9
jne 0x410164
mov ecx, ebx
call fcn.004058cf
jmp 0x4103a8
mov eax, dword [esp + 0x9f0]
mov edx, dword [esp + 0x9f4]
cmp al, 4
je 0x40f804
cmp al, 4
jne 0x410157
lea ecx, [esp + 0x550]
call fcn.00560f5b
cmp dword [esp + 0x550], 0
je 0x40f8b0
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x558]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov ecx, esi
call fcn.004d76ca
mov dword [esp + 0x48], eax
push esi
push edi
mov dword [esp + 0x54], edx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 8]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x1e8]
and esi, 0xffffff00
or esi, eax
mov ecx, ebx
mov edx, edi
call fcn.004511a2
mov dword [esp + 0x1c], 0
mov dword [esp + 0x44], 0
push 2
pop ebx
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 8]
xor edi, edi
jmp 0x40fad9
mov eax, dword [esp + 0x40]
push 4
pop ebx
jmp 0x4101c5
push 3
pop ebx
mov esi, dword [esp + 0x2c]
jmp 0x40fad9
mov eax, dword [esp + 0x570]
and dword [esp + 0x3ac], 0
mov dword [esp + 0x3a8], 1
and dword [esp + 0x3b4], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x9f0], ebx
mov dword [esp + 0x9f4], edi
mov dword [esp + 0x9f8], esi
mov dword [esp + 0x9fc], ecx
lea ebx, [esp + 0x550]
xor edx, edx
mov ecx, ebx
push 0
lea eax, [esp + 0x9f4]
push eax
call fcn.00561a78
pop eax
pop ecx
mov eax, dword [esp + 0x550]
xor eax, 2
or eax, dword [esp + 0x554]
jne 0x40f99c
mov edx, dword [esp + 0x55c]
mov ecx, dword [esp + 0x564]
mov eax, dword [esp + 0x558]
mov esi, dword [esp + 0x56c]
xor edi, edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x560]
mov ecx, dword [esp + 0x568]
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x570]
mov ecx, dword [esp + 0x574]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x578]
mov ecx, dword [esp + 0x57c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x1c], ecx
push 2
pop ebx
jmp 0x40fad9
push 0x1a
pop ecx
lea eax, [esp + 0x4e8]
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, ebx
mov ecx, ebx
lea edx, [esp + 0x3a8]
push eax
call fcn.00561d7f
pop eax
mov ebx, dword [esp + 0x550]
mov edi, dword [esp + 0x554]
mov eax, ebx
xor eax, 3
or eax, edi
jne 0x40f9e1
mov ecx, esi
call fcn.00560a19
jmp 0x40e9ac
mov ecx, dword [esp + 0x55c]
mov edx, dword [esp + 0x564]
mov eax, dword [esp + 0x558]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x560]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x568]
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x574]
movsd xmm0, qword [ecx - 0x40]
mov esi, dword [ecx - 0x28]
movq xmm1, qword [ecx - 0x38]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x57c]
movsd qword [esp + 0xb0], xmm0
movq xmm0, qword [ecx - 0x30]
mov ecx, dword [esp + 0x570]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x56c]
movq qword [esp + 0xb8], xmm1
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5a0]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x578]
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x5a8]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x59c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5b0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x5a4]
mov dword [esp + 0x70], edx
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x5ac]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x5b4]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x258]
call fcn.00404a4f
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
mov eax, ebx
mov esi, edx
and al, 3
cmp al, 2
je 0x40fb07
mov eax, ebx
xor esi, esi
and eax, 3
cmp eax, 3
je 0x40fb07
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x478]
cmp esi, eax
jae 0x40fc7a
dec eax
mov dword [esp + 0x478], eax
lea ecx, [esp + 0x410]
mov dword [esp + 0x1c], edx
call fcn.00404a4f
mov eax, dword [esp + 0x44]
mov dword [esp + 0x410], ebx
mov dword [esp + 0x414], edi
movsd xmm0, qword [esp + 0xc0]
lea ecx, [esp + 0x3a8]
movq xmm1, qword [esp + 0xb8]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x41c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x42c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x430], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x438], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x43c], eax
mov eax, dword [esp + 0xc8]
movsd qword [ecx + 0xa8], xmm0
movq xmm0, qword [esp + 0xb0]
movq qword [ecx + 0xa0], xmm1
mov dword [ecx + 0xb0], eax
mov eax, dword [esp + 0x6c]
movq qword [ecx + 0x98], xmm0
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x49c]
mov esi, dword [eax + 0x138]
test esi, esi
je 0x4123e0
lock inc dword [esi]
jle 0x4123ff
lea ecx, [esp + 0x49c]
call fcn.00405926
mov dword [esp + 0x49c], esi
jmp 0x4103a8
mov eax, ebx
mov dword [esp + 0x478], esi
not al
test al, 3
je 0x40e692
movzx eax, bl
mov ecx, dword [esp + 0x54]
lea edi, [esp + 0x348]
mov dword [esp + 0x1c], edx
and eax, 3
cmp eax, 2
mov eax, dword [esp + 0x5c]
je 0x4106a6
mov edx, eax
mov edi, eax
call fcn.00458ec6
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
test al, al
je 0x40feec
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x558], ebx
and dword [esp + 0x55c], 0
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xb8]
inc esi
mov dword [esp + 0x478], esi
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x38]
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x200], xmm1
movsd qword [esp + 0x208], xmm2
movsd xmm0, qword [esp + 0x210]
movq xmm1, qword [esp + 0x208]
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x570], ecx
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x57c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0x218]
movsd qword [ecx - 0x28], xmm0
movq xmm0, qword [esp + 0x200]
movq qword [ecx - 0x30], xmm1
mov dword [ecx - 0x20], eax
mov eax, dword [esp + 0x6c]
movq qword [ecx - 0x38], xmm0
mov dword [esp + 0x5a4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x5ac], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5b0], edx
mov dword [esp + 0x5b4], edi
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5bc], eax
and dword [esp + 0x554], 0
mov dword [esp + 0x550], 1
mov dword [esp + 0x5c0], 9
lea eax, [esp + 0x550]
lea ecx, [esp + 0x9f0]
lea edx, [esp + 0x398]
push eax
call fcn.00459d6c
pop eax
mov esi, dword [esp + 0x9f0]
cmp esi, 9
jne 0x410826
cmp byte [esp + 0x9f4], 0
je 0x41089f
mov eax, dword [esp + 0x3a8]
xor eax, 2
or eax, dword [esp + 0x3ac]
je 0x412413
cmp dword [esp + 0x3e8], 0
je 0x40fe98
lea ecx, [esp + 0x3a8]
call fcn.005626c8
lea edi, [esp + 0x550]
mov ecx, edi
call fcn.0045422a
mov esi, edx
mov edx, dword [esp + 0x49c]
lea ecx, [esp + 0x9f0]
push esi
push eax
call fcn.00454281
pop eax
pop ecx
mov esi, dword [esp + 0x9f0]
lea ecx, [esp + 0x9f8]
call fcn.004058cf
lea ecx, [esp + 0x49c]
call fcn.00405926
mov dword [esp + 0x49c], esi
mov ecx, edi
jmp 0x41014d
mov edi, dword [esp + 0x2c]
bt edx, 0xa
jae 0x40ffab
mov eax, dword [esp + 0x5c]
and eax, 0x20000000
je 0x40ffab
cmp dword [esp + 0x70], 0
jne 0x40ffab
mov edx, dword [esp + 0x6c]
lea esi, [esp + 0x550]
mov ecx, esi
push dword [esp + 0x68]
call fcn.0056128b
pop eax
lea ecx, [esp + 0x9f0]
mov edx, esi
call fcn.004560ba
mov eax, dword [esp + 0x9f0]
xor eax, 2
or eax, dword [esp + 0x9f4]
jne 0x40ff7c
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
jmp 0x40ffab
mov esi, edx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
call fcn.00563c9c
mov edx, esi
xor ebx, ebx
push 9
pop eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x40]
jmp 0x4101c3
mov ecx, dword [esp + 0xa30]
mov edx, dword [esp + 0xa34]
call fcn.00458ec6
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
test al, al
je 0x40ffab
mov esi, dword [esp + 0x478]
mov edi, dword [esp + 0x5c]
jmp 0x40fcc8
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x558], ebx
and dword [esp + 0x55c], 0
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xb8]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x38]
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x200], xmm1
movsd qword [esp + 0x208], xmm2
movsd xmm0, qword [esp + 0x210]
movq xmm1, qword [esp + 0x208]
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x570], ecx
mov dword [esp + 0x574], edi
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x57c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0x218]
movsd qword [ecx - 0x28], xmm0
movq xmm0, qword [esp + 0x200]
movq qword [ecx - 0x30], xmm1
mov dword [ecx - 0x20], eax
mov eax, dword [esp + 0x6c]
movq qword [ecx - 0x38], xmm0
mov dword [esp + 0x5a4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x5ac], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x5b0], edx
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x5bc], eax
and dword [esp + 0x554], 0
mov dword [esp + 0x550], 1
mov dword [esp + 0x5c0], 9
lea eax, [esp + 0x550]
lea ecx, [esp + 0x9f0]
lea edx, [esp + 0x398]
push eax
call fcn.00459d6c
pop eax
mov esi, dword [esp + 0x9f0]
cmp esi, 9
jne 0x4109b4
cmp byte [esp + 0x9f4], 0
je 0x410a25
lea ecx, [esp + 0x550]
call fcn.004056db
jmp 0x4103a8
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
jmp 0x40f834
mov ecx, dword [esp + 0x554]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x558]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x5c0]
movsd xmm1, qword [ecx - 0x5c]
movq xmm0, qword [ecx - 0x64]
movsd qword [esp + 0x1a0], xmm1
movq xmm1, qword [ecx - 0x54]
mov ecx, dword [ecx - 0x4c]
movq qword [esp + 0x198], xmm0
movq qword [esp + 0x1a8], xmm1
mov dword [esp + 0x1b0], ecx
push 3
pop ebx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
xor esi, esi
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x88]
mov eax, ebx
xor eax, 4
or eax, esi
je 0x411ee8
mov eax, dword [esp + 0x40]
mov dword [esp + 0x9f0], ebx
mov dword [esp + 0x9f4], esi
movsd xmm0, qword [esp + 0x1a8]
mov dword [esp + 0x88], ecx
movq xmm1, qword [esp + 0x1a0]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x9fc], ecx
lea ecx, [esp + 0x9f8]
mov dword [esp + 0xa00], eax
mov eax, dword [esp + 0x1b0]
movsd qword [ecx + 0x1c], xmm0
movq xmm0, qword [esp + 0x198]
movq qword [ecx + 0x14], xmm1
mov dword [ecx + 0x24], eax
movq qword [ecx + 0xc], xmm0
push 0x10
pop ecx
mov edx, esi
lea edi, [esp + 0xa20]
lea esi, [esp + 0xd78]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov eax, dword [esp + 0xac]
xor ecx, 3
or ecx, edx
mov dword [esp + 0xa60], eax
push 9
pop ecx
lea edi, [esp + 0xa64]
lea esi, [esp + 0xc78]
rep movsd dword es:[edi], dword [esi]
je 0x41039c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x550], ebx
mov dword [esp + 0x554], edx
movsd xmm0, qword [esp + 0x1a8]
lea ecx, [esp + 0x5c0]
movq xmm1, qword [esp + 0x1a0]
mov dword [esp + 8], edx
mov dword [esp + 0x558], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x55c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x1b0]
movsd qword [ecx - 0x4c], xmm0
movq xmm0, qword [esp + 0x198]
movq qword [ecx - 0x54], xmm1
mov dword [ecx - 0x44], eax
movq qword [ecx - 0x5c], xmm0
push 0x10
pop ecx
lea edi, [esp + 0x580]
lea esi, [esp + 0xd78]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x5c0], eax
push 9
pop ecx
lea edi, [esp + 0x5c4]
lea esi, [esp + 0xc78]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x550]
call fcn.0045422a
mov esi, eax
mov edi, edx
mov ecx, eax
call fcn.00548c30
test al, al
je 0x410385
mov edx, esi
lea esi, [esp + 0x2d0]
mov ecx, esi
mov dword [esp + 4], edx
push edi
call fcn.0056128b
pop eax
mov eax, dword [esp + 0x2d0]
xor eax, 2
or eax, dword [esp + 0x2d4]
jne 0x4103b4
mov ecx, esi
call fcn.00405bbb
mov esi, dword [esp + 8]
lea ecx, [esp + 0x550]
call fcn.004056db
xor ebx, 3
or ebx, esi
jne 0x4103a8
lea ecx, [esp + 0x9f0]
call fcn.00405b89
lea edi, [esp + 0x258]
jmp 0x40e677
test byte [esp + 0x310], 1
jne 0x4105c3
mov ecx, esi
call fcn.00405bbb
lea eax, [esp + 0x138]
and dword [esp + 0x130], 0
and dword [esp + 0x138], 0
and dword [esp + 0x13c], 0
mov dword [esp + 0x140], 7
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x16], 0
and dword [eax + 0x12], 0
mov word [esp + 0x14c], 0x101
lea esi, [esp + 0x4e8]
lea edx, [esp + 0x130]
mov ecx, esi
push edi
push dword [esp + 8]
call fcn.00543900
pop eax
pop ecx
cmp byte [esp + 0x4e8], 4
jne 0x410800
mov esi, dword [esp + 0x4ec]
mov dword [esp + 0x18], edi
lea edi, [esp + 0x2d0]
mov edx, esi
mov ecx, edi
push 0
push 0x6c4590
call fcn.0055b460
pop eax
pop ecx
mov al, byte [esp + 0x2d0]
mov byte [esp + 0x90], al
mov ecx, edi
call fcn.0045d60c
push esi
call sub.KERNEL32.DLL_CloseHandle
cmp byte [esp + 0x90], 4
mov esi, dword [esp + 8]
jne 0x410389
lea eax, [esp + 0x4fc]
and dword [esp + 0x4e8], 0
and dword [esp + 0x4f0], 0
and dword [esp + 0x4f4], 0
mov dword [esp + 0x4f8], 7
and dword [eax + 4], 0
and dword [eax], 0
and dword [eax + 0xa], 0
and dword [eax + 6], 0
mov word [esp + 0x504], 0x101
lea ecx, [esp + 0x1f8]
lea edx, [esp + 0x4e8]
push dword [esp + 0x18]
push dword [esp + 8]
call fcn.00543900
pop eax
pop ecx
cmp byte [esp + 0x1f8], 4
jne 0x41195d
mov eax, dword [esp + 0x1fc]
and dword [esp + 0x140], 0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x130], xmm0
mov dword [esp + 0xd4], eax
lea esi, [esp + 0x130]
push esi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 2
push eax
call sub.KERNEL32.DLL_LockFileEx
test eax, eax
je 0x410c8e
mov edx, dword [esp + 0xd4]
mov byte [esp + 0x2c0], 4
mov ecx, esi
call fcn.00540750
mov eax, dword [esp + 0x130]
xor eax, 2
or eax, dword [esp + 0x134]
mov eax, esi
lea esi, [esp + 0x2d0]
jne 0x410ca9
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov bl, 4
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2d8], eax
and dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 2
jmp 0x411939
lock inc dword [eax]
jle 0x4123ff
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], 9
jmp 0x40f795
lea ecx, [esp + 0x130]
mov edx, 0x596538
push 6
pop esi
push esi
call fcn.00555000
pop eax
lea esi, [esp + 0x130]
mov edx, 0x59653e
mov ecx, esi
call fcn.00558723
mov edx, dword [esp + 4]
mov ecx, esi
push edi
call fcn.005550d0
pop eax
mov esi, edi
lea edi, [esp + 0x130]
lea ecx, [esp + 0x4e8]
mov edx, edi
call fcn.005521c0
lea ecx, [esp + 0x4e8]
call fcn.0045d60c
mov ecx, edi
call fcn.004053b1
mov ecx, edi
mov edx, 0x596538
push 6
pop eax
push eax
call fcn.00555000
pop eax
mov ecx, edi
mov edx, 0x596540
call fcn.00558723
mov edx, dword [esp + 4]
mov ecx, edi
mov dword [esp + 0x18], esi
push esi
call fcn.005550d0
pop eax
lea ecx, [esp + 0x4e8]
mov edx, edi
mov esi, ecx
call fcn.005521c0
cmp byte [esp + 0x4e8], 4
jne 0x41080c
mov edi, dword [esp + 0x4ec]
mov ecx, esi
call fcn.0045d60c
lea ecx, [esp + 0x130]
call fcn.004053b1
lea ecx, [esp + 0x2d0]
call fcn.00405bbb
test edi, edi
mov edi, dword [esp + 0x18]
jne 0x410385
jmp 0x4103c9
mov eax, dword [esp + 0x9e8]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x348], ecx
movsd qword [esp + 0x200], xmm0
movsd xmm0, qword [esp + 0x9e0]
test ecx, ecx
movsd qword [esp + 0x208], xmm1
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x350], edx
cmove edx, ecx
movsd qword [esp + 0x210], xmm0
mov dword [esp + 0x354], eax
mov dword [esp + 0x35c], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x358], esi
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x364], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x368], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x36c], ebx
je 0x410ad5
mov esi, dword [esp + 0x3c]
je 0x410ae7
test esi, esi
je 0x410ae7
lea ecx, [esp + 0x550]
push eax
call fcn.00548a10
pop eax
lea ecx, [esp + 0x9f0]
mov edx, esi
push dword [esp + 0x30]
call fcn.00548a10
pop eax
push 0x28
pop ecx
push 8
pop edx
call fcn.0048b62b
mov dword [eax], 4
mov dword [esp + 0x7c], eax
movsd xmm0, qword [esp + 0x550]
movsd xmm1, qword [esp + 0x558]
movsd qword [eax + 4], xmm0
movsd qword [eax + 0xc], xmm1
movq xmm0, qword [esp + 0x9f0]
movq xmm1, qword [esp + 0x9f8]
movq qword [eax + 0x14], xmm0
movq qword [eax + 0x1c], xmm1
mov ecx, edi
call fcn.00459471
mov edx, dword [esp + 0x1c]
mov ecx, edx
push 3
pop eax
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
jmp 0x410bc4
mov ecx, esi
call fcn.00405b70
jmp 0x410385
mov ecx, esi
call fcn.0045d60c
mov ecx, edi
call fcn.004053b1
lea ecx, [esp + 0x2d0]
jmp 0x410380
mov eax, dword [esp + 0x9f4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9f8]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x9fc]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [esp + 0x1a0], xmm1
movq xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [esp + 0x198], xmm0
movq qword [esp + 0x1a8], xmm1
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x550]
call fcn.00405737
lea ecx, [esp + 0x5c0]
call fcn.004058cf
mov dword [esp + 0x40], esi
xor esi, esi
push 3
pop ebx
jmp 0x410ac8
lea ecx, [esp + 0x550]
call fcn.0045422a
mov esi, edx
mov edx, dword [esp + 0x49c]
lea ecx, [esp + 0x9f0]
push esi
push eax
call fcn.00454281
pop eax
pop ecx
mov ebx, dword [esp + 0x9f0]
push 0xa
pop ecx
lea edi, [esp + 0x370]
lea esi, [esp + 0x9f8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x49c]
call fcn.00405926
mov dword [esp + 0x49c], ebx
lea edi, [esp + 0x5c0]
mov ecx, edi
call fcn.004058cf
push 0xa
pop ecx
lea esi, [esp + 0x370]
mov edx, edi
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x554]
movsd xmm0, qword [edx - 0x5c]
mov ebx, dword [esp + 0x550]
movq xmm1, qword [edx - 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x558]
movsd qword [esp + 0x198], xmm0
movq xmm0, qword [edx - 0x4c]
movq qword [esp + 0x1a0], xmm1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x55c]
movq qword [esp + 0x1a8], xmm0
mov dword [esp + 0x88], eax
mov eax, dword [edx - 0x44]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x560]
mov dword [esp + 0x7c], eax
push 0x10
pop ecx
lea esi, [esp + 0x580]
lea edi, [esp + 0xd78]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x5c0]
mov dword [esp + 0xac], eax
push 9
pop ecx
lea esi, [esp + 0x5c4]
lea edi, [esp + 0xc78]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 8]
jmp 0x410ac8
mov eax, dword [esp + 0x9f4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9f8]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x9fc]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [esp + 0x1a0], xmm1
movq xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [esp + 0x198], xmm0
movq qword [esp + 0x1a8], xmm1
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x550]
call fcn.004056db
mov dword [esp + 0x40], esi
xor esi, esi
push 3
pop ebx
mov edx, dword [esp + 0x1c]
jmp 0x4101c9
mov eax, dword [esp + 0x558]
lea ecx, [esp + 0x5c0]
mov ebx, dword [esp + 0x550]
mov edx, dword [esp + 0x554]
movsd xmm0, qword [ecx - 0x5c]
movq xmm1, qword [ecx - 0x54]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x55c]
movsd qword [esp + 0x198], xmm0
movq xmm0, qword [ecx - 0x4c]
movq qword [esp + 0x1a0], xmm1
mov dword [esp + 0x88], eax
mov eax, dword [ecx - 0x44]
movq qword [esp + 0x1a8], xmm0
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x560]
mov dword [esp + 0x7c], eax
push 0x10
pop ecx
lea esi, [esp + 0x580]
lea edi, [esp + 0xd78]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x5c0]
mov dword [esp + 0xac], eax
push 9
pop ecx
lea esi, [esp + 0x5c4]
lea edi, [esp + 0xc78]
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
jmp 0x4101c9
cmp eax, 0x80000000
mov eax, dword [esp + 0x2c]
mov ebx, 0x80000000
jne 0x410aeb
jmp 0x410b02
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x9f0]
mov edx, esi
push eax
call fcn.00548a10
pop eax
mov ebx, dword [esp + 0x9f0]
lea ecx, [esp + 0x550]
mov edx, edi
call fcn.00561728
mov ecx, dword [esp + 0x550]
mov esi, dword [esp + 0x554]
cmp ebx, 0x80000000
jne 0x410b31
push 5
pop eax
mov dword [esp + 0x40], eax
mov ebx, esi
jmp 0x410b74
lea eax, [esp + 0x9f8]
mov edi, ecx
mov ecx, eax
mov eax, dword [eax + 4]
movsd xmm0, qword [ecx - 4]
mov dword [esp + 0x558], eax
movsd qword [esp + 0x550], xmm0
push 0x28
pop ecx
push 8
pop edx
call fcn.0048b62b
mov dword [eax], 5
mov dword [eax + 4], edi
mov dword [eax + 8], esi
push 2
pop ecx
mov dword [esp + 0x40], ecx
mov ecx, eax
mov eax, dword [esp + 0x568]
movq xmm0, qword [esp + 0x560]
movsd xmm2, qword [esp + 0x550]
movq xmm1, qword [esp + 0x558]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x1b0], eax
movq qword [esp + 0x1a8], xmm0
movq qword [esp + 0x1a0], xmm1
movsd qword [esp + 0x198], xmm2
xor esi, esi
push 3
pop ebx
jmp 0x4101dd
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0xa8], edi
jmp 0x410c24
mov ecx, dword [edx + 8]
mov esi, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0xcc], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xa8], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x58], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x128], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x124], ecx
mov ecx, dword [edx + 0x24]
mov edx, dword [edx + 0x28]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xcc]
xor edi, edi
mov dword [esp + 0xd0], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], eax
push 2
pop ebx
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x4c], ecx
jmp 0x40fad9
call sub.KERNEL32.DLL_GetLastError
and dword [esp + 0x2c0], 0
mov bl, 4
mov dword [esp + 0x2c4], eax
jmp 0x411940
push 0x12
pop ecx
mov edi, esi
mov esi, eax
mov bl, 4
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x2d0]
mov eax, dword [esp + 0x2d0]
xor eax, 2
or eax, dword [esp + 0x2d4]
je 0x411939
mov ebx, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, 0xffff
mov esi, ebx
mov edi, ebx
mov dword [esp + 8], ecx
mov edx, ebx
mov dword [esp + 0x90], ebx
shld esi, ecx, 0x1f
shr edi, 1
add ecx, 0xffff0000
adc edx, 0xffffffff
cmp eax, dword [esp + 8]
mov eax, 0
sbb eax, ebx
mov eax, 0
cmovae edi, eax
cmovae esi, eax
cmovae edx, eax
cmovae ecx, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
call fcn.00402b0c
mov esi, edx
test eax, eax
mov edi, eax
cmove esi, eax
mov eax, 0x6c4590
cmove edi, eax
mov ecx, esi
xor edx, edx
call fcn.00487eba
mov ebx, edx
mov dword [esp + 0x28], eax
push esi
push edi
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x18]
mov dword [esp + str..____.____.wis], 0x596504
mov dword [esp + 0x134], 3
and dword [esp + 0x140], 0
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x258], ecx
mov ecx, fcn.004087f4
mov dword [esp + 0x378], esi
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x260], ebx
lea ebx, [esp + 0x258]
mov dword [esp + 0x264], ecx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], 2
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x130]
call fcn.00406419
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
lea ecx, [esp + 0x370]
mov edx, edi
push dword [esp + 0xe0]
call fcn.004464a3
pop eax
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x374]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x110], eax
mov edx, edi
mov ecx, esi
xor edi, edi
call fcn.00563c9c
call fcn.00457fbe
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], 0x2000
and dword [esp + 0x260], 0
and dword [esp + 0x264], 0
and dword [esp + 0x268], 0
lea esi, [esp + 0xd4]
mov dword [esp + 0x26c], esi
mov ecx, 0x2000
xor edx, edx
call fcn.00487eba
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
and dword [esp + 0x378], 0
cmp dword [esp + 8], 0x200000
mov byte [esp + 0x37c], 0
mov dword [esp + 0x380], esi
sbb dword [esp + 0x90], edi
jae 0x41124c
xor edx, edx
mov ecx, 0x100000
inc edx
call fcn.00426eaa
lea esi, [esp + 0x138]
and dword [esp + 0x130], 0
and dword [esp + 0x138], 0
and dword [esp + 0x13c], 0
mov dword [esp + 0x140], 7
mov dword [esp + 0x24], eax
mov dword [esp + 0x90], edx
and dword [esi + 0x10], 0
and dword [esi + 0xc], 0
and dword [esi + 0x16], 0
and dword [esi + 0x12], 0
mov byte [esp + 0x14d], 1
mov word [esp + 0x14f], 0x101
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x130]
push dword [esp + 0x110]
push ebx
call fcn.00543900
pop eax
pop ecx
cmp byte [esp + 0xd8], 4
mov edi, ebx
jne 0x4112fe
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xb0], eax
mov ecx, 0x2000
xor edx, edx
call fcn.00487eba
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], edx
and dword [esp + 0x138], 0
lea eax, [esp + 0xb0]
mov byte [esp + 0x13c], 0
mov dword [esp + 0x140], eax
lea ebx, [esp + 0xd8]
lea edx, [esp + 0x130]
mov ecx, ebx
push dword [esp + 0x244]
push dword [esp + 0x24c]
call fcn.00409c6d
pop eax
pop ecx
mov al, byte [esp + 0xd8]
mov byte [esp + 8], al
mov ecx, ebx
call fcn.0045d60c
cmp byte [esp + 8], 4
jne 0x411871
mov dword [esp + 0x14], edi
lea edi, [esp + 0xd8]
lea edx, [esp + 0x130]
mov ecx, edi
push 9
push dword [ebp + 0x10]
call fcn.00409c6d
pop eax
pop ecx
mov bl, byte [esp + 0xd8]
mov ecx, edi
mov edi, dword [esp + 0x14]
call fcn.0045d60c
cmp bl, 4
jne 0x411871
lea edi, [esp + 0x348]
mov ecx, edi
lea edx, [esp + 0x258]
push 0x100000
push dword [esp + 0x94]
call fcn.00409a3b
pop eax
pop ecx
cmp byte [esp + 0x348], 4
jne 0x411706
mov ecx, dword [esp + 0x34c]
test ecx, ecx
je 0x411706
mov edx, dword [esp + 0x90]
push 0x596528
push 0x100000
call fcn.00450052
pop ecx
pop ecx
mov edi, edx
mov ebx, edx
and edi, 0xf
cmp byte [esp + 0x118c], 0
je 0x4110de
mov dword [esp + 8], eax
push 0x10
pop eax
sub eax, edi
mov dword [esp + 0x110], eax
lea ecx, [eax + ebx]
call fcn.0045a826
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
and dword [esp + 0xe0], 0
cmp eax, ebx
jae 0x41111f
xor edx, edx
lea ecx, [esp + 0xd8]
push ebx
call fcn.0045a732
pop ecx
mov ecx, eax
call fcn.004388ae
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
jmp 0x411121
xor esi, esi
test edi, edi
mov ecx, 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x110], ecx
jne 0x4111f7
mov ecx, ebx
mov dword [esp + 8], eax
mov esi, ebx
call fcn.0045a826
mov edi, edx
mov dword [esp + 0x20], eax
push ebx
push dword [esp + 0xc]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x41118f
xor esi, esi
add edx, esi
push ebx
push dword [esp + 0xc]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, esi
or edi, 0xfffffff0
mov dword [esp + 0xe0], ebx
mov esi, ebx
mov ebx, dword [esp + 0x110]
test edi, edi
lea ecx, [esp + 0xd8]
je 0x41117d
cmp esi, dword [esp + 0xd8]
jne 0x411168
mov edx, esi
call fcn.0045a856
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
inc edi
mov byte [eax + esi], bl
inc esi
mov dword [esp + 0xe0], esi
jmp 0x411146
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x110], edi
cmp esi, 0x10
jb 0x4111f0
push 0x10
pop ebx
lea ecx, [edi + ebx]
add esi, 0xfffffff0
mov dword [esp + 8], ecx
mov ecx, edi
mov edx, ebx
push ebx
push eax
call fcn.0045b20c
pop eax
pop ecx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], ebx
and dword [esp + 0xd8], 0
lea ecx, [esp + 0xd8]
lea edx, [esp + 0xfa4]
call fcn.0045b23e
mov eax, edi
mov edi, dword [esp + 8]
jmp 0x4111a0
mov esi, dword [esp + 0x8c]
lea edi, [esp + 0xd8]
lea edx, [esp + 0x130]
mov ecx, edi
push esi
mov esi, dword [esp + 0x114]
push esi
call fcn.00409c6d
pop eax
pop ecx
mov bl, byte [esp + 0xd8]
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.00563c9c
mov ecx, edi
call fcn.0045d60c
cmp bl, 4
lea edi, [esp + 0x348]
jne 0x411706
mov ecx, edi
call fcn.0045d60c
jmp 0x411023
mov dword [esp + 0x14], ebx
xor esi, esi
mov ecx, 0x10000
inc esi
mov edx, esi
call fcn.00426eaa
mov dword [esp + 0x1c0], eax
mov dword [esp + 8], edx
mov ecx, 0x10000
mov edx, esi
call fcn.00426eaa
mov dword [esp + 0x220], eax
mov dword [esp + 0x90], edx
mov ecx, 0x10000
mov edx, esi
call fcn.00426eaa
mov edi, eax
mov ebx, edx
lea esi, [esp + 0x338]
lea edx, [esp + 0x258]
mov ecx, esi
push 0
push 0
push 0
push 0
call fcn.00409b4e
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x338], eax
je 0x41130f
mov ecx, edi
mov edx, ebx
call fcn.00563c9c
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 8]
call fcn.00563c9c
mov ecx, esi
call fcn.00405ae0
lea esi, [esp + 0x2d0]
jmp 0x411904
lea ecx, [esp + 0xd8]
call fcn.00405b70
jmp 0x411889
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x64], edi
lea edi, [esp + 0x2c8]
lea edx, [esp + 0x258]
mov ecx, edi
push 0x10000
push ebx
call fcn.00409a3b
pop eax
pop ecx
cmp byte [esp + 0x2c8], 4
lea esi, [esp + 0x2d0]
jne 0x4116ff
lea edi, [esp + 0x230]
lea edx, [esp + 0x258]
mov ecx, edi
push 0
push 0
push 0
push 0
call fcn.00409b4e
add esp, 0x10
xor eax, eax
cmp dword [esp + 0x230], eax
jne 0x4118b7
lea ecx, [esp + 0x4ac]
lea edx, [esp + 0xdb8]
push 0x10000
push ebx
push dword [ebp + 0xc]
call fcn.0045b8c5
add esp, 0xc
mov eax, dword [esp + 0x4b0]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x370]
push dword [esp + 0x4b4]
mov edi, eax
push eax
call fcn.00409c6d
pop eax
pop ecx
mov al, byte [esp + 0x130]
mov byte [esp + 0xa4], al
lea ecx, [esp + 0x130]
call fcn.0045d60c
cmp byte [esp + 0xa4], 4
jne 0x4118a2
mov dword [esp + 0xa4], edi
lea edi, [esp + 0x9d0]
lea edx, [esp + 0x258]
mov ecx, edi
push dword [esp + 0x24]
push dword [esp + 0x24]
push 0
push 0
call fcn.00409b4e
add esp, 0x10
xor eax, eax
mov bl, 1
cmp dword [esp + 0x9d0], eax
jne 0x411df4
xor ebx, ebx
lea ecx, [esp + 0x4b8]
lea edx, [esp + 0x258]
push 0x10000
push dword [esp + 0x94]
call fcn.00409a3b
pop eax
pop ecx
cmp byte [esp + 0x4b8], 4
mov byte [esp + 0x60], 1
jne 0x411de4
lea ecx, [esp + 0x200]
lea edx, [esp + 0x258]
push dword [esp + 0x24]
push dword [esp + 0x24]
push 0
push 0
call fcn.00409b4e
add esp, 0x10
cmp dword [esp + 0x200], ebx
mov byte [esp + 0x60], 1
jne 0x411dd8
xor ebx, ebx
lea ecx, [esp + 0x4c0]
lea edx, [esp + 0xdb8]
push 0x10000
push dword [esp + 0x94]
push dword [ebp + 0xc]
call fcn.0045b8c5
add esp, 0xc
mov esi, dword [esp + 0x4c4]
lea edi, [esp + 0x130]
lea edx, [esp + 0x370]
mov ecx, edi
push dword [esp + 0x4c8]
push esi
call fcn.00409c6d
pop eax
pop ecx
mov al, byte [esp + 0x130]
mov byte [esp + 0x20], al
mov ecx, edi
call fcn.0045d60c
cmp byte [esp + 0x20], 4
jne 0x4119d7
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x258]
push dword [esp + 0x78]
push dword [esp + 0x90]
push 0
push 0
call fcn.00409b4e
add esp, 0x10
cmp dword [esp + 0xb0], ebx
mov byte [esp + 0x60], 1
jne 0x411db0
lea ecx, [esp + 0x4cc]
lea edx, [esp + 0x258]
push 0x10000
push dword [esp + 0x78]
call fcn.00409a3b
pop eax
pop ecx
cmp byte [esp + 0x4cc], 4
mov byte [esp + 0x60], 1
jne 0x411da4
lea ecx, [esp + 0x348]
lea edx, [esp + 0x258]
push dword [esp + 0x78]
push dword [esp + 0x90]
push 0
push 0
call fcn.00409b4e
add esp, 0x10
cmp dword [esp + 0x348], ebx
mov byte [esp + 0x60], 1
jne 0x411d98
lea ecx, [esp + 0x4d4]
lea edx, [esp + 0xdb8]
push 0x10000
push dword [esp + 0x78]
push dword [ebp + 0xc]
call fcn.0045b8c5
add esp, 0xc
mov eax, dword [esp + 0x4d8]
lea edi, [esp + 0x130]
lea edx, [esp + 0x370]
mov ecx, edi
push dword [esp + 0x4dc]
mov dword [esp + 0x24], eax
push eax
call fcn.00409c6d
pop eax
pop ecx
mov bl, byte [esp + 0x130]
mov ecx, edi
call fcn.0045d60c
cmp bl, 4
jne 0x4119ea
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x24c]
push dword [esp + 0x110]
call fcn.00434de0
pop eax
mov eax, dword [esp + 0x254]
mov edi, dword [esp + 0x250]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 4]
lea ecx, [esp + 0x130]
push dword [esp + 0x18]
call fcn.00520d80
pop eax
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
cmp ecx, 0x80000000
je 0x4116a6
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], eax
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x130]
push 1
call fcn.00540840
pop eax
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
cmp eax, 0x80000000
mov dword [esp + 0x18], eax
jne 0x4119ff
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x24c]
mov edx, edi
call fcn.00563c9c
cmp byte [esp + 4], 4
setne byte [esp + 0x60]
jne 0x411d7c
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push dword [esp + 0xe4]
call sub.KERNEL32.DLL_UnlockFile
test eax, eax
je 0x411ab7
mov byte [esp + 0x130], 4
jmp 0x411acb
mov ecx, edi
jmp 0x4118c5
mov ecx, edi
call fcn.0045d60c
mov edx, dword [esp + 4]
lea esi, [esp + 0xd8]
mov ecx, esi
push dword [esp + 0x18]
call fcn.00520d80
pop eax
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
cmp ecx, 0x80000000
je 0x411783
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], eax
mov ecx, edi
mov edx, esi
push 1
call fcn.00540840
pop eax
mov esi, dword [esp + 0x348]
mov ebx, dword [esp + 0x34c]
cmp esi, 0x80000000
jne 0x41197c
mov eax, dword [esp + 0x350]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], eax
lea ecx, [esp + 0xd8]
call fcn.0045d60c
cmp bl, 4
jne 0x411871
lea ecx, [esp + 0x130]
call fcn.00405b3c
push dword [esp + 0xb0]
call sub.KERNEL32.DLL_CloseHandle
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
lea ecx, [esp + 0x370]
call fcn.00405b3c
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x25c]
call fcn.004d622c
mov ecx, dword [esp + 0x28]
mov edx, edi
call fcn.00563c9c
lea ecx, [esp + 0x2d0]
call fcn.00405bbb
lea ecx, [esp + 0x2c0]
call fcn.0045d60c
push dword [esp + 0xd4]
call sub.KERNEL32.DLL_CloseHandle
cmp byte [esp + 0x1f8], 4
lea edi, [esp + 0x258]
je 0x41183d
lea ecx, [esp + 0x1f8]
call fcn.00405b70
lea ecx, [esp + 0x550]
call fcn.004056db
mov eax, dword [esp + 0x9f0]
xor eax, 3
or eax, dword [esp + 0x9f4]
jne 0x40e677
lea ecx, [esp + 0x9f0]
call fcn.00405b89
jmp 0x40e677
lea ecx, [esp + 0x130]
call fcn.00405b3c
push dword [esp + 0xb0]
call sub.KERNEL32.DLL_CloseHandle
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
lea esi, [esp + 0x2d0]
jmp 0x411908
mov ecx, dword [esp + 0x4ac]
mov edx, edi
call fcn.00563c9c
lea edi, [esp + 0x230]
mov ecx, edi
call fcn.00405ae0
lea ecx, [esp + 0x2c8]
call fcn.0045d60c
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
call fcn.00563c9c
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
mov ecx, dword [esp + 0x1c0]
mov edx, ebx
call fcn.00563c9c
lea ecx, [esp + 0x338]
call fcn.00405ae0
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x370]
call fcn.00405b3c
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x25c]
call fcn.004d622c
mov ecx, dword [esp + 0x28]
mov edx, edi
call fcn.00563c9c
mov bl, byte [esp + 0x1f8]
mov ecx, esi
call fcn.00405bbb
lea ecx, [esp + 0x2c0]
call fcn.0045d60c
push dword [esp + 0xd4]
call sub.KERNEL32.DLL_CloseHandle
cmp bl, 4
je 0x411969
lea ecx, [esp + 0x1f8]
call fcn.00405b70
mov ebx, dword [esp + 0x9f0]
mov esi, dword [esp + 0x9f4]
jmp 0x410389
push ebx
call sub.KERNEL32.DLL_DeleteFileW
mov edi, dword [esp + 0x14]
test eax, eax
je 0x4119ae
test esi, esi
mov byte [esp + 0xd8], 4
je 0x4119a0
mov ecx, ebx
push 2
pop edx
call fcn.004256e0
lea ecx, [esp + 0xd8]
mov bl, 4
jmp 0x41179c
call sub.KERNEL32.DLL_GetLastError
test esi, esi
mov byte [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
je 0x4119d0
mov ecx, ebx
push 2
pop edx
call fcn.004256e0
xor ebx, ebx
jmp 0x411795
mov ecx, dword [esp + 0x4c0]
mov edx, esi
call fcn.00563c9c
jmp 0x411dca
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x20]
call fcn.00563c9c
jmp 0x411d98
mov edx, edi
lea ecx, [esp + 0x130]
push dword [esp + 0x24]
call fcn.00520d80
pop eax
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x138]
cmp ecx, 0x80000000
je 0x411a8b
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x138], eax
mov dword [esp + 0x134], ecx
lea edx, [esp + 0x130]
lea ecx, [esp + 0xd8]
push 1
call fcn.00540840
pop eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
cmp ecx, 0x80000000
mov dword [esp + 4], eax
mov dword [esp + 0x24], ecx
jne 0x411e73
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 4]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1b8], ecx
cmp dword [esp + 0x18], 0
je 0x4116b8
mov ecx, ebx
push 2
pop edx
call fcn.004256e0
jmp 0x4116b8
call sub.KERNEL32.DLL_GetLastError
and dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
lea edi, [esp + 0x130]
mov ecx, edi
call fcn.0045d60c
mov eax, dword [esp + 0x380]
movq xmm0, qword [esp + 0x370]
movq xmm1, qword [esp + 0x378]
mov dword [esp + 0x140], eax
movq qword [esp + 0x138], xmm1
movq qword [esp + 0x130], xmm0
mov ecx, edi
call fcn.00405b3c
lea eax, [esp + 0x138]
and dword [esp + 0x130], 0
and dword [esp + 0x138], 0
and dword [esp + 0x13c], 0
mov dword [esp + 0x140], 7
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x16], 0
and dword [eax + 0x12], 0
mov byte [esp + 0x14e], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xd8]
push dword [esp + 0x110]
call fcn.00434de0
pop eax
mov ebx, dword [esp + 0xdc]
lea ecx, [esp + 0x4e0]
mov edx, edi
push dword [esp + 0xe0]
push ebx
call fcn.00543900
pop eax
pop ecx
mov ecx, dword [esp + 0xd8]
mov edx, ebx
call fcn.00563c9c
cmp byte [esp + 0x4e0], 4
jne 0x411d56
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x1f4], eax
mov ecx, 0x2000
xor edx, edx
call fcn.00487eba
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
and dword [esp + 0xe0], 0
lea eax, [esp + 0x1f4]
mov byte [esp + 0xe4], 0
mov dword [esp + 0xe8], eax
lea edi, [esp + 0x24c]
lea edx, [esp + 0xd8]
mov ecx, edi
push dword [esp + 0x244]
push dword [esp + 0x24c]
call fcn.00409c6d
pop eax
pop ecx
mov bl, byte [esp + 0x24c]
mov ecx, edi
call fcn.0045d60c
cmp bl, 4
jne 0x411d64
lea edi, [esp + 0xd8]
lea ecx, [esp + 0x24c]
mov edx, edi
push 9
push dword [ebp + 0x10]
call fcn.00409c6d
pop eax
pop ecx
mov bl, byte [esp + 0x24c]
mov ecx, edi
call fcn.00405b3c
lea ecx, [esp + 0x24c]
call fcn.0045d60c
cmp bl, 4
jne 0x411d70
push dword [esp + 0x1f4]
call sub.KERNEL32.DLL_CloseHandle
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x20]
call fcn.00563c9c
lea ecx, [esp + 0x1b8]
call fcn.0045d60c
lea ecx, [esp + 0x348]
call fcn.00405ae0
lea ecx, [esp + 0x4cc]
call fcn.0045d60c
mov ecx, dword [esp + 0x4c0]
mov edx, esi
call fcn.00563c9c
lea ecx, [esp + 0xb0]
call fcn.00405ae0
lea ecx, [esp + 0x200]
call fcn.00405ae0
lea ecx, [esp + 0x4b8]
call fcn.0045d60c
mov ecx, dword [esp + 0x4ac]
mov edx, dword [esp + 0xa4]
call fcn.00563c9c
lea ecx, [esp + 0x9d0]
call fcn.00405ae0
lea ecx, [esp + 0x230]
call fcn.00405ae0
lea ecx, [esp + 0x2c8]
call fcn.0045d60c
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
call fcn.00563c9c
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 8]
call fcn.00563c9c
lea ecx, [esp + 0x338]
call fcn.00405ae0
mov edi, dword [esp + 0x14]
jmp 0x4117de
lea ecx, [esp + 0x4e0]
call fcn.00405b70
jmp 0x411d7c
lea ecx, [esp + 0xd8]
call fcn.00405b3c
push dword [esp + 0x1f4]
call sub.KERNEL32.DLL_CloseHandle
mov ecx, dword [esp + 0x4d4]
mov edx, dword [esp + 0x20]
call fcn.00563c9c
lea ecx, [esp + 0x1b8]
call fcn.0045d60c
lea ecx, [esp + 0x348]
call fcn.00405ae0
lea ecx, [esp + 0x4cc]
call fcn.0045d60c
mov ecx, dword [esp + 0x4c0]
mov edx, esi
call fcn.00563c9c
lea ecx, [esp + 0xb0]
call fcn.00405ae0
lea esi, [esp + 0x2d0]
lea edi, [esp + 0x9d0]
lea ecx, [esp + 0x200]
call fcn.00405ae0
lea ecx, [esp + 0x4b8]
call fcn.0045d60c
mov bl, byte [esp + 0x60]
mov ecx, dword [esp + 0x4ac]
mov edx, dword [esp + 0xa4]
call fcn.00563c9c
mov ecx, edi
call fcn.00405ae0
lea ecx, [esp + 0x230]
call fcn.00405ae0
lea ecx, [esp + 0x2c8]
call fcn.0045d60c
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
call fcn.00563c9c
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 8]
call fcn.00563c9c
lea ecx, [esp + 0x338]
call fcn.00405ae0
mov edi, dword [esp + 0x14]
test bl, bl
jne 0x411908
jmp 0x411914
push 1
push dword [esp + 8]
push ebx
call sub.KERNEL32.DLL_MoveFileExW
test eax, eax
je 0x411eb4
cmp dword [esp + 0x24], 0
mov byte [esp + 0x1b8], 4
je 0x411e9e
mov ecx, dword [esp + 4]
push 2
pop edx
call fcn.004256e0
cmp dword [esp + 0x18], 0
mov al, 4
mov dword [esp + 4], eax
je 0x4116b8
jmp 0x411aa8
call sub.KERNEL32.DLL_GetLastError
cmp dword [esp + 0x24], 0
mov byte [esp + 0x1b8], 0
mov dword [esp + 0x1bc], eax
je 0x411edb
mov ecx, dword [esp + 4]
push 2
pop edx
call fcn.004256e0
mov dword [esp + 4], 0
jmp 0x411a9d
mov esi, dword [esp + 0x488]
mov eax, dword [esp + 0x48c]
mov ecx, 0xe8
xor edx, edx
sub eax, esi
add esi, 0x10
div ecx
mov edi, eax
sub edi, 1
jb 0x411f25
mov ecx, dword [esi - 0x10]
mov edx, dword [esi - 0xc]
call fcn.00563c9c
mov ecx, esi
call fcn.0040599f
add esi, 0xe8
jmp 0x411f06
mov eax, dword [esp + 0x484]
test eax, eax
je 0x411f47
mov ecx, dword [esp + 0x480]
imul eax, eax, 0xe8
push 8
pop edx
push eax
call fcn.00408833
pop eax
lea ecx, [esp + 0x3a8]
call fcn.0040599f
lea ecx, [esp + 0x498]
call fcn.00405926
lea ecx, [esp + 0x49c]
call fcn.00405926
lea ecx, [esp + 0x4a0]
call fcn.00405ba5
lea ecx, [esp + 0x490]
call fcn.00404d74
lea eax, [esp + 0x550]
mov dword [eax], str._r_SUCCESS_
mov dword [eax + 4], 1
and dword [eax + 0x10], 0
mov dword [eax + 8], eax
and dword [eax + 0xc], 0
lea ebx, [esp + 0x130]
lea edi, [esp + 0x550]
mov ecx, ebx
mov edx, edi
call fcn.00406419
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [esp + 8], eax
lea eax, [0x61e8a4]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0xa1ea6210
mov edx, dword [edi]
call fcn.0040915b
pxor xmm0, xmm0
xor ecx, ecx
movdqa xmmword [edi], xmm0
cmp ecx, 0xf
ja 0x411ffe
mov edx, dword [ecx + 0x5964e4]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x550], edx
add ecx, 4
jmp 0x411fe4
mov al, byte [eax + 0x10]
lea edx, [esp + 0x550]
movdqa xmm0, xmmword [edx]
mov dword [edx], 0x62bce0
push 2
pop ecx
xor al, 0xa0
mov dword [edx + 4], ecx
and dword [edx + 0x10], 0
lea edi, [esp + 0x398]
movdqa xmmword [esp + 0x9f0], xmm0
mov byte [esp + 0xa00], al
lea eax, [esp + 0x9f0]
mov dword [edx + 8], edi
mov dword [edx + 0xc], ecx
mov dword [esp + 0x2d0], eax
lea eax, [esp + 0x2d0]
mov dword [esp + 0x2d4], 0x11
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x39c], fcn.00426659
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x3a4], fcn.004087f4
lea ebx, [esp + 0xca8]
mov ecx, ebx
call fcn.00406419
mov edi, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x398], edi
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0xc64]
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x2d4], esi
mov byte [eax + 8], 0
mov eax, dword [esp + 0xc68]
mov ecx, dword [esp + 0xc6c]
mov edx, dword [esp + 0xc70]
and dword [esp + 0xc68], 0
test eax, eax
je 0x4124a5
lea ebx, [esp + 0x550]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov ecx, ebx
call fcn.0051daa4
test eax, eax
jne 0x4124b7
lea eax, [esp + 0x2d0]
lea edx, [esp + 0x398]
movzx ecx, byte [esp + 0xc74]
mov dword [esp + 0x9f0], eax
mov eax, fcn.00426659
mov dword [esp + 0x9f4], eax
mov dword [esp + 0x9f8], edx
lea edx, [esp + 0x550]
mov dword [esp + 0x9fc], eax
lea eax, [esp + 0x9f0]
mov dword [edx], 0x69b380
mov dword [edx + 4], 3
and dword [edx + 0x10], 0
mov dword [edx + 8], eax
mov dword [edx + 0xc], 2
call fcn.0051ddb5
mov ecx, dword [esp + 0xca8]
mov edx, edi
call fcn.00563c9c
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 8]
call fcn.00563c9c
mov esi, dword [esp + 0x9b8]
mov edi, dword [esp + 0x9bc]
add esi, 4
sub edi, 1
jb 0x4121b0
mov ecx, dword [esi - 4]
mov edx, dword [esi]
call fcn.00563c9c
add esi, 0x10
jmp 0x41219c
mov eax, dword [esp + 0x9b4]
test eax, eax
je 0x4121cf
mov ecx, dword [esp + 0x9b8]
shl eax, 4
push 4
pop edx
push eax
call fcn.00408833
pop eax
mov ecx, dword [esp + 0x968]
mov edx, dword [esp + 0x96c]
call fcn.00563c9c
mov eax, dword [esp + 0x998]
lock dec dword [eax]
jne 0x4121fa
lea ecx, [esp + 0x998]
call fcn.00454090
mov eax, dword [esp + 0x99c]
lock dec dword [eax]
jne 0x412212
lea ecx, [esp + 0x99c]
call fcn.00453fa5
mov ecx, dword [esp + 0x97c]
mov edx, dword [esp + 0x980]
call fcn.00453f57
mov ecx, dword [esp + 0x978]
mov edx, dword [esp + 0x97c]
call fcn.00453f75
mov ecx, dword [esp + 0x988]
mov edx, dword [esp + 0x98c]
call fcn.00453f33
mov ecx, dword [esp + 0x984]
mov edx, dword [esp + 0x988]
call fcn.0044b726
mov eax, dword [esp + 0x9a8]
cmp eax, 2
je 0x412284
mov edx, dword [esp + 0x9ac]
test eax, eax
lea ecx, [esp + 0x9ac]
lock dec dword [edx]
jne 0x412284
call fcn.004fddf0
lea ecx, [esp + 0x9c4]
call fcn.00405ba5
lea ecx, [esp + 0x9a0]
call fcn.00404d74
cmp dword [esp + 0xc68], 0
je 0x4122b2
lea ecx, [esp + 0xc68]
call fcn.004058ae
lea ecx, [esp + 0xc64]
call fcn.0040598d
mov ecx, dword [esp + 0xc44]
mov edx, dword [esp + 0xc48]
call fcn.0055c549
mov ecx, dword [esp + 0xc54]
mov edx, dword [esp + 0xc58]
call fcn.004767d9
mov ecx, dword [ebp + 0x20]
call fcn.004051f6
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00563c9c
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00563c9c
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00563c9c
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
call fcn.00563c9c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm0, qword [esp + 0x2d0]
movq xmm1, qword [esp + 0x2d8]
movq qword [esp + 0x4f0], xmm1
movsd qword [esp + 0x4e8], xmm0
jmp 0x40d637
call fcn.00458e54
call fcn.00458e8d
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_webpki_0.101.7_srccalendar.rs
push 0x69e0d0
call fcn.0043a9e0
pop eax
jmp 0x4123ff
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x550]
mov dword [eax], ecx
mov byte [eax + 4], dl
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x593d70
push 0x593cf4
push eax
call fcn.0043f6f0
call fcn.004341f0
push 4
pop ecx
mov edx, edi
call fcn.00434230
call fcn.004341f0
lea ecx, [esp + 0x550]
mov dword [ecx], str.Ignore::add_parents_called_on_non_root_matcher
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], 0x6c4590
and dword [ecx + 0xc], 0
mov edx, 0x593d60
call fcn.00439fc0
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x593da8
call fcn.0043a9e0
mov ecx, ebx
push 0x69e0c0
call fcn.0043a6f0
pop eax
ud2
push 0x1e
pop edx
mov ecx, 0x6c37ec
push 0x6c380c
call fcn.004408d0
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x593d98
call fcn.0043a9e0
call fcn.004341f0
push 4
pop ecx
mov edx, esi
call fcn.00434230
call fcn.004341f0
movq xmm0, qword [esp + 0xa00]
movsd xmm2, qword [esp + 0x9f0]
movq xmm1, qword [esp + 0x9f8]
movq qword [esp + 0x560], xmm0
movq qword [esp + 0x558], xmm1
movsd qword [esp + 0x550], xmm2
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x63c27c
push 0x63be88
lea eax, [esp + 0x558]
jmp 0x412399
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
push 0x69ea74
push 0x63be68
push esi
call fcn.0043f6f0
push 0x34
pop edx
mov ecx, str.Stopping_the_spinner_thread_should_only_happen_once.C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_spinoff_0.8.0_srclib.rsi
push 0x69b428
call fcn.004408d0
mov dword [esp + 0x550], eax
mov dword [esp + 0x554], edx
push 0xf
pop edx
mov ecx, str.Thread_to_join.
push 0x69b448
push 0x69b1fc
push ebx
call fcn.0043f6f0
call fcn.004341f0
call fcn.004341f0
jmp 0x4124f3
call fcn.004341f0
call fcn.004341f0
push 8
jmp 0x41242c
call fcn.004341f0
call fcn.004341f0
jmp 0x4123a4