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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1d98
call fcn.00603dc0
mov ebx, ecx
call fcn.005eeb70
test eax, eax
je 0x486c3e
movdqu xmm0, xmmword [eax]
mov edx, dword [0x6d6b64]
mov ecx, dword [0x6d3de0]
movd edi, xmm0
pshufd xmm1, xmm0, 0x55
add edi, 1
movd esi, xmm1
adc esi, 0
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [esp + 0x168], 0x639f298e
mov dword [esp + 0x16c], 0x1c9d3adb
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b4], 0x110000
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x214], edx
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], edx
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x254], 0x3e7
mov dword [esp + 0x258], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x268], 0
mov byte [esp + 0x2b8], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x270], ecx
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], edx
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 0
mov dword [esp + 0x288], ecx
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], 0
movdqu xmmword [esp + 0x180], xmm0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x61fe20
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a8], 0
lea esi, [esp + 0x2a0]
mov dword [esp + 0x2b0], 0
lea ecx, [esp + 0x10]
mov edx, str.helpPrint_help_informationPrint_version_informationunexpected_invalid_UTF_8_code_point_cargo_registry_src_github.com_1ecc6299db9ec823_clap_3.0.0_beta.5_src_parse_matches_arg_matches.rsB
push 4
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], str.helpPrint_help_informationPrint_version_informationunexpected_invalid_UTF_8_code_point_cargo_registry_src_github.com_1ecc6299db9ec823_clap_3.0.0_beta.5_src_parse_matches_arg_matches.rsB
mov dword [esp + 0x90], 4
lea ecx, [esp + 0x28]
lea eax, [esp + 0x7e8]
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x148]
lea eax, [esp + 0x14c]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x2a4]
test edi, edi
cmove eax, esi
mov esi, dword [eax]
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov dword [esp + 0x2c4], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, 1
cmove edi, eax
movzx eax, word [esp + 0x156]
mov dword [esp], edi
mov edi, dword [esp + 0x278]
mov word [esp + 0xc], ax
cmp edi, dword [esp + 0x274]
jne 0x483690
lea ecx, [esp + 0x270]
mov edx, edi
call fcn.00415e90
mov edi, dword [esp + 0x278]
mov ebx, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul esi, edi, 0x148
movsd qword [ebx + esi + 8], xmm1
movsd qword [ebx + esi], xmm0
mov dword [ebx + esi + 0x10], 0x61ccf0
mov dword [ebx + esi + 0x14], 0x16
lea eax, [ebx + esi + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc edi
mov dword [ebx + esi + 0x138], eax
mov eax, dword [esp + 4]
mov dword [ebx + esi + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [ebx + esi + 0x140], eax
movzx eax, word [esp + 0xc]
mov word [ebx + esi + 0x144], 0x100
mov word [ebx + esi + 0x146], ax
mov dword [esp + 0x278], edi
lea eax, [esp + 0x168]
push 0x158
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x168]
mov edx, 0x6857a6
push 7
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x1e4], 0x6857a6
mov dword [esp + 0x1e8], 7
lea eax, [esp + 0x180]
movsd xmm0, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x2a0]
lea edx, [esp + 0x148]
lea esi, [esp + 0x2a4]
mov edi, dword [esp + 0x120]
lea ecx, [esp + 0x2a8]
movzx ebx, word [esp + 0x2ae]
test eax, eax
cmovne edx, esi
mov esi, dword [edx]
lea edx, [esp + 0x14c]
cmove ecx, edx
mov edx, 1
mov ecx, dword [ecx]
cmovne edx, eax
cmp edi, dword [esp + 0x11c]
mov word [esp + 4], bx
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
jne 0x48381e
lea ecx, [esp + 0x118]
mov edx, edi
call fcn.00415e90
mov edi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul esi, edi, 0x148
lea eax, [ebx + esi + 0x18]
movsd qword [ebx + esi + 8], xmm1
movsd qword [ebx + esi], xmm0
mov dword [ebx + esi + 0x10], 0x61cd06
mov dword [ebx + esi + 0x14], 0x19
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc edi
mov dword [ebx + esi + 0x138], eax
mov eax, dword [esp + 8]
mov dword [ebx + esi + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + esi + 0x140], eax
movzx eax, word [esp + 4]
mov word [ebx + esi + 0x144], 0x100
mov word [ebx + esi + 0x146], ax
mov dword [esp + 0x120], edi
lea esi, [esp + 0x12d0]
push 0x158
lea eax, [esp + 0x14]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
lea eax, [esp + 0x170]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, str.access_token
push 0xc
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
lea esi, [esp + 0x40]
lea edi, [esp + 0x9d0]
mov ecx, 0x20
lea ebx, [esp + 0x480]
mov dword [esp + 0x6b8], eax
movsd qword [esp + 0x6a8], xmm2
movsd qword [esp + 0x6a0], xmm1
movsd xmm2, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x6b0], xmm0
movsd qword [esp + 0x698], xmm1
movsd qword [esp + 0x690], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea eax, [esp + 0xcc]
push 0x8c
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x698]
movsd xmm0, qword [esp + 0x690]
movsd xmm2, qword [esp + 0x6a8]
mov eax, dword [esp + 0x6b8]
lea edi, [esp + 0xc70]
mov ecx, 0x20
lea esi, [esp + 0x9d0]
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x6a0]
movsd qword [esp + 0x328], xmm0
movsd qword [esp + 0x340], xmm2
mov dword [esp + 0x350], eax
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x6b0]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
push ebx
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x483a44
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
or dword [esp], 0x20
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f28a
mov dword [eax + 4], 0xc
je 0x483a84
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x340]
movsd xmm1, qword [esp + 0x338]
mov eax, dword [esp + 0x350]
movsd xmm0, qword [esp + 0x348]
lea edi, [esp + 0x40]
lea esi, [esp + 0xc70]
mov ecx, 0x20
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x330]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x483b48
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xec]
test eax, eax
je 0x483b93
lock dec dword [eax]
jne 0x483b93
lea ecx, [esp + 0xec]
call fcn.004179f0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x61f8ac
lea edi, [esp + 0x480]
lea esi, [esp + 0x10]
mov ecx, 0x1f
lea eax, [esp + 0x94]
rep movsd dword es:[edi], dword [esi]
push 0xb4
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14c]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
lea esi, [esp + 0x498]
lea edi, [esp + 0xc70]
mov ecx, 0x19
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x150]
movsd qword [esp + 0x9d0], xmm0
movsd qword [esp + 0x9d8], xmm1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x328], eax
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x328]
test ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0x690], eax
jne 0x483c84
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x278]
cmp edx, dword [esp + 0x274]
jne 0x483ca7
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
imul ebx, edx, 0x148
lea esi, [esp + 0xc70]
mov ecx, 0x19
movsd qword [eax + ebx + 8], xmm1
movsd qword [eax + ebx], xmm0
mov dword [eax + ebx + 0x10], str.Necessary_
mov dword [eax + ebx + 0x14], 0xc
lea edi, [eax + ebx + 0x18]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], str.access_token
mov edi, eax
mov dword [eax + ebx + 0x80], 0xc
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x14]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x690]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1428]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1dc
push 5
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
lea esi, [esp + 0x40]
lea edi, [esp + 0x9d0]
mov ecx, 0x20
mov dword [esp + 0x6b8], eax
movsd qword [esp + 0x6a8], xmm2
movsd qword [esp + 0x6a0], xmm1
movsd xmm2, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x6b0], xmm0
movsd qword [esp + 0x698], xmm1
movsd qword [esp + 0x690], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
push 0x8c
lea eax, [esp + 0xd0]
push eax
lea ebx, [esp + 0x488]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x698]
movsd xmm0, qword [esp + 0x690]
movsd xmm2, qword [esp + 0x6a8]
mov eax, dword [esp + 0x6b8]
lea edi, [esp + 0xc70]
mov ecx, 0x20
lea esi, [esp + 0x9d0]
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x6a0]
movsd qword [esp + 0x328], xmm0
movsd qword [esp + 0x340], xmm2
mov dword [esp + 0x350], eax
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x6b0]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
push ebx
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x483ee9
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f2a2
mov dword [eax + 4], 5
je 0x483f25
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x340]
movsd xmm1, qword [esp + 0x338]
mov eax, dword [esp + 0x350]
movsd xmm0, qword [esp + 0x348]
lea edi, [esp + 0x40]
lea esi, [esp + 0xc70]
mov ecx, 0x20
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x330]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
or eax, 0x100020
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x483fee
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xec]
test eax, eax
je 0x484039
lock dec dword [eax]
jne 0x484039
lea ecx, [esp + 0xec]
call fcn.004179f0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x61f8ac
lea edi, [esp + 0x480]
mov ecx, 0x12
lea esi, [esp + 0x40]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x10]
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x20]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x328], xmm0
movsd qword [esp + 0x340], xmm2
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x30]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8c]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xbc
push eax
lea ebx, [esp + 0x7f0]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1178], eax
lea eax, [esp + 0x7f0]
push 0xb4
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm2, qword [esp + 0x340]
movsd xmm1, qword [esp + 0x338]
mov eax, dword [esp + 0x350]
movsd xmm0, qword [esp + 0x348]
lea edi, [esp + 0xc70]
mov ecx, 0x12
lea esi, [esp + 0x480]
movsd qword [esp + 0x9e8], xmm2
movsd qword [esp + 0x9e0], xmm1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x330]
mov dword [esp + 0x9f8], eax
movsd qword [esp + 0x9f0], xmm0
movsd qword [esp + 0x9d8], xmm1
movsd qword [esp + 0x9d0], xmm2
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1178]
movsd xmm1, qword [esp + 0x330]
movsd xmm0, qword [esp + 0x328]
movsd xmm2, qword [esp + 0x9e8]
test ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0x1020], eax
movsd qword [esp + 0xed0], xmm1
movsd xmm1, qword [esp + 0x9f0]
mov eax, dword [esp + 0x9f8]
movsd qword [esp + 0xec8], xmm0
movsd qword [esp + 0x690], xmm2
movsd qword [esp + 0x698], xmm1
mov dword [esp + 0x6a0], eax
jne 0x48423c
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x278]
or esi, 2
cmp edx, dword [esp + 0x274]
jne 0x484266
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov ecx, dword [esp + 0x270]
movsd xmm0, qword [esp + 0xec8]
movsd xmm1, qword [esp + 0xed0]
imul ebx, edx, 0x148
movsd qword [ecx + ebx + 8], xmm1
movsd qword [ecx + ebx], xmm0
mov dword [ecx + ebx + 0x10], 0x61f2a7
mov dword [ecx + ebx + 0x14], 0x27
lea edi, [ecx + ebx + 0x30]
movsd xmm0, qword [esp + 0x690]
movsd xmm1, qword [esp + 0x698]
movsd qword [ecx + ebx + 0x18], xmm0
movsd qword [ecx + ebx + 0x20], xmm1
mov eax, dword [esp + 0x6a0]
mov dword [ecx + ebx + 0x28], eax
mov dword [ecx + ebx + 0x2c], esi
mov eax, ecx
lea esi, [esp + 0xc70]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x78], 0x70
mov dword [eax + ebx + 0x7c], 0x61f1dc
mov edi, eax
mov dword [eax + ebx + 0x80], 5
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x7ec]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x1020]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1580]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1e1
push 6
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f1e1
mov dword [esp + 0x90], 6
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], eax
test edx, edx
lea eax, [esp + 0x14c]
cmove eax, ecx
lea ecx, [esp + 0x2a4]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0x150]
cmove eax, ecx
mov ecx, 1
mov eax, dword [eax]
cmove edx, ecx
cmp esi, dword [esp + 0x274]
mov dword [esp], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
jne 0x48445d
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f2ce
mov dword [edi + ebx + 0x14], 0x29
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x16d8]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1e7
push 7
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f1e7
mov dword [esp + 0x90], 7
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, dword [esp]
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], ecx
mov dword [esp], edx
jne 0x4845e8
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f2f7
mov dword [edi + ebx + 0x14], 0x26
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1830]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1ee
push 7
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f1ee
mov dword [esp + 0x90], 7
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], eax
test edx, edx
lea eax, [esp + 0x14c]
cmove eax, ecx
lea ecx, [esp + 0x2a4]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0x150]
cmove eax, ecx
mov ecx, 1
mov eax, dword [eax]
cmove edx, ecx
cmp esi, dword [esp + 0x274]
mov dword [esp], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
jne 0x48477c
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f31d
mov dword [edi + ebx + 0x14], 0x2a
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1988]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1f5
push 0xa
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f1f5
mov dword [esp + 0x90], 0xa
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, dword [esp]
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], ecx
mov dword [esp], edx
jne 0x484907
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f347
mov dword [edi + ebx + 0x14], 0x17
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1ae0]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f1ff
push 0x13
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f1ff
mov dword [esp + 0x90], 0x13
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, 1
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
jne 0x484a93
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov ebx, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul edi, esi, 0x148
lea eax, [ebx + edi + 0x18]
movsd qword [ebx + edi + 8], xmm1
movsd qword [ebx + edi], xmm0
mov dword [ebx + edi + 0x10], 0x61f35e
mov dword [ebx + edi + 0x14], 0x21
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
inc esi
mov dword [ebx + edi + 0x138], eax
mov eax, dword [esp]
mov dword [ebx + edi + 0x13c], eax
mov eax, dword [esp + 4]
mov dword [ebx + edi + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [ebx + edi + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1c38]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f212
push 0x10
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
lea esi, [esp + 0x40]
lea edi, [esp + 0x9d0]
mov ecx, 0x20
mov dword [esp + 0x6b8], eax
movsd qword [esp + 0x6a8], xmm2
movsd qword [esp + 0x6a0], xmm1
movsd xmm2, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x6b0], xmm0
movsd qword [esp + 0x698], xmm1
movsd qword [esp + 0x690], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
push 0x8c
lea eax, [esp + 0xd0]
push eax
lea ebx, [esp + 0x488]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x698]
movsd xmm0, qword [esp + 0x690]
movsd xmm2, qword [esp + 0x6a8]
mov eax, dword [esp + 0x6b8]
lea edi, [esp + 0xc70]
mov ecx, 0x20
lea esi, [esp + 0x9d0]
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x6a0]
movsd qword [esp + 0x328], xmm0
movsd qword [esp + 0x340], xmm2
mov dword [esp + 0x350], eax
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x6b0]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
push ebx
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x484cac
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f37f
mov dword [eax + 4], 0x10
je 0x484ce8
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x340]
movsd xmm1, qword [esp + 0x338]
mov eax, dword [esp + 0x350]
movsd xmm0, qword [esp + 0x348]
lea edi, [esp + 0x40]
lea esi, [esp + 0xc70]
mov ecx, 0x20
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x330]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
or eax, 0x100020
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x484db1
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xec]
test eax, eax
je 0x484dfc
lock dec dword [eax]
jne 0x484dfc
lea ecx, [esp + 0xec]
call fcn.004179f0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x61f8ac
lea edi, [esp + 0x480]
mov ecx, 0x13
lea esi, [esp + 0x40]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x10]
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 0x9d8], xmm1
movsd xmm1, qword [esp + 0x20]
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x9d0], xmm0
movsd qword [esp + 0x9e8], xmm2
movsd qword [esp + 0x9e0], xmm1
movsd xmm1, qword [esp + 0x30]
mov dword [esp + 0xc], eax
movsd qword [esp + 0x9f0], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14c]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
lea edi, [esp + 0xc70]
mov ecx, 0x13
lea esi, [esp + 0x480]
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x150]
movsd qword [esp + 0x328], xmm0
movsd xmm0, qword [esp + 0x9e0]
movsd qword [esp + 0x330], xmm1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
movsd qword [esp + 0x338], xmm0
movsd xmm0, qword [esp + 0x9e8]
mov dword [esp + 0x690], eax
movsd qword [esp + 0x340], xmm0
movsd xmm0, qword [esp + 0x9f0]
mov eax, dword [esp + 0x9f8]
movsd qword [esp + 0x348], xmm0
mov dword [esp + 0x350], eax
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x690]
movsd xmm3, qword [esp + 0x330]
movsd xmm0, qword [esp + 0x348]
movsd xmm1, qword [esp + 0x340]
movsd xmm2, qword [esp + 0x338]
movsd xmm5, qword [esp + 0x328]
movsd xmm4, qword [esp + 0x328]
test ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0xec8], eax
mov eax, dword [esp + 0x350]
movsd qword [esp + 0x7f0], xmm3
movsd xmm3, qword [esp + 0x330]
movsd qword [esp + 0x808], xmm0
movsd qword [esp + 0x800], xmm1
movsd qword [esp + 0x7f8], xmm2
movsd qword [esp + 0x7e8], xmm5
movsd qword [esp + 0x9d0], xmm4
movsd qword [esp + 0x488], xmm0
movsd qword [esp + 0x480], xmm1
mov dword [esp + 0x810], eax
movsd qword [esp + 0x9d8], xmm3
mov dword [esp + 0x490], eax
jne 0x485034
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x278]
or esi, 2
cmp edx, dword [esp + 0x274]
jne 0x48505e
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov ecx, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
imul ebx, edx, 0x148
movsd qword [ecx + ebx + 8], xmm1
movsd qword [ecx + ebx], xmm0
mov dword [ecx + ebx + 0x10], 0x61f38f
mov dword [ecx + ebx + 0x14], 0x1f
lea edi, [ecx + ebx + 0x30]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
movsd qword [ecx + ebx + 0x18], xmm0
movsd qword [ecx + ebx + 0x20], xmm1
mov eax, dword [esp + 0x490]
mov dword [ecx + ebx + 0x28], eax
mov dword [ecx + ebx + 0x2c], esi
mov eax, ecx
lea esi, [esp + 0xc70]
mov ecx, 0x13
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], 0x61f212
mov edi, eax
mov dword [eax + ebx + 0x80], 0x10
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x14]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xec8]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1020]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f222
push 0xf
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
lea ebx, [esp + 0x9d0]
lea esi, [esp + 0x40]
mov ecx, 0x20
mov edi, ebx
mov dword [esp + 0x6b8], eax
movsd qword [esp + 0x6a8], xmm2
movsd qword [esp + 0x6a0], xmm1
movsd xmm2, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x6b0], xmm0
movsd qword [esp + 0x698], xmm1
movsd qword [esp + 0x690], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
push 0x8c
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x488]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x698]
movsd xmm0, qword [esp + 0x690]
movsd xmm2, qword [esp + 0x6a8]
mov eax, dword [esp + 0x6b8]
lea edi, [esp + 0xc70]
mov ecx, 0x20
mov esi, ebx
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x6a0]
movsd qword [esp + 0x328], xmm0
movsd qword [esp + 0x340], xmm2
mov dword [esp + 0x350], eax
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x6b0]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x484]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4852d3
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f3ae
mov dword [eax + 4], 0xf
je 0x48530f
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x340]
movsd xmm1, qword [esp + 0x338]
mov eax, dword [esp + 0x350]
movsd xmm0, qword [esp + 0x348]
lea edi, [esp + 0x40]
lea esi, [esp + 0xc70]
mov ecx, 0x20
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x330]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
or eax, 0x100020
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4853d8
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xec]
test eax, eax
je 0x485423
lock dec dword [eax]
jne 0x485423
lea ecx, [esp + 0xec]
call fcn.004179f0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x61f8ac
lea edi, [esp + 0x480]
mov ecx, 0x13
lea esi, [esp + 0x40]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x10]
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 0x9d8], xmm1
movsd xmm1, qword [esp + 0x20]
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x9d0], xmm0
movsd qword [esp + 0x9e8], xmm2
movsd qword [esp + 0x9e0], xmm1
movsd xmm1, qword [esp + 0x30]
mov dword [esp + 0xc], eax
movsd qword [esp + 0x9f0], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14c]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
lea edi, [esp + 0xc70]
mov ecx, 0x13
lea esi, [esp + 0x480]
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x150]
movsd qword [esp + 0x328], xmm0
movsd xmm0, qword [esp + 0x9e0]
movsd qword [esp + 0x330], xmm1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
movsd qword [esp + 0x338], xmm0
movsd xmm0, qword [esp + 0x9e8]
mov dword [esp + 0x690], eax
movsd qword [esp + 0x340], xmm0
movsd xmm0, qword [esp + 0x9f0]
mov eax, dword [esp + 0x9f8]
movsd qword [esp + 0x348], xmm0
mov dword [esp + 0x350], eax
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x690]
movsd xmm3, qword [esp + 0x330]
movsd xmm0, qword [esp + 0x348]
movsd xmm1, qword [esp + 0x340]
movsd xmm2, qword [esp + 0x338]
movsd xmm5, qword [esp + 0x328]
movsd xmm4, qword [esp + 0x328]
test ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0xec8], eax
mov eax, dword [esp + 0x350]
movsd qword [esp + 0x7f0], xmm3
movsd xmm3, qword [esp + 0x330]
movsd qword [esp + 0x808], xmm0
movsd qword [esp + 0x800], xmm1
movsd qword [esp + 0x7f8], xmm2
movsd qword [esp + 0x7e8], xmm5
movsd qword [esp + 0x9d0], xmm4
movsd qword [esp + 0x488], xmm0
movsd qword [esp + 0x480], xmm1
mov dword [esp + 0x810], eax
movsd qword [esp + 0x9d8], xmm3
mov dword [esp + 0x490], eax
jne 0x48565b
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x278]
or esi, 2
cmp edx, dword [esp + 0x274]
jne 0x485685
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov ecx, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x9d0]
movsd xmm1, qword [esp + 0x9d8]
imul ebx, edx, 0x148
movsd qword [ecx + ebx + 8], xmm1
movsd qword [ecx + ebx], xmm0
mov dword [ecx + ebx + 0x10], 0x61f3bd
mov dword [ecx + ebx + 0x14], 0x23
lea edi, [ecx + ebx + 0x30]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
movsd qword [ecx + ebx + 0x18], xmm0
movsd qword [ecx + ebx + 0x20], xmm1
mov eax, dword [esp + 0x490]
mov dword [ecx + ebx + 0x28], eax
mov dword [ecx + ebx + 0x2c], esi
mov eax, ecx
lea esi, [esp + 0xc70]
mov ecx, 0x13
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], 0x61f222
mov edi, eax
mov dword [eax + ebx + 0x80], 0xf
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x14]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xec8]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x1178]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f231
push 0xa
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f231
mov dword [esp + 0x90], 0xa
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], eax
test edx, edx
lea eax, [esp + 0x14c]
cmove eax, ecx
lea ecx, [esp + 0x2a4]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0x150]
cmove eax, ecx
mov ecx, 1
mov eax, dword [eax]
cmove edx, ecx
cmp esi, dword [esp + 0x274]
mov dword [esp], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
jne 0x485871
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f3e0
mov dword [edi + ebx + 0x14], 0x19
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0xec8]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f23b
push 5
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f23b
mov dword [esp + 0x90], 5
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, dword [esp]
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], ecx
mov dword [esp], edx
jne 0x4859fc
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f3f9
mov dword [edi + ebx + 0x14], 0x14
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x690]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f240
push 0x19
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f240
mov dword [esp + 0x90], 0x19
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], eax
test edx, edx
lea eax, [esp + 0x14c]
cmove eax, ecx
lea ecx, [esp + 0x2a4]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0x150]
cmove eax, ecx
mov ecx, 1
mov eax, dword [eax]
cmove edx, ecx
cmp esi, dword [esp + 0x274]
mov dword [esp], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
jne 0x485b90
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f40d
mov dword [edi + ebx + 0x14], 0x24
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
lea esi, [esp + 0x328]
push 0x158
lea edi, [esp + 0x16c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f259
push 0xd
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f259
mov dword [esp + 0x90], 0xd
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x480], xmm0
movsd qword [esp + 0x488], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0xc70], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, dword [esp]
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], ecx
mov dword [esp], edx
jne 0x485d1b
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
imul ebx, esi, 0x148
lea eax, [edi + ebx + 0x18]
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f431
mov dword [edi + ebx + 0x14], 0x1a
push 0x120
lea ecx, [esp + 0x7ec]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0xc70]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
push 0x158
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0x9d8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f266
push 8
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
lea esi, [esp + 0x40]
lea edi, [esp + 0xb28]
mov ecx, 0x20
mov dword [esp + 0x968], eax
movsd qword [esp + 0x958], xmm2
movsd qword [esp + 0x950], xmm1
movsd xmm2, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x960], xmm0
movsd qword [esp + 0x948], xmm1
movsd qword [esp + 0x940], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
push 0x8c
lea eax, [esp + 0xd0]
push eax
lea ebx, [esp + 0x488]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x948]
movsd xmm0, qword [esp + 0x940]
movsd xmm2, qword [esp + 0x958]
mov eax, dword [esp + 0x968]
lea edi, [esp + 0xc70]
mov ecx, 0x20
lea esi, [esp + 0xb28]
movsd qword [esp + 0x5e0], xmm1
movsd xmm1, qword [esp + 0x950]
movsd qword [esp + 0x5d8], xmm0
movsd qword [esp + 0x5f0], xmm2
mov dword [esp + 0x600], eax
movsd qword [esp + 0x5e8], xmm1
movsd xmm1, qword [esp + 0x960]
movsd qword [esp + 0x5f8], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
push ebx
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x485f34
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
or dword [esp], 0x20
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f44b
mov dword [eax + 4], 8
je 0x485f74
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x5f0]
movsd xmm1, qword [esp + 0x5e8]
mov eax, dword [esp + 0x600]
movsd xmm0, qword [esp + 0x5f8]
lea edi, [esp + 0x40]
lea esi, [esp + 0xc70]
mov ecx, 0x20
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm2, qword [esp + 0x5d8]
movsd xmm1, qword [esp + 0x5e0]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x486038
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xec]
test eax, eax
je 0x486083
lock dec dword [eax]
jne 0x486083
lea ecx, [esp + 0xec]
call fcn.004179f0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x61f8ac
lea edi, [esp + 0x480]
lea esi, [esp + 0x10]
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14c]
movsd xmm0, qword [esp + 0x480]
movsd xmm1, qword [esp + 0x488]
lea esi, [esp + 0x498]
lea edi, [esp + 0xb28]
mov ecx, 0x19
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x150]
movsd qword [esp + 0x5d8], xmm0
movsd qword [esp + 0x5e0], xmm1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0xc70], eax
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x7ec]
push eax
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc70]
test ebx, ebx
mov dword [esp], ebx
mov dword [esp + 0x940], eax
jne 0x486174
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x278]
cmp edx, dword [esp + 0x274]
jne 0x486197
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x5d8]
movsd xmm1, qword [esp + 0x5e0]
imul ebx, edx, 0x148
lea esi, [esp + 0xb28]
mov ecx, 0x19
movsd qword [eax + ebx + 8], xmm1
movsd qword [eax + ebx], xmm0
mov dword [eax + ebx + 0x10], 0x61f453
mov dword [eax + ebx + 0x14], 0x20
lea edi, [eax + ebx + 0x18]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], 0x61f266
mov edi, eax
mov dword [eax + ebx + 0x80], 8
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x14]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x940]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
push 0x158
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0xc78]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, 0x61f26e
lea ecx, [esp + 0x10]
push 7
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x88], 0x76
lea esi, [esp + 0x28]
lea edi, [esp + 0xb28]
mov ecx, 0x19
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x5d8], xmm0
movsd qword [esp + 0x5e0], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x7f0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x940], eax
test edx, edx
lea eax, [esp + 0x14c]
cmove eax, ecx
lea ecx, [esp + 0x2a4]
mov eax, dword [eax]
mov dword [esp + 8], eax
lea eax, [esp + 0x150]
cmove eax, ecx
mov ecx, 1
cmove edx, ecx
mov eax, dword [eax]
mov dword [esp], 1
mov dword [esp + 4], edx
mov edx, dword [esp + 0x278]
mov dword [esp + 0xc], eax
cmp edx, dword [esp + 0x274]
jne 0x48635c
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x5d8]
movsd xmm1, qword [esp + 0x5e0]
imul ebx, edx, 0x148
lea esi, [esp + 0xb28]
mov ecx, 0x19
movsd qword [eax + ebx + 8], xmm1
movsd qword [eax + ebx], xmm0
mov dword [eax + ebx + 0x10], 0x61f473
mov dword [eax + ebx + 0x14], 0xe
lea edi, [eax + ebx + 0x18]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], 0x61f26e
mov edi, eax
mov dword [eax + ebx + 0x80], 7
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0x7ec]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x940]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
push 0x158
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0x488]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f275
push 0xd
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f275
mov dword [esp + 0x90], 0xd
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x5d8], xmm0
movsd qword [esp + 0x5e0], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xb30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
lea edx, [esp + 0x2a0]
mov esi, dword [esp + 0x278]
mov dword [esp + 0x940], ecx
test eax, eax
lea ecx, [esp + 0x14c]
cmove ecx, edx
lea edx, [esp + 0x2a4]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, dword [esp]
mov ecx, dword [ecx]
cmovne edx, eax
cmp esi, dword [esp + 0x274]
mov dword [esp + 8], ecx
mov dword [esp], edx
jne 0x486513
lea ecx, [esp + 0x270]
mov edx, esi
call fcn.00415e90
mov esi, dword [esp + 0x278]
mov edi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x5d8]
movsd xmm1, qword [esp + 0x5e0]
imul ebx, esi, 0x148
movsd qword [edi + ebx + 8], xmm1
movsd qword [edi + ebx], xmm0
mov dword [edi + ebx + 0x10], 0x61f481
mov dword [edi + ebx + 0x14], 0x13
lea eax, [edi + ebx + 0x18]
push 0x120
lea ecx, [esp + 0xb2c]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp + 8]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x940]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
push 0x158
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0x7f0]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, 0x61f282
push 2
call fcn.0042d0a0
add esp, 4
mov dword [esp + 0x8c], 0x61f282
mov dword [esp + 0x90], 2
movsd xmm0, qword [esp + 0x10]
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x5d8], xmm0
movsd qword [esp + 0x5e0], xmm1
push 0x120
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xb30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
lea ecx, [esp + 0x2a0]
lea edx, [esp + 0x14c]
mov edi, dword [esp + 0x278]
test esi, esi
mov dword [esp + 0x940], eax
cmove edx, ecx
mov ecx, dword [edx]
lea edx, [esp + 0x2a4]
mov dword [esp], ecx
lea ecx, [esp + 0x150]
cmove ecx, edx
mov edx, 1
mov ecx, dword [ecx]
cmovne edx, esi
cmp edi, dword [esp + 0x274]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
jne 0x48669f
lea ecx, [esp + 0x270]
mov edx, edi
call fcn.00415e90
mov edi, dword [esp + 0x278]
mov esi, dword [esp + 0x270]
movsd xmm0, qword [esp + 0x5d8]
movsd xmm1, qword [esp + 0x5e0]
imul ebx, edi, 0x148
lea eax, [esi + ebx + 0x18]
movsd qword [esi + ebx + 8], xmm1
movsd qword [esi + ebx], xmm0
mov dword [esi + ebx + 0x10], 0x61f494
mov dword [esi + ebx + 0x14], 0x13
push 0x120
lea ecx, [esp + 0xb2c]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
inc edi
mov dword [esi + ebx + 0x138], eax
mov eax, dword [esp]
mov dword [esi + ebx + 0x13c], eax
mov eax, dword [esp + 4]
mov dword [esi + ebx + 0x140], eax
mov eax, dword [esp + 0x940]
mov dword [esi + ebx + 0x144], eax
mov dword [esp + 0x278], edi
push 0x158
lea esi, [esp + 0x16c]
push esi
lea edi, [esp + 0x18]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x158
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0xb28]
mov edx, 0x61f284
push 6
call fcn.0042d0a0
add esp, 4
mov eax, dword [esp + 0xb50]
movsd xmm2, qword [esp + 0xb40]
movsd xmm1, qword [esp + 0xb38]
movsd xmm0, qword [esp + 0xb48]
lea esi, [esp + 0xb58]
lea edi, [esp + 0xdc8]
mov ecx, 0x20
lea ebx, [esp + 0x940]
mov dword [esp + 0x320], eax
movsd qword [esp + 0x310], xmm2
movsd qword [esp + 0x308], xmm1
movsd xmm2, qword [esp + 0xb28]
movsd xmm1, qword [esp + 0xb30]
mov eax, dword [esp + 0xb54]
movsd qword [esp + 0x318], xmm0
movsd qword [esp + 0x300], xmm1
movsd qword [esp + 0x2f8], xmm2
mov dword [esp], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xbd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbdc]
mov dword [esp + 4], eax
lea eax, [esp + 0xbe4]
push 0x8c
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x300]
movsd xmm0, qword [esp + 0x2f8]
movsd xmm2, qword [esp + 0x310]
mov eax, dword [esp + 0x320]
lea edi, [esp + 0xe48]
mov ecx, 0x20
lea esi, [esp + 0xdc8]
movsd qword [esp + 0x2d0], xmm1
movsd xmm1, qword [esp + 0x308]
mov dword [esp + 0x2f0], eax
movsd qword [esp + 0x2c8], xmm0
movsd qword [esp + 0x2e0], xmm2
lea eax, [esp + 0x5d8]
movsd qword [esp + 0x2d8], xmm1
movsd xmm1, qword [esp + 0x318]
movsd qword [esp + 0x2e8], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x8c
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4868d0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c26
mov dword [0x6f1130], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c26
test dword [esp + 4], 0x1fffffff
mov ebx, eax
mov dword [eax], 0x61f4a7
mov dword [eax + 4], 6
je 0x48690c
push dword [esp + 8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x2e0]
movsd xmm1, qword [esp + 0x2d8]
mov eax, dword [esp + 0x2f0]
movsd xmm0, qword [esp + 0x2e8]
lea edi, [esp + 0xb58]
lea esi, [esp + 0xe48]
mov ecx, 0x20
movsd qword [esp + 0xb40], xmm2
movsd qword [esp + 0xb38], xmm1
movsd xmm2, qword [esp + 0x2c8]
movsd xmm1, qword [esp + 0x2d0]
mov dword [esp + 0xb50], eax
movsd qword [esp + 0xb48], xmm0
movsd qword [esp + 0xb30], xmm1
movsd qword [esp + 0xb28], xmm2
rep movsd dword es:[edi], dword [esi]
push 0x8c
lea eax, [esp + 0x5dc]
push eax
lea eax, [esp + 0xbec]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
or eax, 0x100020
mov dword [esp + 0xb54], eax
mov dword [esp + 0xbd8], ebx
mov dword [esp + 0xbdc], 1
mov dword [esp + 0xbe0], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4869ed
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x486c2d
mov dword [0x6f1130], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x486c2d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov esi, eax
mov eax, dword [esp + 0xc04]
test eax, eax
je 0x486a38
lock dec dword [eax]
jne 0x486a38
lea ecx, [esp + 0xc04]
call fcn.004179f0
lea ebx, [esp + 0xb28]
mov dword [esp + 0xc04], esi
mov dword [esp + 0xc08], 0x61f8ac
lea edi, [esp + 0x940]
mov ecx, 0x1f
lea eax, [esp + 0xbac]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
push 0xb4
push eax
lea eax, [esp + 0x5e0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc60]
lea edi, [esp + 0xe48]
mov ecx, 0x1f
lea esi, [esp + 0x940]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc68]
mov dword [esp], eax
mov eax, dword [esp + 0xc6c]
mov dword [esp + 0xdc8], eax
rep movsd dword es:[edi], dword [esi]
push 0xb4
lea eax, [esp + 0x5dc]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0xdc8]
mov esi, dword [esp + 0x2a4]
mov edi, dword [esp + 0x2a0]
cmp edx, dword [esp + 0x274]
mov dword [esp + 0x2c8], eax
jne 0x486b16
lea ecx, [esp + 0x270]
call fcn.00415e90
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 8]
mov ecx, dword [esp]
test eax, eax
cmove ecx, esi
lea esi, [esp + 0xe48]
mov dword [esp], ecx
mov ecx, dword [esp + 4]
cmove ecx, edi
mov dword [esp + 4], ecx
mov ecx, 1
cmovne ecx, eax
mov eax, dword [esp + 0x270]
imul ebx, edx, 0x148
mov dword [esp + 8], ecx
mov ecx, 0x1f
lea edi, [eax + ebx]
rep movsd dword es:[edi], dword [esi]
mov dword [eax + ebx + 0x7c], 0x61f284
mov edi, eax
mov dword [eax + ebx + 0x80], 6
lea eax, [eax + ebx + 0x84]
push 0xb4
lea ecx, [esp + 0xb2c]
push ecx
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
inc esi
mov dword [edi + ebx + 0x138], eax
mov eax, dword [esp + 4]
mov dword [edi + ebx + 0x13c], eax
mov eax, dword [esp]
mov dword [edi + ebx + 0x140], eax
mov eax, dword [esp + 0x2c8]
mov dword [edi + ebx + 0x144], eax
mov dword [esp + 0x278], esi
mov esi, 0x4000
mov ebx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
or esi, dword [esp + 0x170]
lea ecx, [ebx + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
lea eax, [esp + 0x178]
push 0x148
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [ebx + 4], edi
mov dword [ebx], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 8
jmp 0x486c32
mov ecx, 0x10
mov edx, 4
call fcn.0040a640
ud2
lea eax, [esp + 0x168]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36library_std_src_threadlocal.rs
mov edx, 0x46
push 0x6d8df8
push 0x61cbe4
push eax
call fcn.0045d480
add esp, 0xc
ud2