Function at 0x5a8a60
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x440
mov dword [esp + 0x74], edx
mov dword [esp + 4], ecx
mov eax, dword [0x94bce0]
test eax, eax
je 0x5a8a9b
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
cmp eax, 2
jb 0x5a8ab1
cmp dword [eax + 4], 0
je 0x5a8ab1
add eax, 8
jmp 0x5a8b8c
mov ecx, 0x94bce0
call fcn.007d1810
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
cmp eax, 2
jae 0x5a8a8d
mov eax, dword [0x94bce0]
test eax, eax
je 0x5a8aee
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x5a8b03
mov esi, eax
cmp eax, 1
jne 0x5a8b43
lea eax, [esp + 0xe8]
mov ecx, 0x93c0b4
mov edx, 0x46
push 0x93c14c
push 0x8abe5c
push eax
call fcn.007c1f60
mov ecx, 0x94bce0
call fcn.007d1810
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
jne 0x5a8ac6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x18
call fcn.0071ee80
test eax, eax
je 0x5aaeec
mov dword [eax], 0x94bce0
mov dword [eax + 4], 0
mov esi, eax
mov eax, dword [0x94bce0]
test eax, eax
je 0x5a99bb
dec eax
push esi
push eax
call dword [sym.imp.kernel32.dll_TlsSetValue]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
cmp dword [esi + 4], 0
lea eax, [esi + 8]
mov dword [esi + 4], 1
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0
je 0x5a8b8c
test ecx, ecx
je 0x5a8b8c
push edx
push 0
push dword [0x94bf18]
mov esi, eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, esi
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x414], ecx
je 0x5a8bce
lea eax, [esp + 0x418]
mov dword [esp + 0x418], 0
mov dword [esp + 0x41c], 1
mov dword [esp + 0x420], 0
mov dword [esp + 0x8c], 0
jmp 0x5a8bde
mov dword [eax], 0xffffffff
mov dword [esp + 0x8c], eax
add eax, 4
mov dword [esp + 0x84], eax
mov edi, dword [esp + 4]
lea eax, [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], 0x8a7a9c
movzx ecx, byte [edi + 0xa]
mov ebx, dword [eax + 0x14]
mov byte [esp + 0x34], cl
mov byte [esp + 0x70], cl
lea ecx, [esp + 0xe8]
mov edx, dword [ebx + 8]
mov esi, dword [ebx + 0x24]
lea eax, [ebx + 8]
mov dword [esp + 0x60], eax
call fcn.00759c30
cmp esi, dword [esp + 0xe8]
mov eax, 2
mov dword [esp + 0x54], ebx
jne 0x5a8de1
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x280]
mov edi, dword [eax]
mov edx, edi
call fcn.00759c30
mov eax, dword [esp + 0x288]
mov dword [esp + 0xf8], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x5a8d21
mov edx, dword [ecx + 8]
mov esi, dword [ecx]
mov dword [esp + 0x80], edi
shl eax, 2
lea ebx, [eax + eax*2]
mov edi, dword [edx + 8]
add esi, 8
jmp 0x5a8cc8
add esi, 0xc
add ebx, 0xfffffff4
je 0x5a8cf8
mov eax, dword [esi - 8]
cmp dword [eax + 8], edi
jne 0x5a8cc0
mov ecx, dword [esi - 4]
test ecx, ecx
je 0x5a8cc0
mov edx, dword [esi]
mov dword [esp + 0x58], edx
push 0x93bc74
lea edx, [esp + 0xec]
push edx
push eax
push ecx
mov eax, dword [esp + 0x68]
call dword [eax + 0xc]
add esp, 0x10
jmp 0x5a8cc0
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x108]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x100]
jmp 0x5a8d2f
xor eax, eax
mov dword [esp + 0x64], 0
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0xf0]
test edx, edx
mov esi, 0x93bca4
cmovne esi, edx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], str.log_event
mov dword [esp + 0xb8], 9
mov dword [esp + 0xbc], esi
mov esi, 3
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 4]
cmovne esi, dword [esp + 0xfc]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 0x93bca8
mov dword [esp + 0xc8], 1
movq xmm0, qword [ebx + 0x24]
movq qword [esp + 0xcc], xmm0
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x64]
mov byte [esp + 0xe4], 1
mov dword [esp + 0xa8], eax
mov dword [esp + 0x64], eax
cmp eax, 2
lea eax, [esp + 0xa8]
movzx edx, byte [esp + 0x70]
mov ecx, edi
cmove eax, ebx
mov dword [esp + 0x80], eax
movzx eax, byte [edi + 7]
cmp al, 2
je 0x5a8e15
mov edx, eax
mov byte [esp + 0x34], al
cmp byte [ecx], 0
je 0x5a8fca
test dl, dl
je 0x5a8f80
mov eax, dword [esp + 0x30]
lea esi, [esp + 0x280]
lea ebx, [esp + 0x10]
lea ecx, [esp + 0xe8]
mov word [esp + 0x280], pe_nt_image_headers32
mov dword [esp + 0xe8], 0x93d18c
mov dword [esp + 0xec], 1
mov dword [esp + 0xf8], 0
mov dword [esp + 0x282], 0
mov word [esp + 0x286], 0
mov byte [esp + 0x288], 0x15
mov byte [esp + 0x28c], 0x15
mov dword [esp + 0x10], esi
mov dword [esp + 0xf0], ebx
mov dword [esp + 0x14], 0x4c13c0
mov dword [esp + 0xf4], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 4]
test al, al
jne 0x5aab5f
lea ecx, [esp + 0x2c]
call fcn.0075bbb0
test al, al
je 0x5a8eef
mov eax, dword [esp + 0x30]
push 0xe
push 0x8a9568
push dword [esp + 0x34]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 0xc
test al, al
jne 0x5aab5f
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xe8]
mov word [esp + 0x280], pe_nt_image_headers32
mov dword [esp + 0x10], esi
mov dword [esp + 0xe8], 0x8a9454
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf0], ebx
mov dword [esp + 0x282], 0
mov word [esp + 0x286], 0
mov byte [esp + 0x288], 0x15
mov byte [esp + 0x28c], 0x15
mov dword [esp + 0x14], 0x4c2210
mov dword [esp + 0xf4], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
mov ecx, dword [esp + 0xc]
add esp, 8
test al, al
je 0x5a8fca
jmp 0x5aab5f
lea ecx, [esp + 0x2c]
call fcn.0075bbb0
test al, al
je 0x5a8fae
mov eax, dword [esp + 0x30]
push 0xe
push 0x8a9568
push dword [esp + 0x34]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 0xc
test al, al
jne 0x5aab5f
mov eax, dword [esp + 0x30]
push 0x20
push dword [esp + 0x30]
call dword [eax + 0x10]
mov ecx, dword [esp + 0xc]
add esp, 8
test al, al
jne 0x5aab5f
cmp byte [ecx + 2], 0
je 0x5a9064
cmp dword [esp + 0x64], 2
lea eax, [esp + 0xb0]
movzx ecx, byte [esp + 0x34]
mov dword [esp + 0xe8], 0x8a9454
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0
cmove eax, dword [esp + 0x60]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
mov byte [esp + 0x14], cl
lea ecx, [esp + 0xe8]
mov dword [esp + 0x280], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x284], 0x75b730
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xf4], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
mov ecx, dword [esp + 0xc]
add esp, 8
test al, al
jne 0x5aab5f
cmp byte [ecx + 4], 0
je 0x5a91e6
call fcn.0070eba0
test eax, eax
je 0x5aaed8
mov esi, eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5a9114
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x280], eax
lea eax, [esp + 0x280]
mov dword [esp + 0xe8], 0x8a9454
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x14], 0x75b670
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xf4], 1
dec ecx
mov dword [esp + 0x284], ecx
lea ecx, [esp + 0xe8]
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 4]
test al, al
je 0x5a91d6
lock dec dword [esi]
jne 0x5aab5f
jmp 0x5a92b9
mov ecx, dword [esp + 4]
cmp byte [ecx + 3], 0
jne 0x5a91d6
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x280], 0x8a9454
movdqa xmm0, xmmword [0x7d5010]
mov dword [esp + 0x284], 2
mov dword [esp + 0xe8], 2
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x280]
movdqu xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x100], 0
mov byte [esp + 0x104], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x3c], 0x5aafa0
mov dword [esp + 0x290], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x294], 1
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28c], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
mov ecx, dword [esp + 0xc]
add esp, 8
test al, al
jne 0x5a9106
lock dec dword [esi]
jne 0x5a91e6
mov ecx, esi
call fcn.004c23a0
mov ecx, dword [esp + 4]
cmp byte [ecx + 3], 0
je 0x5a92d4
call fcn.0070eba0
test eax, eax
je 0x5aaed8
mov esi, eax
mov eax, dword [eax + 8]
movdqa xmm0, xmmword [0x7d5010]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x280], 0x8a9454
mov dword [esp + 0x284], 2
mov dword [esp + 0xe8], 2
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
movdqu xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x100], 0
mov byte [esp + 0x104], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x280]
mov dword [esp + 0x3c], 0x5aafa0
mov dword [esp + 0x290], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x294], 1
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28c], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
lock dec dword [esi]
sete cl
test al, al
je 0x5a92c5
test cl, cl
je 0x5aab5b
mov ecx, esi
call fcn.004c23a0
jmp 0x5aab5b
test cl, cl
je 0x5a92d0
mov ecx, esi
call fcn.004c23a0
mov ecx, dword [esp + 4]
movzx eax, byte [esp + 0x34]
mov byte [esp + 9], al
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
test eax, eax
je 0x5a9336
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
cmp eax, 1
je 0x5a9318
cmp eax, 2
jne 0x5a9336
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push edi
push esi
call fcn.005a85d0
mov ecx, dword [esp + 0x14]
add esp, 0x10
jmp 0x5a933e
test edi, edi
je 0x5a9336
lea ecx, [esp + 0x38]
mov edx, edi
call fcn.0075ac00
cmp dword [esp + 0x38], 0
je 0x5a99d4
mov ecx, dword [esp + 4]
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0xa8]
test esi, esi
je 0x5aa2f5
mov edx, dword [esp + 0x14]
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov esi, edx
inc esi
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x18]
sete cl
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x1c]
mov edi, dword [esi + 0x30]
jmp 0x5a93ab
mov eax, edi
lea ebx, [ebx*4 - 4]
and eax, 0xc0000003
or ebx, eax
mov eax, edi
lock cmpxchg dword [esi + 0x30], ebx
je 0x5a93ec
mov edi, eax
mov eax, edi
and eax, 3
cmp eax, 2
jb 0x5a93be
cmp eax, 3
jne 0x5aae2f
mov ebx, edi
shr ebx, 2
and ebx, 0xfffffff
cmp eax, 1
jne 0x5a9390
cmp ebx, 1
jne 0x5a9390
mov ebx, edi
mov eax, edi
and ebx, 0xc0000000
or ebx, 3
lock cmpxchg dword [esi + 0x30], ebx
jne 0x5a93a9
call fcn.005a8740
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x60]
movzx edx, byte [esp + 0x34]
mov dword [esp + 0x408], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x5f], dl
lea edx, [esp + 0x38]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0xe8]
lea esi, [esp + 0x288]
call fcn.005ab210
cmp dword [esp + 0xfc], 0
mov edi, 0
je 0x5a9bf6
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esi + 0x10], xmm0
movq qword [esi + 8], xmm1
movq qword [esi], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a99b1
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x2b0], xmm0
movq qword [esp + 0x2a8], xmm1
movq qword [esp + 0x2a0], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a99ca
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x2c8], xmm0
movq qword [esp + 0x2c0], xmm1
movq qword [esp + 0x2b8], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9a9d
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x2e0], xmm0
movq qword [esp + 0x2d8], xmm1
movq qword [esp + 0x2d0], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9aa7
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x2f8], xmm0
movq qword [esp + 0x2f0], xmm1
movq qword [esp + 0x2e8], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9ab1
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x310], xmm0
movq qword [esp + 0x308], xmm1
movq qword [esp + 0x300], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9abb
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x328], xmm0
movq qword [esp + 0x320], xmm1
movq qword [esp + 0x318], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9ae9
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x340], xmm0
movq qword [esp + 0x338], xmm1
movq qword [esp + 0x330], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9af3
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x358], xmm0
movq qword [esp + 0x350], xmm1
movq qword [esp + 0x348], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9ba5
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x370], xmm0
movq qword [esp + 0x368], xmm1
movq qword [esp + 0x360], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bac
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x388], xmm0
movq qword [esp + 0x380], xmm1
movq qword [esp + 0x378], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bb3
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x3a0], xmm0
movq qword [esp + 0x398], xmm1
movq qword [esp + 0x390], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bba
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x3b8], xmm0
movq qword [esp + 0x3b0], xmm1
movq qword [esp + 0x3a8], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bc1
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x3d0], xmm0
movq qword [esp + 0x3c8], xmm1
movq qword [esp + 0x3c0], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bea
movq xmm0, qword [esp + 0xf8]
movq xmm2, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x38]
movq qword [esp + 0x3e8], xmm0
movq qword [esp + 0x3e0], xmm1
movq qword [esp + 0x3d8], xmm2
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bf1
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movq xmm0, qword [esp + 0xf8]
lea esi, [esp + 0xe8]
lea edi, [esp + 0x10]
movsd qword [esp + 0x3f8], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x3f0], xmm2
movq xmm2, qword [esp + 0x38]
movq qword [esp + 0x400], xmm0
mov dword [esp + 0x408], 0x10
movsd qword [esp + 0x20], xmm1
movq xmm1, qword [esp + 0x40]
movq qword [esp + 0x10], xmm2
movq qword [esp + 0x18], xmm1
jmp 0x5a9b47
mov edi, 1
jmp 0x5a9bf6
mov ecx, 0x94bce0
call fcn.007d1810
jmp 0x5a8b3b
mov edi, 2
jmp 0x5a9bf6
lea ecx, [esp + 0xe8]
mov edx, edi
push dword [esp + 0x44]
push dword [esp + 0x44]
call fcn.0075a7d0
add esp, 8
mov edi, dword [esp + 0xe8]
test edi, edi
je 0x5a9332
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0xf0]
and eax, esi
and ecx, ebx
or ecx, eax
mov ecx, dword [esp + 0xec]
je 0x5a9ac5
mov esi, dword [edi + 0x30]
jmp 0x5a9a3e
mov eax, esi
lea ebx, [ebx*4 - 4]
and eax, 0xc0000003
or ebx, eax
mov eax, esi
lock cmpxchg dword [edi + 0x30], ebx
je 0x5a9a7f
mov esi, eax
mov eax, esi
and eax, 3
cmp eax, 2
jb 0x5a9a51
cmp eax, 3
jne 0x5aaefb
mov ebx, esi
shr ebx, 2
and ebx, 0xfffffff
cmp eax, 1
jne 0x5a9a23
cmp ebx, 1
jne 0x5a9a23
mov ebx, esi
mov eax, esi
and ebx, 0xc0000000
or ebx, 3
lock cmpxchg dword [edi + 0x30], ebx
jne 0x5a9a3c
call fcn.005a8740
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x10]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.005ab050
add esp, 8
mov ecx, dword [esp + 4]
jmp 0x5a933e
mov edi, 3
jmp 0x5a9bf6
mov edi, 4
jmp 0x5a9bf6
mov edi, 5
jmp 0x5a9bf6
mov edi, 6
jmp 0x5a9bf6
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
jmp 0x5a933e
mov edi, 7
jmp 0x5a9bf6
mov edi, 8
jmp 0x5a9bf6
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x284]
cmp ecx, ebx
je 0x5a9b7f
movq xmm0, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
movq xmm2, qword [esp + 0xf8]
lea ecx, [ecx + ecx*2]
movq qword [eax + ecx*8 + 0x10], xmm2
movq qword [eax + ecx*8 + 8], xmm1
movq qword [eax + ecx*8], xmm0
inc dword [edx]
mov ecx, esi
mov edx, edi
call fcn.005ab210
cmp dword [esp + 0xfc], 0
je 0x5a9bc8
mov ebx, dword [esp + 0x408]
cmp ebx, 0x11
jae 0x5a9afd
mov ecx, ebx
lea eax, [esp + 0x288]
lea edx, [esp + 0x408]
mov ebx, 0x10
cmp ecx, ebx
jne 0x5a9b16
lea ecx, [esp + 0x280]
call fcn.007cc1f0
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x288]
lea edx, [esp + 0x284]
jmp 0x5a9b16
mov edi, 9
jmp 0x5a9bf6
mov edi, 0xa
jmp 0x5a9bf6
mov edi, 0xb
jmp 0x5a9bf6
mov edi, 0xc
jmp 0x5a9bf6
mov edi, 0xd
jmp 0x5a9bf6
mov eax, dword [esp + 0x40c]
mov ebx, dword [esp + 0x280]
mov esi, dword [esp + 0x284]
mov edi, dword [esp + 0x408]
mov dword [esp + 0x58], eax
jmp 0x5a9bf8
mov edi, 0xe
jmp 0x5a9bf6
mov edi, 0xf
xor ebx, ebx
lea eax, [esp + 0xf0]
push 0x180
lea ecx, [esp + 0x28c]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
xor eax, eax
cmp edi, 0x11
mov ecx, 0
mov dword [esp + 0xe8], ebx
cmovae ecx, edi
cmovae edi, esi
cmovae esi, eax
mov dword [esp + 0xec], esi
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x58]
test edi, edi
mov dword [esp + 0x274], ecx
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], edi
je 0x5aa252
xor ebx, ebx
jmp 0x5a9c86
mov edi, dword [esp + 0x27c]
mov bl, 1
cmp dword [esp + 0x278], edi
je 0x5aa2c2
dec edi
lea eax, [esp + 0xf0]
mov dword [esp + 0x27c], edi
cmp dword [esp + 0x270], 0x11
jb 0x5a9ca6
mov eax, dword [esp + 0xf0]
lea ecx, [edi + edi*2]
cmp dword [eax + ecx*8 + 0x14], 0
je 0x5aa263
mov edx, dword [eax + ecx*8 + 0xc]
mov edi, dword [eax + ecx*8 + 8]
mov eax, dword [eax + ecx*8 + 0x10]
lea esi, [esp + 0x28d]
mov dword [esp + 0x78], edx
mov ecx, dword [edi + 0x28]
movzx edx, byte [esp + 0x5f]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov byte [esp + 0x28c], dl
movzx edx, word [esp + 0x6d]
mov dword [esi + 3], 0
mov dword [esi], 0
mov byte [esp + 0x294], 0x15
mov dword [esp + 0x10], 0x93d18c
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], 0
mov word [esi + 8], dx
movzx edx, byte [esp + 0x6f]
mov byte [esi + 0xa], dl
movzx edx, word [esp + 0x6a]
mov byte [esp + 0x298], 0x15
mov word [esi + 0xc], dx
mov dh, byte [esp + 0x6c]
mov byte [esi + 0xe], dh
mov dword [esp + 0x280], 0x80000000
mov dword [esp + 0x284], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x288], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0x4c22a0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 0x280]
test al, al
jne 0x5aa276
movdqa xmm2, xmmword [0x7d4fe0]
test ecx, 0x7fffffff
jne 0x5a9db4
mov eax, dword [edi + 0x14]
test al, 8
je 0x5a9ddc
jmp 0x5aa07a
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
movdqa xmm2, xmmword [0x7d4fe0]
mov eax, dword [edi + 0x14]
test al, 8
jne 0x5aa07a
mov ecx, eax
add ecx, 0x10
jb 0x5aa07a
lock cmpxchg dword [edi + 0x14], ecx
jne 0x5aa07a
cmp dword [edi + 0x24], 0
je 0x5aa0d0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
mov edx, 0x171bf86c
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], ecx
and edx, ecx
mov ecx, eax
movdqu xmm0, xmmword [eax + edx]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmmword [str._v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_vl]
pmovmskb ebx, xmm1
test bx, bx
je 0x5a9e70
tzcnt edi, ebx
mov eax, ecx
lea esi, [ebx - 1]
add edi, edx
and esi, ebx
and edi, dword [esp + 0x58]
mov ebx, esi
shl edi, 5
sub eax, edi
movdqa xmm1, xmmword [eax - 0x20]
pcmpeqb xmm1, xmm2
pmovmskb edi, xmm1
cmp edi, 0xffff
jne 0x5a9e30
jmp 0x5a9eb0
pcmpeqd xmm1, xmm1
mov edi, dword [esp + 0x70]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x5aa0d0
mov eax, dword [esp + 0x60]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x60], eax
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x5a9e17
mov esi, dword [eax - 0x10]
mov eax, dword [eax - 0xc]
push esi
lea ecx, [esp + 0x42c]
push ecx
call dword [eax + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x428]
mov edi, dword [esp + 0x70]
pcmpeqb xmm0, xmmword [0x7d4fe0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x5aa0d0
lea eax, [esp + 0x424]
mov dword [esp + 0x424], esi
mov dword [esp + 0x88], eax
cmp dword [esi + 8], 0
je 0x5aa0d0
movzx eax, byte [esp + 0x6f]
lea edx, [esp + 0x1d]
movzx ecx, byte [esp + 0x5f]
mov dword [esp + 0x90], 0x93c83c
mov dword [esp + 0x94], 3
mov dword [esp + 0xa0], 0
mov byte [edx + 0xa], al
movzx eax, word [esp + 0x6d]
mov word [edx + 8], ax
movzx eax, byte [esp + 0x6c]
mov byte [edx + 0xe], al
movzx eax, word [esp + 0x6a]
mov word [edx + 0xc], ax
movzx eax, byte [esp + 0x6f]
mov byte [esp + 0x1c], cl
mov dword [edx + 3], 0
mov dword [edx], 0
lea edx, [esp + 0x28d]
mov byte [esp + 0x24], 0x15
mov byte [esp + 0x28], 0x15
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0x14], str.___b_f_n_r_t0c
mov dword [esp + 0x18], 1
mov byte [edx + 0xa], al
movzx eax, word [esp + 0x6d]
mov word [edx + 8], ax
movzx eax, byte [esp + 0x6c]
mov byte [edx + 0xe], al
movzx eax, word [esp + 0x6a]
mov word [edx + 0xc], ax
lea eax, [esp + 0x10]
mov byte [esp + 0x28c], cl
lea ecx, [esp + 0x90]
mov dword [edx + 3], 0
mov dword [edx], 0
mov byte [esp + 0x294], 0x15
mov byte [esp + 0x298], 0x15
mov dword [esp + 0x280], 0x80000000
mov dword [esp + 0x284], 0x93472b
mov dword [esp + 0x288], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x3c], 0x4c22a0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x44], 0x5ab560
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x4c], 0x4c22a0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], 3
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 0x280]
test al, al
jne 0x5aaaa5
test ecx, 0x7fffffff
jne 0x5aa096
test dword [esp + 0x10], 0x7fffffff
je 0x5aa0d0
jmp 0x5aa0b5
lea ecx, [edi + 0x14]
call fcn.007c61a0
movdqa xmm2, xmmword [0x7d4fe0]
cmp dword [edi + 0x24], 0
jne 0x5a9dfc
jmp 0x5aa0d0
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x10], 0x7fffffff
je 0x5aa0d0
push dword [esp + 0x14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
nop word [eax + eax]
movzx eax, byte [esp + 0xf]
lea ecx, [esp + 0x28d]
mov dword [esp + 0x10], 0x93d18c
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], 0
mov byte [ecx + 0xa], al
movzx eax, word [esp + 0xd]
mov word [ecx + 8], ax
movzx eax, byte [esp + 0xc]
mov byte [ecx + 0xe], al
movzx eax, word [esp + 0xa]
mov word [ecx + 0xc], ax
movzx eax, byte [esp + 9]
mov byte [esp + 0x28c], 0
mov byte [esp + 0x28d], al
lea eax, [esp + 0x280]
mov word [ecx + 5], 0
mov dword [ecx + 1], 0
lea ecx, [esp + 0x10]
mov byte [esp + 0x294], 0x15
mov byte [esp + 0x298], 0x15
mov dword [esp + 0x280], 0x80000000
mov dword [esp + 0x284], 0x93c854
mov dword [esp + 0x288], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0x4c22a0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], 1
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 0x280]
test al, al
jne 0x5aa29c
test ecx, 0x7fffffff
je 0x5aa1c5
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0xfffffff0
lock xadd dword [edi + 0x14], eax
and eax, 0xfffffff2
cmp eax, 0x12
je 0x5aa248
mov eax, dword [edi + 0x30]
jmp 0x5aa1fc
mov ecx, eax
lea edx, [edx*4 - 4]
and ecx, 0xc0000003
or edx, ecx
lock cmpxchg dword [edi + 0x30], edx
je 0x5a9c70
mov ecx, eax
and ecx, 3
cmp ecx, 2
jb 0x5aa20f
cmp ecx, 3
jne 0x5aad95
mov edx, eax
shr edx, 2
and edx, 0xfffffff
cmp ecx, 1
jne 0x5aa1e0
cmp edx, 1
jne 0x5aa1e0
mov ecx, eax
and ecx, 0xc0000000
or ecx, 3
lock cmpxchg dword [edi + 0x30], ecx
jne 0x5aa1fc
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
call fcn.005a8740
jmp 0x5a9c70
lea ecx, [edi + 0x14]
call fcn.007c6430
jmp 0x5aa1d7
lea ecx, [esp + 0xe8]
call fcn.005ab390
jmp 0x5aa2e6
lea ecx, [esp + 0xe8]
call fcn.005ab390
test bl, 1
jne 0x5aa2ce
jmp 0x5aa2e6
test ecx, 0x7fffffff
je 0x5aaae6
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5aaae6
test ecx, 0x7fffffff
je 0x5aaad0
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5aaad0
lea ecx, [esp + 0xe8]
call fcn.005ab390
mov eax, dword [esp + 0x30]
push 0x20
push dword [esp + 0x30]
call dword [eax + 0x10]
add esp, 8
test al, al
jne 0x5aab5b
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0xa8]
cmp byte [ecx + 1], 0
je 0x5aa4d7
cmp dword [esp + 0x64], 2
mov ecx, eax
movzx ebx, byte [esp + 9]
cmove ecx, edx
movzx edx, word [esp + 0xd]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov byte [esp + 0x28c], 0
mov byte [esp + 0x28d], bl
mov dword [esp + 0x28e], 0
mov word [esp + 0x292], 0
mov byte [esp + 0x294], 0x15
mov dword [esp + 0x10], 0x8a9464
mov dword [esp + 0x14], 3
mov dword [esp + 0x20], 0
mov word [esp + 0x295], dx
movzx edx, byte [esp + 0xf]
mov byte [esp + 0x297], dl
movzx edx, word [esp + 0xa]
mov byte [esp + 0x298], 0x15
mov word [esp + 0x299], dx
mov dh, byte [esp + 0xc]
mov byte [esp + 0x29b], dh
mov dword [esp + 0x280], 0x80000000
mov dword [esp + 0x284], eax
movzx eax, byte [esp + 0xf]
mov dword [esp + 0x288], ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0xff], al
movzx eax, word [esp + 0xd]
mov word [esp + 0xfd], ax
movzx eax, word [esp + 0xa]
mov word [esp + 0x101], ax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x103], al
lea eax, [esp + 0x280]
mov byte [esp + 0xf4], 0
mov byte [esp + 0xf5], bl
mov dword [esp + 0xf6], 0
mov word [esp + 0xfa], 0
mov byte [esp + 0xfc], 0x15
mov byte [esp + 0x100], 0x15
mov dword [esp + 0xe8], 0x80000000
mov dword [esp + 0xec], 0x93c854
mov dword [esp + 0xf0], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x3c], 0x4c22a0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x44], 0x4c22a0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], 2
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 0xe8]
test al, al
jne 0x5aa6e3
test ecx, 0x7fffffff
je 0x5aa4a6
push dword [esp + 0xec]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x280], 0x7fffffff
je 0x5aa4c8
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0xa8]
cmp byte [ecx + 6], 0
je 0x5aa500
cmp dword [esp + 0x64], 2
mov esi, dword [esp + 0x80]
cmove eax, edx
mov esi, dword [esi]
mov edi, dword [eax + 4]
cmp byte [ecx + 5], 0
mov ecx, dword [esp + 0x64]
jne 0x5aa510
jmp 0x5aa76a
xor esi, esi
cmp byte [ecx + 5], 0
mov ecx, dword [esp + 0x64]
je 0x5aa76a
cmp ecx, 2
lea eax, [esp + 0xa8]
cmove eax, edx
mov eax, dword [eax + 0x34]
test eax, eax
je 0x5aa76a
cmp ecx, 2
lea ecx, [esp + 0xa8]
cmove ecx, edx
movzx edx, byte [esp + 0xf]
test esi, esi
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x38], 0x93c83c
mov dword [esp + 0x3c], 3
mov dword [esp + 0x48], 0
mov byte [esp + 0x297], dl
movzx edx, word [esp + 0xd]
mov word [esp + 0x295], dx
movzx edx, word [esp + 0xa]
mov word [esp + 0x299], dx
movzx edx, byte [esp + 0xc]
mov dh, byte [esp + 9]
mov byte [esp + 0x29b], dl
mov byte [esp + 0x28c], 0
mov byte [esp + 0x28d], dh
mov dword [esp + 0x28e], 0
mov word [esp + 0x292], 0
mov byte [esp + 0x294], 0x15
mov byte [esp + 0x298], 0x15
mov dword [esp + 0x280], 0x80000000
mov dword [esp + 0x284], eax
movzx eax, byte [esp + 0xf]
mov dword [esp + 0x288], ecx
mov ecx, 0x93d1f8
mov byte [esp + 0xff], al
movzx eax, word [esp + 0xd]
mov word [esp + 0xfd], ax
movzx eax, word [esp + 0xa]
mov word [esp + 0x101], ax
mov eax, 0x93d015
cmove ecx, eax
movzx eax, byte [esp + 0xc]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x38]
mov byte [esp + 0x103], al
mov eax, esi
mov byte [esp + 0xf4], 0
mov byte [esp + 0xf5], dh
mov dword [esp + 0xf6], 0
mov word [esp + 0xfa], 0
mov byte [esp + 0xfc], 0x15
mov byte [esp + 0x100], 0x15
mov dword [esp + 0xe8], 0x80000000
mov dword [esp + 0xec], 0x93c854
mov dword [esp + 0xf0], 1
xor eax, 1
mov dword [esp + 0x94], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], 0x4c22a0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x1c], 0x4c22a0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x24], 0x41c480
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], 3
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 0xe8]
test al, al
je 0x5aa72b
test ecx, 0x7fffffff
je 0x5aa700
push dword [esp + 0xec]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x280], 0x7fffffff
je 0x5aab5b
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5aab5b
test ecx, 0x7fffffff
je 0x5aa748
push dword [esp + 0xec]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x280], 0x7fffffff
je 0x5aa76a
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x5aa8ab
movzx eax, byte [esp + 0xf]
movzx ecx, byte [esp + 9]
mov dword [esp + 0x280], 0x8a947c
mov dword [esp + 0x284], 4
mov dword [esp + 0x290], 0
mov dword [esp + 0x90], edi
mov byte [esp + 0x43], al
movzx eax, word [esp + 0xd]
mov word [esp + 0x41], ax
movzx eax, word [esp + 0xa]
mov word [esp + 0x45], ax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x47], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], cl
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov byte [esp + 0x40], 0x15
mov byte [esp + 0x44], 0x15
mov byte [esp + 0x1b], al
movzx eax, word [esp + 0xd]
mov word [esp + 0x19], ax
movzx eax, word [esp + 0xa]
mov word [esp + 0x1d], ax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x1f], al
lea eax, [esp + 0x38]
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], cl
lea ecx, [esp + 0x280]
mov dword [esp + 0x12], 0
mov word [esp + 0x16], 0
mov byte [esp + 0x18], 0x15
mov byte [esp + 0x1c], 0x15
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xec], 0x4c13c0
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x10]
mov dword [esp + 0xf4], 0x4631b0
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0xfc], 0x4c2210
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28c], 3
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
test al, al
jne 0x5aab5b
movzx eax, byte [esp + 0x34]
lea ecx, [esp + 0x2c]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], 0x8a949c
mov byte [esp + 0xf0], al
mov eax, dword [esp + 0x74]
mov word [esp + 0xf4], 1
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x5aa946
mov edx, dword [ecx + 8]
mov edi, dword [ecx]
shl eax, 2
lea ebx, [eax + eax*2]
mov esi, dword [edx + 8]
add edi, 8
jmp 0x5aa908
add edi, 0xc
add ebx, 0xfffffff4
je 0x5aa938
mov eax, dword [edi - 8]
cmp dword [eax + 8], esi
jne 0x5aa900
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x5aa900
mov edx, dword [edi]
mov dword [esp + 0x58], edx
push 0x8afb04
lea edx, [esp + 0xec]
push edx
push eax
push ecx
mov eax, dword [esp + 0x68]
call dword [eax + 0xc]
add esp, 0x10
jmp 0x5aa900
cmp byte [esp + 0xf5], 0
jne 0x5aab5b
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xe8]
mov dword [esp + 0xe8], 0x93d170
mov dword [esp + 0xec], 1
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf0], 0x93d1f8
mov dword [esp + 0xf4], 0
push ecx
push dword [esp + 0x30]
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esp + 4]
test al, al
jne 0x5aab5f
mov eax, dword [esp + 0x84]
mov esi, ecx
mov dword [esp + 0x38], 0x94bed0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x38]
push dword [eax + 8]
push dword [eax + 4]
call fcn.0071c320
add esp, 8
cmp byte [esi + 0xb], 0
movzx eax, byte [esp + 0x10]
je 0x5aaa62
cmp al, 4
je 0x5aaa62
movq xmm0, qword [esp + 0x10]
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xe8]
mov dword [esp + 0xe8], 0x8a7b10
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0
mov dword [esp + 0x280], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x284], fcn.00717140
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], 1
movq qword [esp + 0xa8], xmm0
call fcn.0071da60
cmp byte [esp + 0xa8], 3
jne 0x5aad35
mov esi, dword [esp + 0xac]
jmp 0x5aaa76
cmp al, 4
je 0x5aad35
cmp al, 3
jne 0x5aad35
mov esi, dword [esp + 0x14]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x5aaa9f
cmp dword [ebx + 8], 9
jb 0x5aaa90
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push esi
jmp 0x5aad27
test ecx, 0x7fffffff
je 0x5aaac2
push dword [esp + 0x284]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esp + 0x10], 0x7fffffff
jne 0x5aad8c
mov eax, 0xfffffff0
lock xadd dword [edi + 0x14], eax
and eax, 0xfffffff2
cmp eax, 0x12
je 0x5aad7f
mov eax, dword [edi + 0x30]
jmp 0x5aab08
mov ecx, eax
lea edx, [edx*4 - 4]
and ecx, 0xc0000003
or edx, ecx
lock cmpxchg dword [edi + 0x30], edx
je 0x5aab4f
mov ecx, eax
and ecx, 3
cmp ecx, 2
jb 0x5aab1b
cmp ecx, 3
jne 0x5aad95
mov edx, eax
shr edx, 2
and edx, 0xfffffff
cmp ecx, 1
jne 0x5aaaf0
cmp edx, 1
jne 0x5aaaf0
mov ecx, eax
and ecx, 0xc0000000
or ecx, 3
lock cmpxchg dword [edi + 0x30], ecx
jne 0x5aab08
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
call fcn.005a8740
lea ecx, [esp + 0xe8]
call fcn.005ab390
mov ecx, dword [esp + 4]
cmp byte [ecx + 0xb], 0
je 0x5aad35
mov ecx, dword [esp + 0x54]
lea esi, [esp + 0x280]
lea ebx, [esp + 0xa8]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
lea ecx, [esp + 0x10]
movq xmm0, qword [eax + 8]
lea eax, [esp + 0x38]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], edx
mov edx, esi
mov dword [esp + str.Unable_to_format_the_following_event._Name:___Fields:], 0x8a7b58
mov dword [esp + 0x284], 3
mov dword [esp + 0x290], 0
mov dword [esp + 0x288], ebx
mov dword [esp + 0x28c], 2
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0xac], 0x41c480
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0x5ab580
movq qword [esp + 0xf0], xmm0
call fcn.00419280
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x38], 0x94bed0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x38]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
push eax
push edi
call fcn.0071c320
add esp, 8
cmp byte [esp + 0x10], 4
je 0x5aad1f
movq xmm0, qword [esp + 0x10]
lea ecx, [esp + 0xe8]
mov dword [esp + 0x280], ebx
mov dword [esp + 0xe8], 0x8a7bdc
mov dword [esp + 0xec], 2
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf0], esi
mov dword [esp + 0x284], fcn.00717140
mov dword [esp + 0xf4], 1
movq qword [esp + 0xa8], xmm0
call fcn.0071da60
cmp byte [esp + 0xa8], 3
jne 0x5aad1f
mov ebx, dword [esp + 0xac]
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [esp + 4], eax
push eax
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x5aad10
cmp dword [esi + 8], 9
jae 0x5aacfa
mov eax, dword [esp + 4]
jmp 0x5aad01
mov eax, dword [esp + 4]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x58], 0
je 0x5aad35
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x414], 0
mov dword [eax + 8], 0
je 0x5aad6e
cmp dword [esp + 0x418], 0
je 0x5aad77
push dword [esp + 0x41c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5aad77
mov eax, dword [esp + 0x8c]
inc dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [edi + 0x14]
call fcn.007c6430
jmp 0x5aaae6
push dword [esp + 0x14]
jmp 0x5aa2af
mov dword [esp + 0x90], ecx
lea edx, [esp + 0x280]
lea ecx, [esp + 0x38]
lea eax, [esp + 0x90]
mov dword [esp + 0x10], 0x93c1fc
mov dword [esp + 0x14], 1
mov dword [esp + 0x280], 2
mov dword [esp + 0x288], 2
mov dword [esp + 0x290], 0x20
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 4
mov byte [esp + 0x29c], 3
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 1
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x10]
mov edx, 0x93c274
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x4702f0
mov dword [esp + 0x1c], 1
call fcn.007c1b50
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xe8], 2
mov dword [esp + 0xf0], 2
mov dword [esp + 0xf8], 0x20
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 4
mov dword [esp + str.internal_error:_entered_unreachable_code:_weird_lifecycle], 0x93c1fc
mov byte [esp + 0x104], 3
mov dword [esp + 0x284], 1
mov dword [esp + 0x10], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], 0x4702f0
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], 1
lea eax, [esp + 0x10]
lea ecx, [esp + 0x280]
mov edx, 0x93c274
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], 1
call fcn.007c1b50
mov ecx, 0x9339b4
mov edx, 0x5e
push 0x933a14
call fcn.007c2000
mov ecx, 4
mov edx, 0x18
call fcn.007c1490
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
mov dword [esp + str.internal_error:_entered_unreachable_code:_weird_lifecycle], 0x93c1fc
mov dword [esp + 0x284], 1
mov dword [esp + 0xe8], 2
mov dword [esp + 0xf0], 2
mov dword [esp + 0xf8], 0x20
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 4
mov byte [esp + 0x104], 3
mov dword [esp + 0x90], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x94], 0x4702f0
mov dword [esp + 0x290], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x294], 1
jmp 0x5aaeb5