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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x68]
mov edx, eax
push esi
mov dword [esp + 0x64], eax
xor esi, esi
push edi
mov dword [eax + 0xc], 2
lea edi, [ecx + 0x2c]
lea eax, [esp + 0x10]
mov dword [esp + 0x64], ecx
sub edx, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x50], edx
nop dword [eax]
mov eax, dword [edi - 0x14]
lea ecx, [esp + 0x10]
lea ecx, [ecx + esi*4]
mov dword [ecx + edx], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
push ecx
mov al, byte [eax + esi + 0x20]
mov byte [edx + esi + 8], al
lea eax, [esp + 0xc]
lea eax, [eax + esi*4]
push eax
push dword [edi]
mov eax, dword [esp + 0x70]
push dword [edi - 8]
push dword [esi*4 + str.BUSGSOPG]
push dword [eax]
call fcn.10334930
mov edx, dword [esp + 0x68]
lea edi, [edi + 4]
inc esi
add esp, 0x18
cmp esi, 2
jb 0x1033f840
mov esi, dword [esp + 0x64]
mov ecx, dword [esi + 0x40]
mov eax, ecx
test ecx, ecx
je 0x1033fed8
cmp ecx, 0xffffffff
jb 0x1033f8a8
or ecx, 0xffffffff
jmp 0x1033f8ae
mov edx, ecx
test ecx, ecx
je 0x1033f8c6
push 0x1033f7b0
push 0x1c
push ecx
push dword [esi + 0x44]
call fcn.1033edb0
mov eax, dword [esi + 0x40]
add esp, 0x10
mov edx, eax
xor edi, edi
mov dword [esp + 0x60], 1
mov ecx, edx
cmp edx, 1
jbe 0x1033fec5
xor edx, edx
mov dword [esp + 0x5c], 0x1c
nop word [eax + eax]
mov esi, dword [0x103b96f8]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
cmp edi, eax
jb 0x1033f92e
mov eax, dword [esp + 0x64]
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov eax, dword [eax + 0x40]
mov dword [esp + 0x54], 0x1044a308
jmp 0x1033f93b
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + 0x44]
add ecx, edx
mov dword [esp + 0x54], ecx
mov ecx, eax
cmp dword [esp + 0x60], eax
jb 0x1033f966
mov ecx, dword [esp + 0x64]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033f971
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x54]
mov eax, dword [eax]
cmp eax, dword [esi]
mov esi, dword [0x103b96f8]
je 0x1033f9f0
cmp dword [esp + 0x60], ecx
jb 0x1033f9aa
mov ecx, dword [esp + 0x64]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033f9b5
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
movups xmm0, xmmword [eax]
inc edi
mov esi, dword [eax + 0x18]
movq xmm1, qword [eax + 0x10]
add edx, 0x1c
cmp edi, ecx
jb 0x1033f9da
mov eax, 0x1044a308
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm1
jmp 0x1033fe9f
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm1
jmp 0x1033fe9f
cmp dword [esp + 0x60], ecx
jb 0x1033fa19
mov ecx, dword [esp + 0x64]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fa24
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
test byte [eax + 0xc], 1
je 0x1033fb72
cmp edi, ecx
jb 0x1033fa4e
movups xmmword [0x1044a308], xmm1
mov eax, 0x1044a308
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
jmp 0x1033fa57
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
or dword [eax + 0xc], 1
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
movups xmm0, xmmword [0x103b96f0]
mov ecx, dword [eax + 0x40]
movups xmm1, xmmword [0x103b96e0]
cmp esi, ecx
jb 0x1033fa9f
mov ecx, dword [esp + 0x64]
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033faa6
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
cmp edi, ecx
jb 0x1033fad1
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
jmp 0x1033fada
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x64]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [eax + 0x40]
cmp esi, ecx
jb 0x1033fb21
mov ecx, dword [esp + 0x64]
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fb28
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x50], eax
cmp edi, ecx
jb 0x1033fb5d
mov eax, dword [0x103b96f8]
mov ecx, dword [esp + 0x50]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov dword [eax + 0x10], ecx
jmp 0x1033fca8
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x44]
add eax, edx
mov dword [eax + 0x10], ecx
jmp 0x1033fca8
cmp edi, ecx
jb 0x1033fb99
mov ecx, dword [esp + 0x64]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fba2
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
test byte [eax + 0xc], 1
je 0x1033fbe9
cmp edi, ecx
jb 0x1033fbc8
movups xmmword [0x1044a308], xmm1
mov eax, 0x1044a308
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
jmp 0x1033fbd1
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
xor dword [eax + 0xc], 1
mov esi, dword [0x103b96f8]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x40]
cmp dword [esp + 0x60], ecx
jb 0x1033fc18
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x48], 0x1044a308
jmp 0x1033fc27
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x64]
cmp edi, ecx
jb 0x1033fc4e
mov ecx, dword [esp + 0x64]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fc53
mov eax, dword [eax + 0x44]
add eax, edx
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
mov eax, dword [eax + 8]
cmp esi, eax
cmovb esi, eax
mov dword [esp + 0x54], esi
mov esi, dword [0x103b96f8]
cmp edi, ecx
jb 0x1033fc94
movups xmmword [0x1044a308], xmm1
mov eax, 0x1044a308
mov dword [0x1044a320], esi
movq qword [0x1044a318], xmm0
jmp 0x1033fc9d
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x64]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [eax + 0x40]
cmp esi, ecx
jb 0x1033fce8
mov ecx, dword [esp + 0x64]
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fcef
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x5c]
mov eax, dword [eax + 0xc]
and eax, 2
mov dword [esp + 0x50], eax
cmp edi, ecx
jb 0x1033fd1d
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
jmp 0x1033fd26
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
mov ecx, dword [esp + 0x50]
or dword [eax + 0xc], ecx
mov eax, dword [esp + 0x64]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [eax + 0x40]
cmp esi, ecx
jb 0x1033fd6d
mov ecx, dword [esp + 0x64]
mov esi, 0x1044a308
mov eax, dword [0x103b96f8]
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], eax
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fd79
mov esi, dword [eax + 0x44]
add esi, dword [esp + 0x5c]
mov eax, dword [0x103b96f8]
cmp edi, ecx
jb 0x1033fd9f
mov ecx, dword [esp + 0x64]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x40]
jmp 0x1033fda8
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x50]
cmp esi, eax
cmova esi, eax
cmp edi, ecx
jb 0x1033fddf
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
jmp 0x1033fde8
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
mov dword [eax + 0x14], esi
mov esi, dword [esp + 0x64]
movups xmm0, xmmword [0x103b96f0]
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [esi + 0x40]
cmp dword [esp + 0x60], ecx
jb 0x1033fe2c
mov eax, dword [0x103b96f8]
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a320], eax
movq qword [0x1044a318], xmm0
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x54], 0x1044a308
jmp 0x1033fe3c
mov eax, dword [esi + 0x44]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [0x103b96f8]
cmp edi, ecx
jb 0x1033fe5e
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
mov ecx, dword [esi + 0x40]
jmp 0x1033fe63
mov eax, dword [esi + 0x44]
add eax, edx
mov esi, dword [eax + 0x18]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x18]
cmp esi, eax
cmova esi, eax
cmp edi, ecx
jb 0x1033fe96
mov eax, dword [0x103b96f8]
mov dword [0x1044a320], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movq qword [0x1044a318], xmm0
jmp 0x1033fe9f
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x44]
add eax, edx
add dword [esp + 0x5c], 0x1c
mov dword [eax + 0x18], esi
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
inc esi
mov dword [esp + 0x60], esi
mov ecx, dword [eax + 0x40]
mov eax, ecx
cmp esi, ecx
jb 0x1033f8f0
mov esi, dword [esp + 0x64]
xor edx, edx
add edi, 1
cmovs edi, edx
cmp edi, eax
jae 0x1033fed8
mov dword [esi + 0x40], edi
mov ecx, edi
mov eax, edi
xor edi, edi
mov edx, 2
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], edi
test ecx, ecx
je 0x10340265
mov eax, dword [esi + 0x40]
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x40], edx
cmp edi, eax
jb 0x1033ff2f
movups xmm0, xmmword [0x103b96e0]
mov eax, dword [0x103b96f8]
mov edi, 0x1044a308
mov dword [0x1044a320], eax
movups xmmword [0x1044a308], xmm0
movq xmm0, qword [0x103b96f0]
movq qword [0x1044a318], xmm0
jmp 0x1033ff34
mov edi, dword [esi + 0x44]
add edi, ecx
test byte [edi + 0xc], 1
mov ecx, dword [edi + 8]
je 0x1033ff46
cmp ecx, 1
jne 0x1033ff46
xor eax, eax
jmp 0x1033ff64
test ecx, ecx
jne 0x1033ff4e
xor eax, eax
jmp 0x1033ff5c
bsr eax, ecx
inc eax
cmp eax, 8
jb 0x1033ff5c
mov eax, 8
test ecx, ecx
je 0x10340246
add eax, edx
mov dword [esp + 0x5c], eax
cmp eax, 0x20
ja 0x10340246
xor cl, cl
lea edx, [esi + 0x24]
lea eax, [edi + 0x14]
mov byte [esp + 0x5b], cl
mov dword [esp + 0x48], edx
xor esi, esi
mov dword [esp + 0x54], eax
nop dword [eax]
mov ecx, dword [edi]
cmp dword [esp + esi + 0x10], ecx
jne 0x1033ff9e
mov eax, dword [eax]
mov dword [esp + esi + 0x18], eax
lea eax, [esp + 0x34]
add eax, esi
push eax
mov eax, dword [esp + 0x68]
push ecx
push dword [edx + 8]
push dword [edx]
push dword [esi + str.BUSGSOPG]
push dword [eax]
call fcn.103347e0
mov cl, byte [esp + 0x73]
add esp, 0x18
mov edx, dword [esp + 0x48]
test eax, eax
setne al
add esi, 4
or cl, al
add edx, 4
mov eax, dword [esp + 0x54]
add eax, 4
mov byte [esp + 0x5b], cl
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], edx
cmp esi, 8
jb 0x1033ff90
test cl, cl
jne 0x10340035
test byte [edi + 0xc], 0x10
je 0x1034002b
xor esi, esi
lea eax, [esp + 0x34]
add eax, esi
push eax
push dword [edi]
mov eax, dword [esp + 0x6c]
push dword [esi + str.BUSGSOPG]
push dword [eax]
call fcn.1032dda0
mov cl, byte [esp + 0x6b]
add esi, 4
or cl, al
add esp, 0x10
mov byte [esp + 0x5b], cl
cmp esi, 8
jb 0x1033fff8
test cl, cl
jne 0x10340035
test byte [edi + 0xc], 2
je 0x1034023e
mov esi, dword [esp + 0x68]
xor eax, eax
mov edx, dword [esi + 0x14]
lea ecx, [edx + 1]
test ecx, ecx
cmovs ecx, eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x54], ecx
test eax, eax
js 0x1034011b
cmp ecx, eax
jbe 0x103400bc
mov esi, eax
nop dword [eax + eax]
mov eax, esi
add esi, 8
shr eax, 1
add esi, eax
cmp ecx, esi
jae 0x10340060
mov eax, dword [esp + 0x68]
test esi, esi
js 0x10340114
cmp esi, dword [eax + 0x10]
jb 0x10340114
cmp esi, 0x71c71c7
jae 0x10340114
lea eax, [esi + esi*8]
shl eax, 2
push eax
mov eax, dword [esp + 0x6c]
push dword [eax + 0x18]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
je 0x10340110
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x10], esi
mov esi, ecx
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jbe 0x103400e1
sub ecx, edx
lea eax, [ecx + ecx*8]
shl eax, 2
lea ecx, [edx + edx*8]
push eax
mov eax, dword [esi + 0x18]
push 0
lea eax, [eax + ecx*4]
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x60]
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14], ecx
lea ecx, [ecx + ecx*8]
lea edx, [ecx - 4]
lea esi, [ecx - 9]
lea edx, [eax + edx*4]
mov dword [esp + 0x54], edx
lea esi, [eax + esi*4]
lea edx, [ecx - 3]
lea edx, [eax + edx*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x48], edx
add eax, 0xfffffffc
mov dword [esp + 0x60], eax
jmp 0x1034015e
mov eax, dword [esp + 0x68]
mov dword [eax + 0x10], 0xffffffff
movups xmm0, xmmword [0x103b96e0]
mov eax, dword [0x103b9700]
mov esi, 0x1044a308
mov dword [0x1044a328], eax
movups xmmword [0x1044a308], xmm0
mov dword [esp + 0x54], 0x1044a31c
movups xmm0, xmmword [0x103b96f0]
mov dword [esp + 0x48], 0x1044a320
mov dword [esp + 0x60], 0x1044a328
movups xmmword [0x1044a318], xmm0
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0xc]
shr eax, 1
not eax
xor eax, dword [esi + 0x20]
and eax, 2
xor dword [esi + 0x20], eax
mov ecx, dword [edi + 0xc]
shr ecx, 1
not ecx
xor ecx, dword [esi + 0x20]
and ecx, 4
xor ecx, dword [esi + 0x20]
mov dword [esi + 0x20], ecx
mov edx, dword [edi + 0xc]
shr edx, 2
xor edx, ecx
and edx, 8
xor edx, ecx
mov dword [esi + 0x20], edx
test byte [edi + 0xc], 1
je 0x103401d3
cmp dword [edi + 8], 1
jne 0x103401d3
mov ecx, 1
mov dword [esi + 0x14], 1
mov dword [esi + 0x18], 2
lea edi, [ecx + 1]
jmp 0x10340221
mov eax, dword [esp + 0x4c]
mov edx, 1
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x14], eax
mov eax, 1
shl edx, cl
mov ecx, dword [esp + 0x4c]
shl eax, cl
mov ecx, dword [esp + 0x40]
sub edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x18], edx
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x48]
shl eax, cl
mov ecx, dword [esp + 0x68]
and eax, edx
mov edx, dword [esp + 0x60]
or dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x54]
mov edi, dword [edi]
mov edx, dword [edx]
mov ecx, dword [ecx]
mov eax, 1
shl eax, cl
and eax, edi
mov dword [esi + 0x1c], eax
xor eax, eax
cmp byte [esp + 0x5b], al
sete al
and edx, 0xfffffffe
or eax, edx
mov dword [esi + 0x20], eax
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
inc edi
mov eax, dword [esi + 0x40]
add ecx, 0x1c
mov dword [esp + 0x44], edi
mov dword [esp + 0x50], ecx
cmp edi, eax
jb 0x1033fef8
test eax, eax
je 0x10340270
mov dword [esi + 0x40], 0
push 0
push 0
mov ecx, esi
call fcn.1033f6d0
push 0
push 1
mov ecx, esi
call fcn.1033f6d0
movups xmm0, xmmword [0x103b96f0]
xor edx, edx
movups xmm1, xmmword [0x103b96e0]
mov dword [esp + 0x4c], edx
nop word [eax + eax]
lea eax, [edx + 0xd]
mov dword [esp + 0x48], 0
xor ecx, ecx
lea eax, [esi + eax*4]
xor edi, edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x38], eax
cmp dword [eax], ecx
jbe 0x103409e7
lea eax, [edx*4]
lea edi, [esp + 0x18]
mov dword [esp + 0x50], eax
add edi, eax
mov dword [esp + 0x30], edi
lea edi, [esp + 8]
add eax, edi
mov edi, ecx
mov dword [esp + 0x40], eax
lea eax, [edx + edx*2]
shl eax, 2
mov dword [esp + 0x60], eax
add eax, 0x4c
add eax, esi
mov dword [esp + 0x20], eax
nop word [eax + eax]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
cmp eax, 0xffff
je 0x10340351
mov edx, dword [esp + 0x30]
cmp dword [edx], ecx
mov edx, dword [esp + 0x4c]
jne 0x10340351
mov edi, dword [esp + 0x74]
lea ecx, [edx*4]
push 0
push 1
push 1
push 2
push dword [ecx + edi]
mov ecx, esi
push eax
push edx
push dword [esp + 0x84]
call fcn.1033f4d0
movups xmm0, xmmword [0x103b96f0]
mov edi, dword [esp + 0x5c]
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [esp + 0x68]
xor esi, esi
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10340524
xor edi, edi
cmp esi, eax
jb 0x10340389
mov edx, dword [0x103b9700]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a328], edx
movups xmmword [0x1044a318], xmm0
jmp 0x1034038e
mov eax, dword [ecx + 0x18]
add eax, edi
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
cmp dword [eax + ecx*4 + 0xc], edx
mov edx, dword [0x103b9700]
mov ecx, dword [esp + 0x68]
jne 0x10340511
mov ecx, dword [ecx + 0x14]
cmp esi, ecx
jb 0x103403d3
mov ecx, dword [esp + 0x68]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a328], edx
movups xmmword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x14]
jmp 0x103403dc
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
add eax, edi
mov eax, dword [eax + 0x20]
shr eax, 3
and al, 1
mov byte [esp + 0x2c], al
cmp esi, ecx
jb 0x1034040e
mov ecx, dword [esp + 0x68]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a328], edx
movups xmmword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x14]
jmp 0x10340417
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
add eax, edi
mov eax, dword [eax + 0x20]
shr eax, 2
and al, 1
mov byte [esp + 0x28], al
cmp esi, ecx
jb 0x10340449
mov ecx, dword [esp + 0x68]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a328], edx
movups xmmword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x14]
jmp 0x10340452
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
add eax, edi
mov eax, dword [eax + 0x20]
shr eax, 1
and al, 1
mov byte [esp + 0x24], al
cmp esi, ecx
jb 0x10340483
mov ecx, dword [esp + 0x68]
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
mov dword [0x1044a328], edx
movups xmmword [0x1044a318], xmm0
mov ecx, dword [ecx + 0x14]
jmp 0x1034048c
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
add eax, edi
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x74]
mov eax, dword [eax + edx]
mov dword [esp + 0x3c], eax
cmp esi, ecx
jb 0x103404c5
mov eax, dword [0x103b9700]
mov dword [0x1044a328], eax
mov eax, 0x1044a308
movups xmmword [0x1044a308], xmm1
movups xmmword [0x1044a318], xmm0
jmp 0x103404ce
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
add eax, edi
push dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
push dword [esp + 0x2c]
push edx
push dword [esp + 0x4c]
push dword [eax + ecx + 4]
mov ecx, dword [esp + 0x7c]
push dword [esp + 0x64]
push dword [esp + 0x84]
call fcn.1033f4d0
movups xmm0, xmmword [0x103b96f0]
mov ecx, dword [esp + 0x68]
movups xmm1, xmmword [0x103b96e0]
mov eax, dword [ecx + 0x14]
inc esi
add edi, 0x24
cmp esi, eax
jb 0x10340389
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov eax, dword [edx + ecx + 0x20]
cmp edi, eax
jae 0x10340830
push 0x1033f7e0
sub eax, edi
push 8
push eax
mov eax, dword [edx + ecx + 0x24]
lea eax, [eax + edi*8]
push eax
call fcn.1033edb0
mov ecx, dword [esp + 0x78]
lea esi, [edi + 1]
mov edx, dword [esp + 0x70]
add esp, 0x10
mov eax, dword [edx + ecx + 0x20]
cmp esi, eax
jae 0x10340806
mov edx, eax
nop word [eax + eax]
cmp edi, eax
mov edi, dword [0x103b96e4]
jb 0x103405a4
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov ecx, dword [0x103b96e0]
mov dword [0x1044a308], ecx
mov dword [0x1044a30c], edi
mov eax, dword [edx + eax + 0x20]
mov edx, eax
mov dword [esp + 0x44], 0x1044a308
jmp 0x103405c3
mov edi, dword [esp + 0x60]
mov ecx, dword [edi + ecx + 0x24]
mov edi, dword [esp + 0x5c]
lea ecx, [ecx + edi*8]
mov edi, dword [0x103b96e4]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x103b96e0]
cmp esi, eax
jb 0x103405e6
mov edx, dword [esp + 0x68]
mov eax, 0x1044a308
mov dword [0x1044a308], ecx
mov ecx, dword [esp + 0x60]
mov dword [0x1044a30c], edi
mov edx, dword [ecx + edx + 0x20]
jmp 0x103405f5
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax + 0x24]
lea eax, [eax + esi*8]
mov edi, dword [esp + 0x44]
mov ax, word [eax]
mov ecx, dword [0x103b96e0]
cmp ax, word [edi]
mov edi, dword [0x103b96e4]
je 0x1034067f
cmp esi, edx
jb 0x10340630
mov edx, dword [esp + 0x60]
mov eax, 0x1044a308
mov dword [0x1044a308], ecx
mov ecx, dword [esp + 0x68]
mov dword [0x1044a30c], edi
mov edx, dword [edx + ecx + 0x20]
jmp 0x1034063f
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax + 0x24]
lea eax, [eax + esi*8]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x5c], eax
cmp eax, edx
jb 0x10340660
mov eax, 0x1044a308
mov dword [eax], ecx
mov dword [eax + 4], edi
jmp 0x103407e7
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov eax, dword [edx + eax + 0x24]
mov edx, dword [esp + 0x5c]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
lea eax, [eax + edx*8]
jmp 0x103407e7
cmp esi, edx
jb 0x103406a8
mov edx, dword [esp + 0x68]
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
mov edi, dword [esp + 0x60]
mov dword [0x1044a308], ecx
mov edx, dword [edi + edx + 0x20]
mov edi, dword [0x103b96e4]
jmp 0x103406bd
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax + 0x24]
mov ecx, dword [0x103b96e0]
lea eax, [eax + esi*8]
mov eax, dword [eax + 4]
cmp dword [esp + 0x5c], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
jb 0x103406e1
mov dword [0x1044a308], ecx
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
jmp 0x103406f0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [eax + edx + 0x24]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x3c]
or dword [eax + 4], ecx
mov eax, dword [esp + 0x60]
mov edi, dword [0x103b96e4]
mov ecx, dword [eax + edx + 0x20]
cmp esi, ecx
jb 0x10340728
mov ecx, dword [esp + 0x60]
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
mov ecx, dword [ecx + edx + 0x20]
jmp 0x1034072f
mov eax, dword [eax + edx + 0x24]
lea eax, [eax + esi*8]
movzx edx, word [eax + 2]
cmp dword [esp + 0x5c], ecx
jb 0x10340750
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
jmp 0x10340763
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov eax, dword [ecx + eax + 0x24]
mov ecx, dword [esp + 0x5c]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x68]
or edx, 0xfffe
and word [eax + 2], dx
mov eax, dword [esp + 0x60]
mov edi, dword [0x103b96e4]
mov edx, dword [eax + ecx + 0x20]
cmp esi, edx
jb 0x103407a2
mov edx, dword [esp + 0x60]
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
mov edx, dword [edx + ecx + 0x20]
jmp 0x103407a9
mov eax, dword [eax + ecx + 0x24]
lea eax, [eax + esi*8]
movzx ecx, word [eax + 2]
cmp dword [esp + 0x5c], edx
jb 0x103407ca
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, 0x1044a308
mov dword [0x1044a30c], edi
jmp 0x103407dd
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov eax, dword [edx + eax + 0x24]
mov edx, dword [esp + 0x5c]
lea eax, [eax + edx*8]
or ecx, 0xfffd
and word [eax + 2], cx
mov ecx, dword [esp + 0x68]
inc esi
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax + ecx + 0x20]
mov edx, eax
cmp esi, eax
jb 0x10340570
mov edx, dword [esp + 0x60]
lea ecx, [edi + 1]
xor esi, esi
test ecx, ecx
cmovs ecx, esi
cmp ecx, eax
jae 0x1034081e
mov eax, dword [esp + 0x68]
mov dword [edx + eax + 0x20], ecx
mov eax, ecx
mov ecx, dword [esp + 0x68]
movups xmm1, xmmword [0x103b96e0]
movups xmm0, xmmword [0x103b96f0]
mov edx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], edi
cmp eax, dword [edx]
jae 0x103409ca
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x64]
lea eax, [eax + eax*2]
lea eax, [eax + 0x12]
lea esi, [edx + eax*4]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x44], esi
cmp edx, dword [esi + 4]
jb 0x1034087f
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, dword [0x103b96e4]
mov dword [0x1044a30c], eax
mov eax, 0x1044a308
jmp 0x10340885
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x54]
cmp dword [eax], edx
jne 0x103409ca
mov edx, dword [esp + 0x60]
xor eax, eax
mov ecx, dword [edx + ecx + 0x38]
lea edi, [ecx + 1]
test edi, edi
cmovs edi, eax
mov eax, dword [esp + 0x68]
mov edx, dword [edx + eax + 0x34]
test edx, edx
js 0x10340968
cmp edi, edx
ja 0x103408bb
mov edx, eax
jmp 0x1034091a
mov esi, edx
nop dword [eax]
mov eax, esi
add esi, 8
shr eax, 1
add esi, eax
cmp edi, esi
jae 0x103408c0
test esi, esi
js 0x10340954
cmp esi, edx
jb 0x10340954
cmp esi, 0x1fffffff
jae 0x10340954
mov ecx, dword [esp + 0x60]
lea eax, [esi*8]
push eax
mov eax, dword [esp + 0x6c]
push dword [ecx + eax + 0x3c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
je 0x10340954
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov dword [ecx + edx + 0x34], esi
mov esi, dword [esp + 0x44]
mov dword [ecx + edx + 0x3c], eax
mov ecx, dword [ecx + edx + 0x38]
cmp edi, ecx
jbe 0x1034093c
mov eax, edi
sub eax, ecx
shl eax, 3
push eax
mov eax, dword [esp + 0x64]
push 0
mov eax, dword [eax + edx + 0x3c]
lea eax, [eax + ecx*8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov dword [ecx + eax + 0x38], edi
mov ecx, dword [ecx + eax + 0x3c]
add ecx, 0xfffffff8
lea ecx, [ecx + edi*8]
jmp 0x10340981
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x44]
mov dword [ecx + eax + 0x34], 0xffffffff
mov eax, dword [0x103b96e0]
mov ecx, 0x1044a308
mov dword [0x1044a308], eax
mov eax, dword [0x103b96e4]
mov dword [0x1044a30c], eax
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov dword [ecx], edi
cmp edx, dword [esi + 4]
jb 0x103409ab
mov eax, dword [0x103b96e0]
mov dword [0x1044a308], eax
mov eax, dword [0x103b96e4]
mov dword [0x1044a30c], eax
mov eax, 0x1044a308
jmp 0x103409b1
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov eax, dword [eax + 4]
inc edx
mov dword [ecx + 4], eax
movups xmm0, xmmword [0x103b96f0]
mov dword [esp + 0x48], edx
movups xmm1, xmmword [0x103b96e0]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
inc ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
cmp ecx, dword [eax]
jb 0x10340300
mov edx, dword [esp + 0x4c]
inc edx
mov dword [esp + 0x4c], edx
cmp edx, 2
jb 0x103402a0
pop edi
pop esi
add esp, 0x64
ret 8