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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d8
cmp byte [ebp + 0x10], 0
mov edi, edx
call 0x52a97e
pop eax
mov dword [esp + 0x128], ecx
mov dword [esp + 0x28], eax
je 0x52ac2b
movzx eax, word [edi + 0x4c]
lea esi, [esp + 0x68]
mov dword [esp + 8], edi
mov dword [esp + 0xd0], eax
lea eax, [edi + 0x68]
mov dword [esp + 0x10], eax
lea eax, [edi + 0x7c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x108], eax
mov edx, dword [esp + 0x10]
mov ecx, esi
push 1
call fcn.0052dbcc
pop eax
mov ebx, dword [esp + 0x68]
mov al, byte [esp + 0x6c]
cmp ebx, 6
jne 0x52ad60
cmp al, 1
jne 0x52aee9
mov edx, dword [esp + 0x10]
mov ecx, esi
push 2
call fcn.0052dbcc
pop eax
mov ebx, dword [esp + 0x68]
mov al, byte [esp + 0x6c]
cmp ebx, 6
jne 0x52ad60
movzx esi, al
cmp al, 4
jae 0x52c5c3
mov ecx, dword [esp + 8]
mov edx, esi
shl edx, 4
mov dword [esp + 0x1c], edx
cmp byte [ecx + edx], 4
jne 0x52af2a
mov ecx, dword [esp + 0x24]
mov edx, esi
mov byte [esp + 0x20], al
call fcn.0056f680
cmp esi, 3
ja 0x52c985
mov eax, dword [esi*4 + 0x52c99c]
mov esi, edi
mov edi, dword [esp + 8]
add eax, dword [esp + 0x28]
jmp eax
movzx eax, word [ebp + 8]
mov dword [esp + 0xd0], eax
lea esi, [esp + 0x68]
lea ebx, [edi + 0x68]
mov ecx, esi
mov edx, ebx
push 1
call fcn.0052dbcc
pop eax
mov ecx, dword [esi]
cmp ecx, 6
jne 0x52acaa
cmp byte [esp + 0x6c], 1
jne 0x52adc1
lea esi, [esp + 0x68]
mov edx, ebx
mov ecx, esi
push 4
call fcn.0052dbcc
pop eax
mov ecx, dword [esi]
cmp ecx, 6
jne 0x52acaa
mov cl, byte [esp + 0x6c]
movzx eax, cl
mov dword [esp + 0x14], ecx
dec cl
cmp cl, 0xb
jae 0x52b057
xor edx, edx
mov ecx, eax
mov dword [esp + 8], edi
inc edx
mov esi, edx
shl esi, cl
mov ecx, esi
mov dword [esp + 0x104], esi
call fcn.005f9adc
mov esi, eax
jmp 0x52adcf
movzx edx, byte [esp + 0x6f]
movzx esi, word [esp + 0x6d]
mov al, byte [esp + 0x6c]
movsd xmm0, qword [esp + 0x75]
movsd xmm2, qword [esp + 0x81]
mov edi, dword [esp + 0x7c]
movsd xmm1, qword [esp + 0x88]
mov bl, byte [esp + 0x74]
mov bh, byte [esp + 0x80]
shl edx, 0x10
movzx eax, al
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0x30], xmm2
mov dword [esp + 0xdf], edi
movsd qword [esp + 0x37], xmm1
or esi, edx
mov edx, dword [esp + 0x70]
shl esi, 8
or eax, esi
mov edi, dword [esp + 0x128]
movsd xmm0, qword [esp + 0xd8]
mov esi, eax
movsd xmm1, qword [esp + 0x37]
shr esi, 0x10
mov word [edi + 6], si
mov dword [edi + 8], edx
mov byte [edi + 0xc], bl
movsd qword [edi + 0xd], xmm0
mov esi, dword [esp + 0xdf]
movsd xmm0, qword [esp + 0x30]
mov dword [edi + 0x14], esi
mov byte [edi + 0x18], bh
movsd qword [edi + 0x19], xmm0
movsd qword [edi + 0x20], xmm1
mov dword [edi], ecx
mov byte [edi + 4], al
mov byte [edi + 5], ah
jmp 0x52bdf6
movzx ecx, byte [esp + 0x6f]
movzx edx, word [esp + 0x6d]
movzx esi, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov ah, byte [esp + 0x80]
movzx edi, al
shl ecx, 0x10
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp], ah
or edx, ecx
mov ecx, dword [esp + 0x70]
shl edx, 8
or edi, edx
movsd qword [esp + 0x37], xmm0
mov dword [esp + 0x14], ecx
movzx ecx, byte [esp + 0x77]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x7c]
mov eax, esi
jmp 0x52ba28
mov dword [esp + 8], edi
mov dword [esp + 0x14], 0
xor esi, esi
xor edi, edi
inc edi
push 4
pop eax
cmp byte [ebp + 0x10], 0
mov dword [esp + 0x108], esi
mov dword [esp + 0x118], edx
je 0x52aef2
lea esi, [esp + 0x68]
mov edx, ebx
mov ecx, esi
push 1
call fcn.0052dbcc
pop eax
mov eax, dword [esi]
cmp eax, 6
jne 0x52af49
cmp byte [esp + 0x6c], 1
jne 0x52b071
lea esi, [esp + 0x68]
mov edx, ebx
mov ecx, esi
push 3
call fcn.0052dbcc
pop eax
mov eax, dword [esi]
cmp eax, 6
jne 0x52af49
lea eax, [esp + 0x68]
mov ecx, dword [esp + 0xd0]
mov al, byte [eax + 4]
add al, 2
movzx edi, al
mov dword [esp + 0x150], eax
mov edx, edi
call fcn.0052d73c
movzx ecx, word [ebp + 0xc]
mov edx, edi
mov esi, eax
call fcn.0052d73c
mov edx, dword [esp + 8]
lea edi, [esp + 0x68]
mov ecx, edi
push 0
mov dword [esp + 0x2c], eax
push eax
mov dword [esp + 0x2c], esi
push esi
call fcn.0052a964
add esp, 0xc
mov eax, dword [edi]
cmp eax, 6
jne 0x52be36
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
push 4
pop ecx
xor edx, edx
xor esi, esi
call fcn.00473334
xor ecx, ecx
lea eax, [edi*4]
mov dword [esp + 0x2c], edi
inc ecx
mov dword [esp + 0xc], ecx
cmp eax, esi
je 0x52b0aa
mov edx, dword [esp + 0x110]
mov edi, dword [esp + 0xc]
movzx ecx, word [edx + esi + 1]
mov dword [edx + esi], ecx
lea edx, [ecx + 1]
cmp ecx, edi
cmovae edi, edx
add esi, 4
mov dword [esp + 0xc], edi
jmp 0x52aebd
mov edi, dword [esp + 8]
jmp 0x52ac36
mov dword [esp + 0x110], eax
mov eax, edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
jmp 0x52b0bb
push 5
pop ecx
call fcn.00508e31
mov edi, eax
xor ebx, ebx
mov cl, 3
mov dword [esp + 0x14], 0x9eae44
mov byte [esp], 2
jmp 0x52ba3e
movzx esi, byte [esp + 0x6f]
movzx ecx, word [esp + 0x6d]
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x6c]
mov edi, dword [esp + 0x70]
movzx edx, word [esp + 0x85]
shl esi, 0x10
mov dword [esp], eax
mov dword [esp + 0x1c], edi
mov word [esp + 0x5c], dx
or ecx, esi
mov esi, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov cl, byte [esp + 0x87]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x78]
mov byte [esp + 0x5e], cl
mov al, byte [esp + 0x8f]
mov edi, dword [esp + 0x7c]
mov bl, byte [esp + 0x8e]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x104], eax
mov al, byte [esp + 0x84]
mov dword [esp + 0x14], eax
movzx eax, word [esp + 0x88]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x8a]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x8c]
mov dword [esp + 8], eax
push 4
pop ecx
xor edx, edx
jmp 0x52bd46
push 2
pop ecx
mov edx, eax
call fcn.00508e31
xor ecx, ecx
mov edx, 0x9eae44
mov bl, 3
mov bh, 2
jmp 0x52ad0c
xor eax, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x114], 0
inc eax
push 4
pop ecx
mov dword [esp + 0x110], ecx
mov ecx, eax
mov dword [esp + 0x150], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x108]
mov edx, dword [esp + 0x118]
xor edi, edi
inc edi
lea eax, [esp + 0x144]
mov dword [eax], 4
and dword [eax + 4], 0
and dword [eax + 8], 0
mov eax, dword [esp + 0x14]
mov ecx, eax
and cl, 0xf
shl edi, cl
mov dword [esp + 0x154], edi
lea edi, [esp + 0x30]
push 2
pop eax
xor ecx, ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x10], ebx
push 4
pop eax
cmp ecx, dword [esp + 0xc]
je 0x52be79
inc ecx
mov dword [esp + 0x194], ecx
lea ecx, [esp + 0x6c]
and dword [ecx + 4], 0
and dword [ecx], 0
and dword [ecx + 0xc], 0
and dword [ecx + 8], 0
and dword [ecx + 0x18], 0
and dword [ecx + 0x14], 0
and dword [ecx + 0x20], 0
and dword [ecx + 0x1c], 0
and dword [ecx + 0x2c], 0
and dword [ecx + 0x28], 0
and dword [ecx + 0x34], 0
and dword [ecx + 0x30], 0
and dword [ecx + 0x40], 0
and dword [ecx + 0x3c], 0
and dword [ecx + 0x48], 0
and dword [ecx + 0x44], 0
and dword [ecx + 0x54], 0
and dword [ecx + 0x50], 0
and dword [ecx + 0x5c], 0
and dword [ecx + 0x58], 0
xor ecx, ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb8], eax
cmp ecx, 5
je 0x52b93a
mov edx, dword [esp + 0x154]
test esi, esi
mov eax, 0
mov dword [esp + 0x60], ecx
cmove edx, esi
test ecx, ecx
cmovne edx, eax
add dx, word [ecx + ecx + 0x9f1224]
mov ecx, edi
mov dword [esp + 8], edx
mov edx, ebx
push 1
call fcn.0052dbcc
pop eax
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x34]
cmp eax, 6
jne 0x52bdfe
cmp cl, 1
jne 0x52b360
mov ecx, edi
mov edx, ebx
push 1
call fcn.0052dbcc
pop eax
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x34]
cmp eax, 6
mov dword [esp], ecx
jne 0x52be01
movzx esi, cl
push 2
pop edi
mov ecx, edi
mov edx, edi
call fcn.004c2304
xor ebx, ebx
mov ecx, edi
mov edx, edi
mov word [eax], si
mov dword [esp + 4], eax
mov dword [esp + 0x17c], eax
inc ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
call fcn.004c2304
mov edi, dword [esp + 0x10]
and word [eax], 0
mov dword [esp + 0x11c], 2
and dword [esp + 0x120], 0
and dword [esp + 0x124], 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x190], ebx
mov esi, ecx
mov edx, edi
push ebx
call fcn.0052dbcc
pop eax
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x34]
cmp ecx, 6
jne 0x52c499
movzx eax, bl
mov ecx, esi
mov edx, edi
imul eax, eax, 7
inc al
movzx eax, al
push eax
call fcn.0052dc9c
pop eax
mov ecx, dword [esp + 0x30]
movzx esi, word [esp + 0x34]
cmp ecx, 6
jne 0x52c4c6
lea ecx, [esp + 0x11c]
mov edx, esi
mov ebx, edi
call fcn.0052e1da
cmp byte [esp], 1
jne 0x52b608
lea edi, [esp + 0x30]
mov edx, ebx
mov ecx, edi
push 8
call fcn.0052dc9c
pop eax
mov ecx, dword [esp + 0x30]
movzx esi, word [esp + 0x34]
cmp ecx, 6
jne 0x52c578
lea ecx, [esp + 0x11c]
mov edx, esi
call fcn.0052e1da
xor esi, esi
lea ecx, [esp + 0x17c]
inc esi
mov edx, esi
call fcn.0052e1da
lea ecx, [esp + 0x188]
mov edx, esi
call fcn.0052e1da
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x10c], edx
mov dword [esp + 0x1c], ecx
jmp 0x52b622
push 0x13
pop ecx
xor edx, edx
inc edx
call fcn.004b9125
mov esi, edx
mov edx, ebx
mov dword [esp], eax
mov ecx, edi
push 4
call fcn.0052dab9
pop eax
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
cmp edx, 6
jne 0x52c450
neg ebx
mov dword [esp + 4], esi
push 0xffffffffffffffed
pop esi
lea eax, [ebx + esi]
cmp eax, 0xfffffff1
je 0x52b3e9
mov edx, dword [esp + 0x10]
mov ecx, edi
push 3
call fcn.0052dc9c
pop eax
mov ecx, dword [esp + 0x30]
movzx edi, word [esp + 0x34]
cmp ecx, 6
jne 0x52b999
test esi, esi
je 0x52c5cf
mov ecx, dword [esp]
push 0x13
pop edx
push 0x9f128c
push dword [esi*4 + 0x9f127c]
call fcn.004f78ab
pop ecx
pop edx
mov word [eax], di
inc esi
lea edi, [esp + 0x30]
jmp 0x52b396
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x168]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov ecx, edi
mov dword [esp + 0x170], 0x13
call fcn.0052dd68
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
cmp ecx, 6
mov dword [esp + 0x20], eax
jne 0x52c535
mov ebx, dword [esp + 0x10]
mov ecx, edi
mov dword [esp + 0x64], edx
mov edx, ebx
push 1
call fcn.0052dbcc
pop eax
mov ecx, dword [esp + 0x30]
mov al, byte [esp + 0x34]
mov dword [esp + 0x12c], esi
cmp ecx, 6
jne 0x52c517
cmp al, 1
mov eax, dword [esp + 8]
mov ecx, eax
jne 0x52b4b2
mov ecx, edi
mov edx, ebx
push 3
call fcn.0052dbcc
pop eax
mov ecx, dword [esp + 0x30]
mov al, byte [esp + 0x34]
cmp ecx, 6
jne 0x52c517
add al, al
mov ecx, edi
mov edx, ebx
add al, 2
movzx eax, al
push eax
call fcn.0052dc9c
pop eax
mov eax, dword [esp + 0x30]
movzx ecx, word [esp + 0x34]
cmp eax, 6
jne 0x52c5e1
mov eax, dword [esp + 8]
add ecx, 2
xor edx, edx
mov dword [esp + 0x18], ecx
movzx ecx, ax
inc edx
mov dword [esp + 4], ecx
call fcn.004b9125
mov dword [esp], eax
mov ax, 8
xor esi, esi
mov dword [esp + 0x15c], edx
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
sub cx, 1
setb al
cmp si, word [esp + 8]
jae 0x52b8cc
test al, al
jne 0x52b8cc
mov dword [esp + 0x18], ecx
mov ecx, edi
push ebx
push dword [esp + 0x24]
call fcn.0052d928
pop eax
pop ecx
mov ecx, dword [esp + 0x30]
movzx edx, word [esp + 0x34]
cmp ecx, 6
movzx eax, dx
jne 0x52bb17
cmp dx, 0x10
mov dword [esp + 0x1c], edx
jb 0x52b5d0
cmp eax, 0x10
je 0x52b54e
cmp eax, 0x11
je 0x52b552
cmp eax, 0x12
jne 0x52bae9
mov di, 0xb
mov al, 7
jmp 0x52b558
mov al, 2
jmp 0x52b554
mov al, 3
mov di, 3
movzx eax, al
lea ecx, [esp + 0x30]
mov edx, ebx
push eax
call fcn.0052dc9c
pop eax
mov ecx, dword [esp + 0x30]
movzx eax, word [esp + 0x34]
cmp ecx, 6
jne 0x52bb5e
movzx ebx, di
add ebx, eax
lea eax, [esi + ebx]
cmp ax, word [esp + 8]
ja 0x52bae9
cmp word [esp + 0x1c], 0x10
mov edi, 0
cmove edi, dword [esp + 0x10c]
sub bx, 1
jb 0x52b5c3
mov ecx, dword [esp]
mov edx, dword [esp + 4]
movzx eax, si
push 0x9f12ac
push eax
call fcn.004f78ab
pop ecx
pop edx
mov word [eax], di
inc esi
jmp 0x52b5a0
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x30]
jmp 0x52b4dc
mov ecx, dword [esp]
mov edx, dword [esp + 4]
movzx eax, si
push 0x9f129c
push eax
call fcn.004f78ab
pop ecx
pop edx
mov ecx, dword [esp + 0x1c]
inc esi
test cx, cx
mov word [eax], cx
cmove ecx, dword [esp + 0x10c]
mov eax, ecx
mov dword [esp + 0x10c], eax
jmp 0x52b4dc
xor eax, eax
lea edi, [esp + 0x30]
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x12c], ecx
mov ecx, edi
mov edi, edx
mov edx, edx
mov dword [esp + 0x18], eax
call fcn.0052e1ff
lea ecx, [esp + 0x38]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [ecx - 4]
movsd xmm1, qword [ecx + 4]
mov eax, dword [ecx + 0xc]
cmp edx, 6
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x138], xmm1
mov dword [esp + 0x140], eax
jne 0x52b736
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x138]
mov eax, dword [esp + 0x140]
xor esi, esi
movsd qword [esp + 0x168], xmm0
movsd qword [esp + 0x170], xmm1
mov dword [esp + 0x178], eax
cmp edi, esi
je 0x52b781
mov ecx, dword [esp + 0x18]
mov ebx, edi
mov edx, edi
push 0x9f0da8
push esi
call fcn.004f78ab
pop ecx
pop edx
movzx eax, word [eax]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
push 0x9f0db8
push esi
call fcn.004f78ab
pop ecx
pop edx
movzx edi, word [eax]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
push 0x9f0dc8
push esi
call fcn.004f78ab
pop ecx
pop edx
movzx eax, word [eax]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x168]
push eax
push edi
push dword [esp + 8]
call fcn.0052e2bb
add esp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, 6
jne 0x52b7bd
inc esi
mov edi, ebx
jmp 0x52b6b8
movsd xmm0, qword [ecx + 0x10]
movsd xmm1, qword [ecx + 0x18]
lea ecx, [esp + 0xdc]
mov eax, dword [esp + 0x140]
movsd xmm2, qword [esp + 0x138]
mov esi, edx
movsd qword [ecx + 0x14], xmm0
movsd xmm0, qword [esp + 0x130]
movsd qword [ecx + 0x1c], xmm1
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm2
movsd qword [ecx], xmm0
mov dword [esp + 0xd8], edx
jmp 0x52b7e9
mov eax, dword [esp + 0x178]
movsd xmm0, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x170]
lea ecx, [esp + 0xdc]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0xd8], 6
push 6
pop esi
jmp 0x52b7e9
push 9
pop ecx
lea edi, [esp + 0xdc]
lea esi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
call fcn.004a0711
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x12c]
call fcn.004045dd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10c]
call fcn.004045dd
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x64]
call fcn.004045dd
mov cl, byte [esp + 0xdc]
mov edi, dword [esp + 0x60]
cmp esi, 6
jne 0x52c444
movzx edx, word [esp + 0xdd]
imul esi, edi, 0x14
mov ebx, ecx
inc edi
mov ecx, dword [esp + esi + 0x68]
mov dword [esp], edx
mov dl, byte [esp + 0xdf]
mov byte [esp + 4], dl
mov edx, dword [esp + 0xe0]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + esi + 0x6c]
call fcn.004a0711
mov eax, dword [esp]
mov byte [esp + esi + 0x68], bl
mov ebx, dword [esp + 0x10]
mov ecx, edi
lea edi, [esp + 0x30]
mov word [esp + esi + 0x69], ax
mov al, byte [esp + 4]
mov byte [esp + esi + 0x6b], al
mov eax, dword [esp + 8]
mov dword [esp + esi + 0x6c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + esi + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [esp + esi + 0x74], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + esi + 0x78], eax
mov esi, dword [esp + 0x108]
push 4
pop eax
jmp 0x52b17d
mov edi, dword [esp + 4]
mov ecx, edx
mov edx, dword [esp + 0x12c]
shr edi, 8
call fcn.004a0711
mov eax, dword [esp]
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x198]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 8]
mov byte [esp + 0x1a0], al
mov word [esp + 0x1a1], di
mov byte [esp + 0x1a3], 0
call fcn.0052dd68
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x158], edi
jmp 0x52b816
mov edx, dword [esp + 0x14c]
cmp edx, dword [esp + 0x148]
jne 0x52b960
lea ecx, [esp + 0x144]
call fcn.00522b4f
push 4
pop eax
mov edx, dword [esp + 0x14c]
imul edi, edx, 0x64
add edi, dword [esp + 0x144]
push 0x19
pop ecx
lea esi, [esp + 0x68]
inc edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14c], edx
lea edi, [esp + 0x30]
mov esi, dword [esp + 0x108]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x194]
jmp 0x52b0f9
push 0x22
lea eax, [esp + 0x3a]
push eax
lea eax, [esp + 0xe6]
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd8], esi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 4]
mov word [esp + 0xdc], di
mov ecx, dword [esp]
mov edx, esi
call fcn.004045dd
jmp 0x52bc6d
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xd8], ecx
mov cl, byte [esp + 0x74]
mov esi, dword [esp + 0x128]
mov edx, edi
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x37]
shr edx, 0x10
mov word [esi + 6], dx
mov edx, dword [esp + 0x14]
mov dword [esi + 8], edx
mov byte [esi + 0xc], cl
mov word [esi + 0xd], ax
shr eax, 0x10
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov byte [esi + 0xf], al
mov al, byte [esp]
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], ecx
mov byte [esi + 0x18], al
movsd qword [esi + 0x19], xmm0
movsd qword [esi + 0x20], xmm1
mov dword [esi], ebx
mov word [esi + 4], di
jmp 0x52bdf6
push 4
pop ecx
call fcn.00508e31
mov ebx, dword [esp + 0x158]
mov edi, eax
mov al, 3
mov byte [esp + 4], 2
mov esi, 0x9eae44
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], eax
jmp 0x52bbc8
movzx esi, byte [esp + 0x3f]
movzx ebx, word [esp + 0x3d]
mov edx, dword [esp + 0x44]
movzx edi, word [esp + 0x36]
mov dword [esp + 0xc], ecx
shl esi, 0x10
mov dword [esp + 0x120], edx
lea edx, [esp + 0x38]
shl edi, 0x10
or ebx, esi
mov esi, dword [esp + 0x40]
movsd xmm0, qword [edx + 0x11]
movsd xmm1, qword [edx + 0x18]
or edi, eax
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0x38]
jmp 0x52bba6
movzx edx, byte [esp + 0x3f]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
movzx ebx, word [esp + 0x3d]
movzx edi, word [esp + 0x36]
mov esi, dword [esp + 0x38]
movzx eax, ax
shl edx, 0x10
mov dword [esp + 0x120], ecx
lea ecx, [esp + 0x38]
shl edi, 0x10
or ebx, edx
mov edx, dword [esp + 0x40]
movsd xmm0, qword [ecx + 0x11]
movsd xmm1, qword [ecx + 0x18]
or edi, eax
mov dword [esp + 0x11c], edx
mov al, byte [esp + 0x3c]
mov cl, byte [esp + 0x48]
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x137], xmm1
mov dword [esp + 0x20], eax
mov byte [esp + 4], cl
mov ecx, dword [esp]
mov edx, dword [esp + 0x15c]
call fcn.004045dd
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x12c]
call fcn.004a0711
mov ecx, dword [esp + 0xc]
mov edx, edi
mov eax, dword [esp + 0x120]
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x137]
mov dword [esp + 0xc], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0xe8], eax
mov al, byte [esp + 4]
mov byte [esp + 0xf0], al
lea eax, [esp + 0xdc]
movsd qword [eax + 0x1c], xmm1
movsd qword [eax + 0x15], xmm0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], esi
mov byte [esp + 0xe4], al
mov word [esp + 0xe5], bx
shr ebx, 0x10
mov byte [esp + 0xe7], bl
mov dword [esp + 0xd8], ecx
mov al, byte [esp + 0xdc]
mov dword [esp], eax
movzx eax, byte [esp + 0xdf]
movzx ecx, word [esp + 0xdd]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov bl, byte [esp + 0xfe]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0xf5]
mov word [esp + 0x5c], ax
mov al, byte [esp + 0xf7]
mov byte [esp + 0x5e], al
mov al, byte [esp + 0xff]
mov byte [esp + 0x10], al
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x104], eax
mov al, byte [esp + 0xf4]
mov dword [esp + 0x14], eax
movzx eax, word [esp + 0xf8]
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0xfa]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.00522ce7
lea ecx, [esp + 0x144]
call fcn.0052db93
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x2c], eax
call fcn.00473334
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x118]
call fcn.0052db88
movzx eax, word [esp + 0x5c]
mov cl, byte [esp + 0x5e]
mov edx, edi
mov edi, dword [esp + 0x1c]
mov word [esp + 0xd4], ax
mov byte [esp + 0xd6], cl
mov ecx, dword [esp + 0x128]
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp]
mov byte [ecx + 4], al
mov eax, dword [esp + 4]
mov word [ecx + 5], ax
shr eax, 0x10
mov byte [ecx + 7], al
mov eax, dword [esp + 0x18]
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x104]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
mov dl, byte [esp + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x14]
mov byte [ecx + 0x1c], al
movzx eax, word [esp + 0xd4]
mov word [ecx + 0x1d], ax
mov al, byte [esp + 0xd6]
mov byte [ecx + 0x1f], al
mov eax, dword [esp + 0x24]
mov word [ecx + 0x20], ax
mov eax, dword [esp + 0x28]
mov word [ecx + 0x22], ax
mov eax, dword [esp + 8]
mov word [ecx + 0x24], ax
mov byte [ecx + 0x26], bl
mov byte [ecx + 0x27], dl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], ecx
mov dword [esp + 0xc], eax
push 0x23
lea eax, [esp + 0x39]
push eax
lea eax, [esp + 0xe5]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp]
mov byte [esp + 0xdc], al
jmp 0x52bc77
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
movzx edi, word [esp + 0x85]
mov dl, byte [esp + 0x87]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x78]
mov dword [esp], ecx
shr ecx, 8
mov dword [esp + 0x18], ebx
mov word [esp + 0x5c], di
mov byte [esp + 0x5e], dl
mov dword [esp + 4], ecx
jmp 0x52af93
mov ebx, dword [esp + 0x150]
movzx edi, word [esp + 0x145]
mov ecx, ebx
and cl, 0xf
xor eax, eax
dec eax
shl eax, cl
cmp bl, 1
mov ecx, 0
not eax
sbb ecx, ecx
or ecx, eax
mov al, byte [esp + 0x167]
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0x147]
mov byte [esp + 0xd6], al
mov eax, dword [esp + 0x110]
shl ecx, 0x10
or edi, ecx
movzx ecx, word [esp + 0x165]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x148]
test eax, eax
mov word [esp + 0xd4], cx
mov cl, byte [esp + 0x144]
mov dword [esp], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x18], ecx
je 0x52c5be
mov ecx, edi
lea edi, [esp + 0x1bc]
mov dword [edi - 0x18], eax
mov eax, dword [esp + 0x114]
mov dword [edi - 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [edi - 0x10], eax
mov eax, dword [esp]
mov byte [edi - 0xc], al
mov eax, dword [esp + 4]
mov word [edi - 0xb], ax
shr eax, 0x10
mov byte [edi - 9], al
mov eax, dword [esp + 0x18]
mov dword [edi - 8], ecx
mov ecx, ebx
mov ebx, esi
mov dword [edi - 4], eax
mov eax, dword [esp + 0x104]
mov dword [edi], esi
mov dword [edi + 4], edx
lea edx, [esp + 0x1c4]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x1c8]
mov byte [edx], al
movzx eax, word [esp + 0xd4]
mov word [edx + 1], ax
mov al, byte [esp + 0xd6]
mov byte [edx + 3], al
mov eax, dword [esp + 0x24]
mov word [edx + 4], ax
mov eax, dword [esp + 0x28]
mov word [edx + 6], ax
mov eax, dword [esp + 8]
mov word [edx + 8], ax
movzx eax, word [ebp + 0xc]
mov byte [edx + 0xa], cl
movzx edx, word [esp + 0xd0]
movzx ecx, ax
mov dword [esp + 0x154], edx
imul ecx, edx
xor edx, edx
inc edx
mov dword [esp + 0x1c], ecx
call fcn.005f9adc
mov dword [esp + 0x60], edx
lea esi, [esp + 0x1a4]
xor edx, edx
mov dword [esp + 0x14], eax
mov ecx, esi
push 0
call fcn.0052d8a8
pop ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x110], ecx
push 0x9f12bc
push eax
call fcn.0052d8e7
pop ecx
pop edx
test ebx, ebx
mov dword [esp + 0xc], eax
cmove edi, ebx
mov dword [esp + 0x118], edi
push 0xc
pop eax
lea ecx, [esp + 0x1c8]
cmovne eax, ecx
mov dword [esp + 0x10c], eax
push 8
pop eax
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x114], 0
cmovne eax, ecx
xor edx, edx
xor edi, edi
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x28], edi
sub esi, edi
jbe 0x52c69a
mov eax, dword [esp + 0xc]
test cx, dx
mov dword [esp + 0x2c], edx
jne 0x52c08a
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1a4]
push dword [esp + 0x24]
call fcn.0052d8a8
pop ecx
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x18]
push 0x9f12cc
push eax
call fcn.0052d8e7
pop ecx
pop edx
mov ebx, dword [esp + 0x10]
mov edx, dword [eax]
lea ecx, [esp + 0x68]
push ebx
mov dword [esp + 0x10], eax
push dword [eax + 8]
call fcn.0052d928
pop eax
pop ecx
mov eax, dword [esp + 0x68]
movzx edi, word [esp + 0x6c]
cmp eax, 6
jne 0x52c650
cmp di, 0x100
jae 0x52c1a6
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xc]
lea esi, [esp + 0x68]
mov ecx, esi
mov edx, dword [edi + 0x14]
push ebx
push dword [edi + 0x1c]
call fcn.0052d928
pop eax
pop ecx
mov eax, dword [esp + 0x68]
movzx ecx, word [esp + 0x6c]
cmp eax, 6
jne 0x52c6da
mov edx, dword [edi + 0x28]
mov word [esp], cx
mov ecx, esi
push ebx
push dword [edi + 0x30]
call fcn.0052d928
pop eax
pop ecx
mov eax, dword [esp + 0x68]
mov ecx, esi
movzx esi, word [esp + 0x6c]
cmp eax, 6
jne 0x52c71b
mov edx, dword [edi + 0x3c]
push ebx
push dword [edi + 0x44]
call fcn.0052d928
pop eax
pop ecx
mov ebx, dword [esp + 0x68]
movzx eax, word [esp + 0x6c]
cmp ebx, 6
jne 0x52c825
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0xd0]
movzx ecx, si
mov esi, dword [esp + 0x24]
movzx eax, ax
inc ebx
cmp bx, dx
sbb si, 0xffff
cmp bx, dx
mov edx, 0
cmovae ebx, edx
shl eax, 0x18
mov dword [esp + 0x24], esi
movzx esi, word [esp + 0x20]
mov edx, dword [esp + 0x1c]
add eax, ecx
movzx ecx, word [esp]
shl esi, 8
shl ecx, 0x10
add esi, ecx
mov ecx, dword [esp + 0x14]
add esi, eax
push 0x9f12dc
mov edi, dword [esp + 0x2c]
push edi
call fcn.00484348
mov edx, ebx
add esp, 8
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
inc edi
jmp 0x52c042
cmp di, 0x118
jae 0x52c35a
add edi, 0xffffff00
lea ecx, [esp + 0x68]
mov edx, ebx
push edi
call fcn.0052da06
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cmp eax, 6
mov dword [esp + 0x64], ecx
jne 0x52c78a
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x68]
mov edx, dword [eax + 0x50]
push ebx
push dword [eax + 0x58]
call fcn.0052d928
pop eax
pop ecx
mov eax, dword [esp + 0x68]
movzx edi, word [esp + 0x6c]
cmp eax, 6
jne 0x52c650
lea ecx, [esp + 0x68]
mov edx, ebx
push edi
call fcn.0052da06
pop eax
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
cmp eax, 6
jne 0x52c88f
cmp edi, 0x78
jbe 0x52c22d
mov ecx, dword [esp + 0x28]
add edi, 0xffffff88
jmp 0x52c262
mov ecx, dword [esp + 0x28]
lea eax, [edi - 1]
cmp eax, 0x78
jae 0x52c975
movsx eax, byte [edi + edi + 0x9f135a]
movsx edi, byte [edi + edi + 0x9f135b]
imul edi, dword [esp + 0x154]
add edi, eax
mov eax, 1
cmp edi, 2
cmovl edi, eax
cmp esi, dword [esp + 0x64]
jb 0x52c7f9
cmp ecx, edi
jb 0x52c7f9
mov esi, dword [esp + 0x64]
neg edi
mov dword [esp + 0x20], edi
sub esi, 1
jb 0x52c2cd
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dword [esp], ecx
add eax, ecx
mov ecx, ebx
mov edx, edi
push 0x9f12ec
push eax
call fcn.00484348
pop ecx
pop edx
mov eax, dword [eax]
mov ecx, ebx
mov edx, edi
mov dword [esp + 4], eax
push 0x9f12fc
push dword [esp + 4]
call fcn.00484348
mov ecx, dword [esp + 8]
add esp, 8
mov edx, dword [esp + 4]
inc ecx
mov dword [eax], edx
jmp 0x52c27e
mov edi, dword [esp + 0x64]
xor ecx, ecx
mov edx, 0x9f130c
cmp edi, 0x10000
setae cl
call fcn.0052d883
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
add esi, edi
cmp si, ax
jb 0x52c305
sub esi, eax
inc edx
jmp 0x52c2fb
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov edx, esi
add edi, dword [esp + 0x64]
cmp edi, eax
jae 0x52c042
lea ecx, [esp + 0x1a4]
mov esi, edx
push dword [esp + 0x24]
call fcn.0052d8a8
pop ecx
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x18]
push 0x9f131c
push eax
call fcn.0052d8e7
mov ecx, dword [esp + 0x10]
mov edx, esi
add esp, 8
mov dword [esp + 0xc], eax
jmp 0x52c03e
cmp dword [esp + 0x108], 0
mov eax, dword [esp + 0x28]
je 0x52c7f9
add edi, 0xfffffee8
mov ebx, edi
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x1c]
cmp edi, eax
jae 0x52c3d3
mov ecx, dword [esp + 0x14]
push 0x9f132c
push edi
call fcn.00484348
pop ecx
pop edx
mov ecx, dword [esp + 0x10c]
mov esi, dword [eax]
mov dl, byte [ecx]
xor ecx, ecx
imul eax, esi, 0x1e35a7bd
sub cl, dl
mov edx, dword [esp + 0x104]
shr eax, cl
mov ecx, dword [esp + 0x118]
mov ecx, dword [ecx]
mov edx, dword [edx]
push 0x9f146c
push eax
call fcn.00484348
pop ecx
pop edx
mov dword [eax], esi
mov eax, dword [esp + 0x28]
inc edi
jmp 0x52c37b
mov ecx, dword [esp + 0x104]
movzx eax, bx
mov dword [esp + 0x114], edi
cmp dword [ecx], eax
jbe 0x52c7f9
mov ecx, dword [esp + 0x118]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx]
inc edi
mov esi, dword [ecx + eax*4]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x24]
cmp di, ax
sbb cx, 0xffff
cmp di, ax
mov eax, 0
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
cmovae edi, eax
push 0x9f133c
mov ebx, dword [esp + 0x2c]
push ebx
call fcn.00484348
mov edx, edi
add esp, 8
inc ebx
mov dword [eax], esi
mov edi, ebx
jmp 0x52c03a
mov dword [esp], ecx
mov dword [esp + 0xc], esi
jmp 0x52bc77
lea ecx, [esp + 0x38]
lea eax, [esp + 0xdc]
mov dword [esp + 0xc], edx
movsd xmm1, qword [ecx + 0x10]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [eax + 0x14], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 0x1c], xmm0
movsd qword [eax + 4], xmm2
movsd qword [eax + 0xc], xmm1
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ebx
jmp 0x52b9c9
push 0x23
lea eax, [esp + 0x39]
push eax
lea eax, [esp + 0xe5]
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd8], esi
mov dword [esp + 0xc], esi
mov byte [esp + 0xdc], bl
jmp 0x52c4f2
push 0x22
lea eax, [esp + 0x3a]
push eax
lea eax, [esp + 0xe6]
push eax
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd8], edi
mov dword [esp + 0xc], edi
mov word [esp + 0xdc], si
xor edx, edx
mov ecx, dword [esp + 0x160]
call fcn.004045dd
mov ecx, dword [esp + 8]
xor esi, esi
inc esi
mov edx, esi
call fcn.004045dd
mov ecx, dword [esp + 4]
jmp 0x52b9cc
movzx edi, byte [esp + 0x37]
mov dword [esp + 0xc], ecx
movzx ecx, word [esp + 0x35]
movzx eax, al
shl ecx, 8
shl edi, 0x18
or edi, ecx
jmp 0x52c5f0
mov ebx, dword [esp + 0x20]
lea edi, [esp + 0x38]
movsd xmm0, qword [esp + 0x40]
mov al, byte [esp + 0x48]
movsd xmm1, qword [edi + 0x11]
movsd xmm2, qword [edi + 0x18]
shr ebx, 8
mov byte [esp + 4], al
movsd qword [esp + 0x11c], xmm0
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x137], xmm2
jmp 0x52bbed
push 0x22
lea eax, [esp + 0x3a]
push eax
lea eax, [esp + 0xe6]
push eax
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x11c]
mov edx, dword [esp + 0x120]
mov dword [esp + 0xd8], edi
mov dword [esp + 0xc], edi
mov word [esp + 0xdc], si
mov dword [esp + 0x160], eax
jmp 0x52c4f4
jmp 0x52bd7c
push 4
pop edx
mov ecx, esi
push 0x9f11d4
jmp 0x52c5d9
push 0x13
pop ecx
mov edx, ecx
push 0x9f127c
call fcn.0063cc20
pop eax
ud2
movzx edi, word [esp + 0x36]
mov dword [esp + 0xc], eax
movzx eax, cx
shl edi, 0x10
or edi, eax
movzx eax, byte [esp + 0x3f]
movzx ebx, word [esp + 0x3d]
mov cl, byte [esp + 0x48]
mov esi, dword [esp + 0x38]
shl eax, 0x10
mov byte [esp + 4], cl
or ebx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x38]
movsd xmm0, qword [eax + 0x11]
movsd xmm1, qword [eax + 0x18]
mov al, byte [esp + 0x3c]
movsd qword [esp + 0x130], xmm0
mov dword [esp + 0x20], eax
movsd qword [esp + 0x137], xmm1
jmp 0x52bbd7
mov dword [esp], eax
movzx eax, word [esp + 0x6e]
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov dl, byte [esp + 0x74]
mov cl, byte [esp + 0x80]
mov esi, dword [esp + 0x70]
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x77]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp + 0x10], dl
mov byte [esp + 8], cl
jmp 0x52c8d4
mov esi, eax
lea ecx, [esp + 0x1a4]
mov ebx, eax
shr esi, 8
call fcn.0052d905
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov byte [eax + 0xc], bl
shr ebx, 0x18
mov word [eax + 0xd], si
mov byte [eax + 0xf], bl
mov dword [eax], 6
jmp 0x52bdf6
mov dword [esp], eax
movzx eax, word [esp + 0x6e]
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov dl, byte [esp + 0x80]
mov esi, dword [esp + 0x70]
mov edi, ecx
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x77]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp + 8], dl
jmp 0x52c75c
mov dword [esp], eax
movzx eax, word [esp + 0x6e]
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov dl, byte [esp + 0x80]
mov ecx, dword [esp + 0x70]
mov edi, esi
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x77]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp + 8], dl
mov esi, ecx
shl eax, 0x10
movsd qword [esp + 0x37], xmm0
or ebx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov ah, byte [esp + 0x74]
mov byte [esp + 0x10], ah
jmp 0x52c8f5
movzx edi, byte [esp + 0x77]
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov ecx, dword [esp + 0x7c]
mov dh, byte [esp + 0x74]
mov dl, byte [esp + 0x80]
mov esi, dword [esp + 0x70]
mov dword [esp], eax
shl edi, 0x10
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov dword [esp + 0xdc], ecx
mov byte [esp + 0x10], dh
mov byte [esp + 8], dl
or ebx, edi
mov edi, dword [esp + 0x78]
movsd qword [esp + 0x37], xmm0
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x64]
mov ecx, edi
shr ecx, 0x10
mov dword [esp + 4], ecx
jmp 0x52c8f5
push 4
pop ecx
call fcn.00508e31
mov edi, eax
shr eax, 0x10
mov dword [esp], 0
mov esi, 0x9eae44
mov byte [esp + 0x10], 3
mov byte [esp + 8], 2
mov dword [esp + 4], eax
jmp 0x52c8f5
movzx ecx, word [esp + 0x6e]
mov dword [esp], ebx
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov dl, byte [esp + 0x80]
mov esi, dword [esp + 0x70]
mov edi, eax
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x77]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp + 8], dl
shl ecx, 0x10
movsd qword [esp + 0x37], xmm0
or ebx, ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xd8], ecx
mov ch, byte [esp + 0x74]
mov byte [esp + 0x10], ch
jmp 0x52c8f5
mov dword [esp], eax
mov al, byte [esp + 0x74]
movzx ebx, word [esp + 0x75]
movsd xmm0, qword [esp + 0x81]
mov dl, byte [esp + 0x80]
mov esi, dword [esp + 0x70]
mov ecx, edi
shr ecx, 0x10
mov dword [esp + 4], ecx
mov byte [esp + 0x10], al
movzx eax, byte [esp + 0x77]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
mov byte [esp + 8], dl
shl eax, 0x10
movsd qword [esp + 0x37], xmm0
or ebx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
call fcn.00473334
lea ecx, [esp + 0x1a4]
call fcn.0052d905
mov ecx, dword [esp + 4]
movzx eax, di
mov edx, dword [esp + 0x128]
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x37]
shl ecx, 0x10
or eax, ecx
mov ecx, dword [esp + 0xdc]
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0xd8]
mov dword [edx + 0x10], ecx
mov cl, byte [esp + 8]
mov byte [edx + 0x18], cl
movsd qword [edx + 0x19], xmm0
movsd qword [edx + 0x20], xmm1
mov dword [edx + 4], eax
mov al, byte [esp + 0x10]
mov ecx, dword [esp]
mov dword [edx + 8], esi
mov byte [edx + 0xc], al
mov eax, ebx
mov word [edx + 0xd], bx
shr eax, 0x10
mov byte [edx + 0xf], al
mov dword [edx], ecx
jmp 0x52bdf6
xor ecx, ecx
dec ecx
push 0x78
pop edx
push 0x9f144c
jmp 0x52c5d9
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codecannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_src_threadlocal.rs
push 0x9f11e4
call fcn.0063cd70
jmp 0x52c5de