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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
call 0x10045064
pop eax
movaps xmm0, xmmword [0x101194c0]
mov dword [esp + 0x244], ecx
movzx ecx, byte [edx + 0x51]
mov esi, dword [ebp + 0xc]
lea edi, [esp + 0x174]
mov ebx, 4
mov dword [esp + 0x24c], 0
mov dword [esp + 0x250], 4
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 4
mov dword [esp + 0x254], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x240], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x14c], eax
mov eax, dword [edx + 0x4c]
movups xmmword [esp + 0x1d0], xmm0
movaps xmm0, xmmword [0x101194d0]
mov dword [esp + 0x1e0], eax
lea eax, [esp + 0x180]
mov byte [esp + 0x1e5], cl
movzx ecx, byte [edx + 0x52]
mov dword [esp + 0x174], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x178], eax
movzx eax, byte [edx + 0x50]
mov dword [esp + 0x2b8], esi
mov dword [esp + 0x17c], esi
mov byte [esp + 0x1e6], al
mov byte [esp + 0x1e7], cl
mov byte [esp + 0x1e4], al
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 4
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 4
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 4
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 4
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 1
movups xmmword [esp + 0x1cc], xmm0
mov byte [esp + 0x1e4], al
mov dword [esp + 0x18c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a0], 0
movsd xmm0, qword [esp + 0x1d0]
mov eax, dword [esp + 0x1d8]
movsd qword [esp + 0xac], xmm0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa8], eax
movsd qword [esp + 0x74], xmm0
lea eax, [esp + 0xa0]
movq xmm0, qword [esp + 0xa8]
movq xmm1, qword [esp + 0xb0]
mov dword [esp + 0x20], eax
movq qword [esp + 0x7c], xmm0
movq qword [esp + 0x84], xmm1
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], 0
jmp 0x100452fe
mov ecx, edi
call fcn.100703b0
mov eax, dword [ebp + 0xc]
cmp dword [esp + 0x1d0], eax
je 0x10045f38
mov ecx, edi
call fcn.100705c0
lea ecx, [eax - 0x28]
cmp ecx, 0x33
ja 0x100453a0
mov eax, dword [ecx*4 + 0x10048fb0]
add eax, dword [esp + 0x14c]
jmp eax
cmp eax, 0x7b
je 0x1004589c
cmp eax, 0x7c
jne 0x10045416
movsd xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
movq xmm2, qword [esp + 0x68]
lea ecx, [esp + 0xa0]
mov edx, edi
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [esp + 0x70]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x128]
movsd qword [esp + 0x140], xmm0
movq qword [esp + 0x128], xmm2
movsd qword [esp + 0x130], xmm1
push eax
call fcn.10072b00
jmp 0x100458ff
mov ecx, edi
call fcn.100705c0
cmp eax, 0x5b
jg 0x1004599e
cmp eax, 0x24
je 0x10045b59
cmp eax, 0x2e
jne 0x10045a7d
mov esi, dword [esp + 0x1d0]
mov ecx, edi
call fcn.100705c0
mov ecx, 1
cmp eax, 0x80
jb 0x1004546b
mov ecx, 2
cmp eax, 0x800
jb 0x1004546b
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x10048e67
mov edi, dword [esp + 0x1d8]
cmp edi, 0xffffffff
je 0x10048e5d
mov eax, dword [esp + 0x1d4]
lea ecx, [esp + 0x174]
inc edi
mov dword [esp + 0x30], eax
call fcn.100705c0
xor ebx, ebx
cmp eax, 0xa
mov eax, 1
lea ecx, [esp + 0x1d0]
lea edx, [esp + 0xe4]
cmove edi, eax
sete bl
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esp + 0x174]
add ebx, dword [esp + 0x30]
mov dword [edx - 0x28], eax
movsd qword [edx - 0x30], xmm0
call fcn.10070c70
mov dword [esp + 0xb0], 0x80000004
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edi
mov esi, 0x80000004
jmp 0x10045c26
movsd xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
movq xmm2, qword [esp + 0x68]
lea ecx, [esp + 0xa0]
mov edx, edi
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [esp + 0x70]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x128]
movsd qword [esp + 0x140], xmm0
movq qword [esp + 0x128], xmm2
movsd qword [esp + 0x130], xmm1
push eax
call fcn.10073e40
add esp, 4
mov eax, dword [esp + 0xa0]
lea edi, [esp + 0xb8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
mov edi, dword [esp + 0xb4]
cmp eax, 0x22
mov dword [esp + 0x30], eax
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x98], xmm1
jne 0x1004605d
movq xmm0, qword [esp + 0x90]
movq xmm1, qword [esp + 0x98]
lea eax, [esp + 0x7c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0xc], ecx
lea edi, [esp + 0x174]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x100452fe
cmp eax, 0x5c
je 0x10045d0e
cmp eax, 0x5e
jne 0x10045a7d
mov esi, dword [esp + 0x1d0]
mov ecx, edi
call fcn.100705c0
mov ecx, 1
cmp eax, 0x80
jb 0x100459e3
mov ecx, 2
cmp eax, 0x800
jb 0x100459e3
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x10048e67
mov edi, dword [esp + 0x1d8]
cmp edi, 0xffffffff
je 0x10048e5d
mov eax, dword [esp + 0x1d4]
lea ecx, [esp + 0x174]
inc edi
mov dword [esp + 0x30], eax
call fcn.100705c0
xor ebx, ebx
cmp eax, 0xa
mov eax, 1
lea ecx, [esp + 0x1d0]
lea edx, [esp + 0xe4]
cmove edi, eax
sete bl
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esp + 0x174]
add ebx, dword [esp + 0x30]
mov dword [edx - 0x28], eax
movsd qword [edx - 0x30], xmm0
call fcn.10070c70
mov dword [esp + 0xb0], 0x80000003
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcc], 0
jmp 0x10045c21
mov esi, dword [esp + 0x1d0]
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.100705c0
mov ecx, 1
cmp eax, 0x80
jb 0x10045ab4
mov ecx, 2
cmp eax, 0x800
jb 0x10045ab4
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x10048e67
mov ebx, dword [esp + 0x1d8]
cmp ebx, 0xffffffff
je 0x10048e5d
mov edi, dword [esp + 0x1d4]
lea ecx, [esp + 0x174]
inc ebx
call fcn.100705c0
xor ecx, ecx
cmp eax, 0xa
mov eax, 1
lea edx, [esp + 0xb8]
sete cl
cmove ebx, eax
add ecx, edi
mov edi, ecx
lea ecx, [esp + 0x1d0]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esp + 0x174]
mov dword [edx + 8], eax
movsd qword [edx], xmm0
call fcn.10070c70
mov eax, dword [esp + 0x30]
mov dword [esp + 0xb0], 0x80000002
mov dword [esp + 0xb4], eax
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xd0], 0
mov esi, 0x80000002
jmp 0x10045c26
mov esi, dword [esp + 0x1d0]
mov ecx, edi
call fcn.100705c0
mov ecx, 1
cmp eax, 0x80
jb 0x10045b8c
mov ecx, 2
cmp eax, 0x800
jb 0x10045b8c
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x10048e67
mov edi, dword [esp + 0x1d8]
cmp edi, 0xffffffff
je 0x10048e5d
mov eax, dword [esp + 0x1d4]
lea ecx, [esp + 0x174]
inc edi
mov dword [esp + 0x30], eax
call fcn.100705c0
xor ebx, ebx
cmp eax, 0xa
mov eax, 1
lea ecx, [esp + 0x1d0]
lea edx, [esp + 0xe4]
cmove edi, eax
sete bl
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esp + 0x174]
add ebx, dword [esp + 0x30]
mov dword [edx - 0x28], eax
movsd qword [edx - 0x30], xmm0
call fcn.10070c70
mov dword [esp + 0xb0], 0x80000003
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edi
mov byte [esp + 0xcc], 1
mov esi, 0x80000003
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
mov edx, dword [esp + 0xd4]
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0xac]
movsd xmm0, qword [ecx + 0x10]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa4]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [ecx]
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x18]
mov ecx, 4
movsd qword [esp + 0x48], xmm0
mov dword [esp + 0x60], eax
lea eax, [esi + 0x7ffffffe]
cmp eax, 4
cmovae eax, ecx
mov ecx, dword [esp + 0xb4]
mov eax, dword [eax*4 + 0x10049080]
mov dword [esp + 0x14], ecx
movzx ecx, byte [0x10199148]
add eax, dword [esp + 0x14c]
jmp eax
lea ecx, [esp + 0xa0]
mov edx, edi
call fcn.10070d60
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xd8]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xa8]
cmp eax, 0x22
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x18], ecx
jne 0x10048c22
lea ecx, [esp + 0xb8]
mov eax, dword [ecx + 0x18]
movsd xmm0, qword [ecx + 0x10]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x60], eax
lea eax, [esi + 0x7ffffffe]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [ecx]
mov ecx, 4
movsd qword [esp + 0x50], xmm1
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x10049080]
movsd qword [esp + 0x48], xmm0
movzx ecx, byte [0x10199148]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
add eax, dword [esp + 0x14c]
jmp eax
movsd xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0x88]
movq xmm0, qword [esp + 0x80]
movq xmm2, qword [esp + 0x68]
lea edx, [esp + 0x174]
lea ecx, [esp + 0xa0]
movsd qword [esp + 0x138], xmm1
movq xmm1, qword [esp + 0x70]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x128]
movq qword [esp + 0x140], xmm0
movq qword [esp + 0x128], xmm2
movq qword [esp + 0x130], xmm1
push eax
call fcn.100706a0
add esp, 4
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
cmp ebx, 0x22
jne 0x100460bf
mov esi, edx
lea eax, [esp + 0x90]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edi
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x174]
push eax
call fcn.100748d0
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, 0x22
jne 0x1004627e
cmp dword [esp + 0x180], 0
jne 0x10048f5a
mov eax, dword [esp + 0x184]
mov ebx, dword [esp + 0x188]
mov ecx, edi
mov edi, dword [esp + 0x18c]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 4
mov dword [esp + 0x18c], 0
mov edx, esi
mov dword [esp + 0x180], 0
mov dword [esp + 0x18], eax
mov esi, ebx
jmp 0x100463d2
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0xc8]
movsd xmm1, qword [esp + 0x98]
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xd8]
movsd qword [esp + 0x160], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x158], xmm1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd4]
movsd qword [esp + 0x150], xmm0
jmp 0x10046130
mov eax, dword [esp + 0xac]
movsd xmm0, qword [esp + 0xb8]
mov ecx, edi
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd0]
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0xc0]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xd8]
movsd qword [esp + 0x158], xmm0
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd4]
movq qword [esp + 0x160], xmm0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2c], eax
movsd xmm0, qword [esp + 0x160]
mov eax, dword [esp + 0x168]
movsd xmm1, qword [esp + 0x158]
movsd qword [esp + 0x288], xmm0
movsd xmm0, qword [esp + 0x150]
mov dword [esp + 0x290], eax
mov eax, ecx
mov ecx, dword [esp + 0x244]
movsd qword [esp + 0x280], xmm1
movq xmm1, qword [esp + 0x280]
movsd qword [esp + 0x278], xmm0
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
movsd xmm0, qword [esp + 0x278]
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edi
mov esi, dword [esp + 0x290]
mov edx, dword [esp + 0x10]
movq qword [ecx + 0x28], xmm1
movsd qword [ecx + 0x20], xmm0
movq xmm0, qword [esp + 0x288]
mov dword [ecx + 0x38], esi
mov esi, dword [esp + 0x1c]
movq qword [ecx + 0x30], xmm0
mov dword [ecx + 0x40], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x44], edx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], ebx
lea ecx, [esp + 0x180]
call fcn.1004b310
mov dword [esp + 0x21c], 4
cmp dword [esp + 0x258], 0
je 0x1004622e
push dword [esp + 0x21c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x254]
mov edi, dword [esp + 0x250]
test ebx, ebx
je 0x1004625d
mov esi, edi
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, esi
call fcn.1004b070
add esi, 8
dec ebx
jne 0x10046250
cmp dword [esp + 0x24c], 0
je 0x10046276
push edi
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xa4]
movsd xmm0, qword [esp + 0xb8]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xac]
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0xc0]
mov dword [esp + 0x168], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xd8]
movsd qword [esp + 0x158], xmm0
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xdc]
movq qword [esp + 0x160], xmm0
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x90]
call fcn.10074fd0
mov ecx, esi
mov esi, ebx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
jmp 0x1004613f
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x168], eax
test ebx, ebx
je 0x1004639d
mov esi, edi
nop dword [eax]
mov ecx, esi
call fcn.10074fd0
add esi, 8
dec ebx
jne 0x10046390
mov eax, edi
cmp dword [esp + 0x68], 0
mov edi, dword [esp + 0x14]
je 0x100463b9
push eax
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
cmp ebx, 0x22
jne 0x1004613f
mov ebx, dword [esp + 0x18]
test edi, edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edx
je 0x1004640e
mov eax, dword [esp + 0x28]
lea esi, [eax + 4]
jmp 0x100463f6
add esi, 0x24
dec edi
je 0x1004640e
cmp dword [esi - 4], 0
je 0x100463f0
push dword [esi]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x100463f0
test ebx, ebx
je 0x10046424
push dword [esp + 0x28]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esp + 0x180]
call fcn.1004b310
lea ecx, [esp + 0x24c]
call fcn.1005d750
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24]
xor edi, edi
lea ebx, [esp + 0x128]
mov dword [esp + 0x21c], 4
mov dword [esp + 0x29c], 0
mov dword [esp + 0x248], 0
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2a0], eax
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x240]
mov dword [esp + 0x254], 1
lea ecx, [eax + 0x45]
mov dword [esp + 0x2ac], ecx
movzx ecx, byte [eax + 0x44]
movzx eax, byte [eax + 0x4b]
mov byte [esp + 0x173], cl
xor ecx, ecx
mov byte [esp + 0x172], al
jmp 0x10046511
mov edx, dword [esp + 0x21c]
mov esi, dword [esp + 0xc]
lea eax, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
inc ecx
mov dword [edx + eax], esi
mov esi, dword [esp + 0x30]
mov dword [edx + eax + 4], edi
mov edi, dword [esp + 0x18]
mov dword [edx + eax + 0xc], esi
mov esi, dword [esp + 0x1c]
mov dword [edx + eax + 8], esi
mov esi, dword [esp + 0x14]
mov dword [edx + eax + 0x10], esi
mov esi, dword [esp + 0x10]
mov dword [edx + eax + 0x14], edi
mov edi, dword [esp + 0x2b0]
mov dword [edx + eax + 0x18], esi
mov dword [esp + 0x260], ecx
cmp edi, 8
mov dword [esp + 0x2c], ecx
jne 0x10046530
mov edx, 8
jmp 0x10046563
cmp dword [esp + 0x29c], 0
jne 0x10048e44
mov ecx, dword [esp + 0x248]
lea edx, [edi + 8]
mov dword [esp + 0x29c], 1
cmp ecx, 8
jne 0x10046590
mov dword [esp + 0x248], 8
mov ecx, 4
xor eax, eax
mov dword [esp + ecx + 0x90], eax
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x100465d9
jmp 0x100482af
mov eax, dword [esp + 0x2a0]
mov esi, ecx
mov dword [esp + 0x90], 0
add esi, 8
mov dword [esp + 0x248], esi
add eax, ecx
lea ecx, [esp + edi + 0x2b4]
mov dword [esp + 0x94], ecx
mov ecx, 8
mov dword [esp + ecx + 0x90], eax
mov eax, dword [esp + 0x94]
test eax, eax
je 0x100482af
mov dword [esp + 0x2b0], edx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2ac]
lea esi, [esp + 0x12c]
mov edi, dword [esp + 0x98]
mov dword [esp + 0xc], 4
mov dword [esp + 0x2a8], ecx
movzx ecx, word [edx + 4]
mov word [esi + 0x10], cx
mov ecx, dword [edx]
xor edx, edx
mov dword [esi + 0xc], ecx
movzx ecx, byte [esp + 0x173]
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 4
mov dword [esp + 0x134], 0
mov byte [esp + 0x13f], cl
movzx ecx, byte [esp + 0x172]
mov byte [esp + 0x13e], cl
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x278], ebx
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 4
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 4
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x280], eax
mov eax, edi
mov dword [esp + 0x44], eax
mov eax, dword [eax]
add eax, 0xfffffff9
cmp eax, 4
ja 0x10046b21
mov eax, dword [eax*4 + 0x10049094]
add eax, dword [esp + 0x14c]
jmp eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
add eax, 0xfffffff9
cmp eax, 4
ja 0x10047e03
mov eax, dword [eax*4 + 0x100490c8]
mov ecx, dword [esp + 0x44]
add eax, dword [esp + 0x14c]
mov ebx, dword [ecx + 4]
jmp eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x278]
push dword [eax + 4]
push dword [eax]
call fcn.10084d50
add esp, 8
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x80000000
jne 0x10047f70
mov edx, dword [esp + 0x1f0]
test edx, edx
je 0x10048070
mov ecx, dword [esp + 0x1ec]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*4 - 0x14]
mov dword [esp + 0xc], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esi + 4]
mov ebx, dword [esi]
lea edi, [edx - 1]
cmp ecx, 2
jb 0x10047e94
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
jne 0x10047e90
test eax, eax
je 0x10047e94
jmp 0x10047f46
test eax, eax
jne 0x10047ecd
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x278]
push dword [ebx + 4]
push dword [ebx]
call fcn.10084d50
add esp, 8
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x80000000
jne 0x10047f70
add esi, 0xffffffec
test edi, edi
mov edx, edi
jne 0x10047e60
jmp 0x10048070
cmp dword [esp + 0x128], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x1f0], edi
jne 0x10048c7f
mov dword [esp + 0x128], 0xffffffff
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x134]
cmp edi, dword [esp + 0x12c]
jne 0x10047f19
lea ecx, [esp + 0x12c]
mov dword [esp + 0x14], edx
call fcn.10088140
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x130]
lea ecx, [edi + edi*8]
lea ecx, [ecx + ecx*2]
add ecx, edi
inc edi
mov dword [eax + ecx], 0xf
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x134], edi
inc dword [esp + 0x128]
mov edi, dword [esp + 0x44]
dec eax
mov dword [esi], ebx
mov dword [esi + 4], ecx
mov dword [esi + 8], edi
mov dword [esi + 0x10], eax
lea eax, [edi + 8]
mov dword [esi + 0xc], eax
mov eax, edi
mov dword [esp + 0x1f0], edx
jmp 0x100466c2
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x30], edx
mov dword [esp + 0x268], ecx
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x264], edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1e8], 0
je 0x10047ff0
push dword [esp + 0x1ec]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x1f4], 0
je 0x1004800f
push dword [esp + 0x1f8]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp ebx, 0x80000000
jne 0x100482db
lea ebx, [esp + 0x128]
mov dword [esp + 0x1c], edi
mov edi, esi
mov ecx, ebx
call fcn.1004b250
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x258]
jne 0x100464c0
lea ecx, [esp + 0x258]
call fcn.10088140
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x21c], eax
jmp 0x100464c0
mov eax, dword [esp + 0x278]
mov ecx, dword [eax]
cmp ecx, 0x7ffffffe
ja 0x10048e93
lea edx, [ecx + 1]
mov dword [eax], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
cmp edx, 1
lea edx, [esp + 0xa4]
jne 0x10048e9d
test ecx, ecx
mov dword [eax], ecx
jne 0x10048c93
mov dword [eax], 0xffffffff
mov dword [eax + 0xc], 0
mov ecx, dword [eax + 8]
movsd xmm0, qword [ecx + 0x14]
mov esi, dword [ecx]
movsd qword [esp + 0x190], xmm0
cmp esi, 0x10
movsd xmm0, qword [ecx + 0xc]
movsd qword [esp + 0x188], xmm0
movsd xmm0, qword [ecx + 4]
movsd qword [esp + 0x180], xmm0
mov dword [eax], 0
je 0x10048e89
movsd xmm0, qword [esp + 0x190]
movq xmm2, qword [esp + 0x180]
movq xmm1, qword [esp + 0x188]
lea eax, [esi - 7]
cmp esi, 8
mov ecx, 0
mov dword [esp + 0xa0], esi
cmovb eax, ecx
test eax, eax
movsd qword [edx + 0x10], xmm0
movq qword [edx + 8], xmm1
movq qword [edx], xmm2
je 0x10048170
cmp eax, 1
jne 0x10048ed2
mov eax, dword [edx + 8]
movq xmm0, qword [edx]
lea ecx, [esp + 0x180]
lea edx, [esp + 0x68]
mov dword [esp + 0x70], eax
movq qword [esp + 0x68], xmm0
call fcn.10087b80
cmp esi, 9
jae 0x100481b9
jmp 0x100481c2
mov eax, dword [esp + 0xb8]
movq xmm0, qword [esp + 0xb0]
movq xmm2, qword [esp + 0xa0]
movq xmm1, qword [esp + 0xa8]
mov dword [esp + 0x198], eax
movq qword [esp + 0x190], xmm0
movq qword [esp + 0x188], xmm1
movq qword [esp + 0x180], xmm2
cmp esi, 9
jb 0x100481c2
mov ecx, dword [esp + 0x20]
call fcn.10087ce0
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
mov edi, dword [esp + 0x188]
mov ebx, 0x80000000
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1e8], 0
jne 0x10047fdb
jmp 0x10047ff0
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x25c]
movzx eax, byte [esi + 0x34]
mov dh, byte [esi + 0x3a]
mov dl, byte [esi + 0x3b]
mov ah, byte [esi + 0x3c]
cmp al, 3
je 0x100482d6
cmp al, 2
jne 0x1004838a
jmp 0x100483b7
mov ecx, dword [esp + 0x244]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x268]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x264]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x10], edx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x14], esi
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x2a8]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x1c], esi
mov dword [ecx], 0
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x22
lea ecx, [esp + 0x128]
call fcn.1004b250
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1004620f
mov esi, dword [esp + 0x21c]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
nop
mov ecx, esi
mov ebx, eax
call fcn.10087d50
mov ecx, esi
call fcn.1004af20
push dword [esi + 0x18]
push 0
push dword [0x101990e0]
call edi
mov eax, ebx
add esi, 0x1c
dec eax
jne 0x10048360
jmp 0x1004620f
mov ebx, dword [esp + 0x240]
mov ecx, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
lock inc dword [ecx]
jle 0x10048f64
mov esi, dword [ebx + 0x30]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x30]
mov byte [esp + 0x1ba], dh
mov byte [esp + 0x1bb], dl
mov byte [esp + 0x1bc], ah
mov dword [esp + 0x1a8], esi
mov esi, dword [esp + 0x240]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1ac], ebx
movzx ecx, byte [esi + 0x42]
mov dword [esp + 0x1b0], edx
mov edx, dword [esi + 8]
mov byte [esp + 0x1b4], al
xor eax, eax
mov ebx, dword [esi + 0x3d]
mov byte [esp + 0x1c2], cl
mov ecx, dword [esi + 0x10]
test edx, edx
setne al
cmp edx, 2
cmove eax, edx
movzx edx, byte [esi + 0x41]
mov dword [esp + 0x188], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x190], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x194], ecx
mov ecx, dword [esi]
mov dword [esp + 0x180], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x184], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x198], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], eax
mov eax, dword [esi + 0x24]
movzx ecx, word [esi + 0x38]
mov esi, dword [esp + 0x2c]
test esi, esi
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1bd], ebx
mov byte [esp + 0x1c1], dl
mov word [esp + 0x1b8], cx
je 0x100485ab
movzx eax, byte [0x10199148]
lea edx, [esi*4]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0xc], edx
call fcn.100ea7d0
test eax, eax
je 0x10048f66
cmp esi, 8
jb 0x10048564
movdqa xmm0, xmmword [0x101194f0]
movdqa xmm1, xmmword [0x10119500]
movdqa xmm3, xmmword [str.pppp_b_b_b_b_n_nd]
movdqa xmm4, xmmword [0x10119520]
mov ebx, esi
mov edx, eax
movd xmm2, edi
and ebx, 0xfffffff8
add edx, 0x10
pshufd xmm2, xmm2, 0
mov ecx, ebx
nop
movdqa xmm5, xmm0
pshufd xmm6, xmm0, 0xf5
paddd xmm0, xmm4
pmuludq xmm5, xmm1
pmuludq xmm6, xmm1
pshufd xmm5, xmm5, 0xe8
pshufd xmm6, xmm6, 0xe8
punpckldq xmm5, xmm6
paddd xmm5, xmm2
movdqu xmmword [edx - 0x10], xmm5
paddd xmm5, xmm3
movdqu xmmword [edx], xmm5
add edx, 0x20
add ecx, 0xfffffff8
jne 0x10048520
mov esi, dword [esp + 0x2c]
cmp esi, ebx
je 0x1004857b
lea edx, [ebx + ebx*8]
lea edx, [edx + edx*2]
add edx, ebx
add edi, edx
nop
mov dword [eax + ebx*4], edi
inc ebx
add edi, 0x1c
cmp esi, ebx
jne 0x10048570
lea ecx, [esp + 0x180]
mov edx, eax
mov edi, esi
mov ebx, eax
push esi
call fcn.100490f0
add esp, 4
mov esi, eax
lea ecx, [esp + 0xa0]
mov edx, eax
mov dword [esp + 0x128], eax
push edi
mov dword [esp + 0x10], ebx
push ebx
jmp 0x100485df
lea ecx, [esp + 0x180]
mov edx, 4
mov dword [esp + 0xc], 4
push 0
call fcn.100490f0
add esp, 4
mov esi, eax
lea ecx, [esp + 0xa0]
mov edx, eax
mov dword [esp + 0x128], eax
push 0
push 4
call fcn.10049590
add esp, 8
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
cmp eax, 2
jne 0x10048aea
lock inc dword [edi]
jle 0x10048f64
movzx eax, byte [0x10199148]
xor ecx, ecx
mov edx, 8
call fcn.100ea7d0
test eax, eax
je 0x10048f74
mov dword [eax], edi
mov dword [eax + 4], ebx
mov esi, eax
xor ecx, ecx
mov edx, 0x240
movzx eax, byte [0x10199148]
call fcn.100ea7d0
test eax, eax
je 0x10048f83
mov ecx, eax
and ecx, 0xffffffc0
mov dword [ecx + 0x3c], eax
xor eax, eax
add ecx, 0x40
mov dword [esp + 0x1e8], 8
test al, al
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], 0
je 0x1004868c
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 4
mov dword [ecx + 0xc], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x10], xmm0
movaps xmmword [ecx + 0x20], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x30], xmm0
mov dword [esp + 0x1f0], 1
cmp dword [esp + 0x1e8], 1
jne 0x100486f2
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x40], 0
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], 4
mov dword [ecx + 0x4c], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x50], xmm0
movaps xmmword [ecx + 0x60], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x70], xmm0
mov dword [esp + 0x1f0], 2
cmp dword [esp + 0x1e8], 2
jne 0x10048759
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x80], 0
mov dword [ecx + 0x84], 0
mov dword [ecx + 0x88], 4
mov dword [ecx + 0x8c], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x90], xmm0
movaps xmmword [ecx + 0xa0], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0xb0], xmm0
mov dword [esp + 0x1f0], 3
cmp dword [esp + 0x1e8], 3
jne 0x100487d5
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0xc0], 0
mov dword [ecx + 0xc4], 0
mov dword [ecx + 0xc8], 4
mov dword [ecx + 0xcc], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0xd0], xmm0
movaps xmmword [ecx + 0xe0], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0xf0], xmm0
mov dword [esp + 0x1f0], 4
cmp dword [esp + 0x1e8], 4
jne 0x10048851
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x100], 0
mov dword [ecx + 0x104], 0
mov dword [ecx + 0x108], 4
mov dword [ecx + 0x10c], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x110], xmm0
movaps xmmword [ecx + 0x120], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x130], xmm0
mov dword [esp + 0x1f0], 5
cmp dword [esp + 0x1e8], 5
jne 0x100488cd
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x140], 0
mov dword [ecx + 0x144], 0
mov dword [ecx + 0x148], 4
mov dword [ecx + 0x14c], 0
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x150], xmm0
movaps xmmword [ecx + 0x160], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x170], xmm0
mov dword [esp + 0x1f0], 6
cmp dword [esp + 0x1e8], 6
jne 0x10048949
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x180], 0
mov dword [ecx + 0x184], 0
mov dword [ecx + 0x188], 4
mov dword [ecx + 0x18c], 0
mov dword [esp + 0x30], ebx
movaps xmm0, xmmword [esp + 0xa0]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x190], xmm0
movaps xmmword [ecx + 0x1a0], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x1b0], xmm0
mov dword [esp + 0x1f0], 7
cmp dword [esp + 0x1e8], 7
jne 0x100489c9
lea ecx, [esp + 0x1e8]
call fcn.1004ae90
mov ecx, dword [esp + 0x1ec]
mov word [ecx + 0x1c0], 0
mov dword [ecx + 0x1c4], 0
mov dword [ecx + 0x1c8], 4
mov dword [ecx + 0x1cc], 0
mov dword [esp + 0x20], edi
mov edx, 0x9c
movaps xmm0, xmmword [esp + 0xa0]
movdqa xmm1, xmmword [esp + 0xb0]
movaps xmmword [ecx + 0x1d0], xmm0
movdqa xmmword [ecx + 0x1e0], xmm1
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [ecx + 0x1f0], xmm0
mov dword [esp + 0x1f0], 8
xor ecx, ecx
movzx eax, byte [0x10199148]
call fcn.100ea7d0
test eax, eax
je 0x10048f92
mov ebx, eax
mov eax, dword [esp + 0x1f0]
mov ecx, 0x20
mov edx, 0x14
mov edi, ebx
add edi, 0x1c
mov dword [ebx + 8], eax
movq xmm0, qword [esp + 0x1e8]
movq qword [ebx], xmm0
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], 0x10129d68
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 2
lea esi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x128]
movzx eax, byte [0x10199148]
xor ecx, ecx
call fcn.100ea7d0
test eax, eax
je 0x10048fa1
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x244]
cmp dword [esp + 0x2c], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
mov dword [edx + 4], eax
mov dword [edx + 8], ebx
mov dword [edx], 2
jmp 0x10048b7b
mov edx, dword [esp + 0x244]
movsd xmm2, qword [esp + 0xd4]
movsd xmm1, qword [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
movq xmm0, qword [esp + 0xdc]
movsd qword [edx + 0x34], xmm2
movsd qword [edx + 0x2c], xmm1
movsd xmm2, qword [esp + 0xc4]
movsd xmm1, qword [esp + 0xbc]
mov dword [edx + 0x44], ecx
movq qword [edx + 0x3c], xmm0
movsd qword [edx + 0x24], xmm2
movsd qword [edx + 0x1c], xmm1
movq xmm2, qword [esp + 0xac]
movq xmm1, qword [esp + 0xb4]
movq qword [edx + 0x14], xmm1
movq qword [edx + 0xc], xmm2
mov dword [edx], eax
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
lock dec dword [esi]
jne 0x10048b76
lea ecx, [esp + 0x128]
call fcn.1004add0
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0xc]
je 0x10048b90
push eax
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
mov dword [esp + 0xc], eax
je 0x10048bd1
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.10087d50
mov ecx, esi
call fcn.1004af20
push dword [esi + 0x18]
push 0
push dword [0x101990e0]
call edi
add esi, 0x1c
dec ebx
jne 0x10048bb0
cmp dword [esp + 0x258], 0
je 0x10048bed
push dword [esp + 0xc]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x254]
mov edi, dword [esp + 0x250]
test ebx, ebx
je 0x1004625d
mov esi, edi
nop word cs:[eax + eax]
nop
mov ecx, esi
call fcn.1004b070
add esi, 8
dec ebx
jne 0x10048c10
jmp 0x1004625d
lea ecx, [esp + 0xb8]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x28], esi
movq xmm0, qword [ecx + 0x10]
movq xmm1, qword [ecx]
movq xmm2, qword [ecx + 8]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
movq qword [esp + 0x58], xmm0
movq qword [esp + 0x50], xmm2
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x150], xmm1
movq qword [esp + 0x158], xmm2
movq qword [esp + 0x160], xmm0
jmp 0x10046370
mov ecx, 0x1012d8f8
call fcn.1010d260
push 0x1012d260
call fcn.1010cfe0
mov ecx, 0x1012d928
call fcn.1010d260
lea eax, [esp + 0xa0]
mov dword [esp + str.tried_to_unwrap_byte_class_from_HirFrame__got:], 0x1013c7d0
mov dword [esp + 0x184], 1
mov dword [esp + 0x190], 0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], 0x10087900
jmp 0x10048e1c
lea ecx, [esp + 0x180]
mov edx, 0x1012d678
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 1
call fcn.1010cf40
call fcn.10001070
mov ecx, 0x1012b814
call fcn.1010d3b0
mov ecx, 4
mov edx, 0x74
call fcn.1010cb80
mov ecx, 0x1012cb50
call fcn.1010d3b0
mov ecx, 0x1012cb60
call fcn.1010d3b0
mov ecx, 1
mov edx, edi
call fcn.1010cb60
mov ecx, 4
mov edx, edi
call fcn.1010cb60
mov ecx, 0x1012d728
call fcn.1010d3b0
mov ecx, 0x1012d748
call fcn.1010d2a0
mov dword [esp + 0xa0], 0
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x48]
mov edx, 0x1013c83c
push 0x1012d738
push eax
call fcn.10112980
mov ecx, 4
mov edx, 0x1c
call fcn.1010cb80
lea ecx, [esp + 0x68]
lea eax, [esp + 0xa0]
mov dword [esp + str.tried_to_unwrap_expr_from_HirFrame__got:], 0x1013c6c8
mov dword [esp + 0x184], 1
mov dword [esp + 0x190], 0
mov edx, 0x1012d658
mov dword [esp + 0x188], ecx
lea ecx, [esp + 0x180]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x10087900
mov dword [esp + 0x18c], 1
call fcn.1010cf40
mov ecx, 4
mov edx, 0x38
call fcn.1010cb80
mov ecx, 4
mov edx, 0x18
call fcn.1010cb80
mov ecx, 4
mov edx, 0x20
call fcn.1010cb80
mov ecx, 0x1012ccb8
call fcn.1010d260
ud2
mov edx, dword [esp + 0xc]
mov ecx, 4
call fcn.1010cb60
mov ecx, 4
mov edx, 8
call fcn.1010cb80
mov ecx, 0x40
mov edx, 0x200
call fcn.1010cb60
mov ecx, 4
mov edx, 0x9c
call fcn.1010cb80
mov ecx, 4
mov edx, 0x14
call fcn.1010cb80
aam 2
add byte [eax], al
retf 4