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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x430
call 0x44d83b
pop eax
mov dword [esp + 0x110], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x44e95b
movq xmm0, qword [0x69eaa8]
movq xmm1, qword [0x69eaa0]
mov edi, edx
lea edx, [esp + 0x288]
movq qword [edx + 8], xmm0
movq qword [edx], xmm1
lea edx, [esp + 0x338]
movq qword [edx + 8], xmm0
movq qword [edx], xmm1
lea edx, [esp + 0x348]
movq qword [edx + 8], xmm0
movq qword [edx], xmm1
lea edx, [esp + 0x3f4]
and dword [edx], 0
push 4
pop esi
mov dword [edx + 4], esi
and dword [edx + 8], 0
and dword [edx + 0xc], 0
mov dword [edx + 0x10], esi
and dword [edx + 0x14], 0
and dword [edx + 0x18], 0
lea edx, [esp + 0x410]
imul eax, eax, 0x28
xor ebx, ebx
mov dword [esp + 0xf4], ecx
and dword [edx], 0
mov dword [edx + 4], esi
and dword [edx + 8], 0
and dword [edx + 0xc], 0
mov dword [edx + 0x10], esi
and dword [edx + 0x14], 0
and dword [edx + 0x18], 0
lea edx, [esp + 0x130]
add eax, edi
movq qword [edx - 8], xmm0
movq qword [edx - 0x10], xmm1
lea edx, [esp + 0x2bc]
mov dword [esp + 0x1c], eax
and dword [edx], 0
mov dword [edx + 4], esi
and dword [edx + 8], 0
and dword [edx + 0xc], 0
mov dword [edx + 0x10], esi
and dword [edx + 0x14], 0
and dword [edx + 0x18], 0
cmp edi, dword [esp + 0x1c]
je 0x44e6d3
mov ecx, edi
lea eax, [ebx + 1]
mov dword [esp + 0x20], ebx
add edi, 0x28
mov edx, 0x80000006
mov bl, byte [ecx + 0x24]
mov dword [esp + 0xb0], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
test bl, bl
je 0x44d9bb
lea eax, [edx - 0x80000000]
cmp eax, 7
push 4
pop ecx
cmovae eax, ecx
mov ebx, edx
mov eax, dword [eax*4 + 0x44fb3c]
add eax, dword [esp + 0x110]
jmp eax
mov edx, dword [ecx + 0x20]
mov dword [esp + 0xc], esi
mov esi, ecx
test edx, edx
je 0x44db28
mov ecx, dword [esi + 0x1c]
cmp dword [ecx], 0x80000003
jne 0x44db28
push 0x62ca70
push 1
call 0x44fb58
pop ecx
pop ecx
test edx, edx
je 0x44db28
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
push 0x62ca80
push 1
call 0x44fb58
pop ecx
pop ecx
mov cl, byte [esi + 0x25]
add eax, 4
shl edx, 4
test edx, edx
je 0x44da53
mov esi, dword [eax - 4]
mov edi, 0x80000000
xor esi, edi
cmp esi, 8
push 6
pop edi
cmovae esi, edi
lea edi, [esi - 1]
cmp edi, 2
jae 0x44da36
test cl, cl
jne 0x44da47
jmp 0x44db0e
test esi, esi
jne 0x44db0e
cmp dword [eax], 0x2f
je 0x44db0e
mov esi, dword [esp + 4]
add eax, 0x10
add edx, 0xfffffff0
jmp 0x44da0e
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
push 0x62ca90
push 1
call 0x44fb58
pop ecx
pop ecx
test eax, eax
je 0x44db0e
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
and dword [esp + 0x50], 0
mov esi, edx
mov edi, eax
shl esi, 4
test esi, esi
je 0x44daa8
cmp dword [edi], 0x80000000
jne 0x44db01
mov edx, dword [edi + 4]
lea ecx, [esp + 0x48]
add edi, 0x10
call fcn.0044ba14
add esi, 0xfffffff0
jmp 0x44da88
mov eax, dword [esp + 0x48]
cmp eax, 0x80000000
je 0x44db0e
movzx ecx, byte [esp + 0x53]
movzx edx, word [esp + 0x51]
mov esi, dword [esp + 0x4c]
mov ebx, 0x80000001
shl ecx, 0x10
or edx, ecx
lea ecx, [ebx - 0x80000000]
mov dword [esp + 0x18], edx
cmp ecx, 7
push 4
pop edx
cmovae ecx, edx
mov dword [esp + 0xc0], eax
mov al, byte [esp + 0x50]
mov edi, dword [esp + 8]
mov ecx, dword [ecx*4 + 0x44fb3c]
mov byte [esp + 0x10], al
add ecx, dword [esp + 0x110]
jmp ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
mov esi, dword [esp + 4]
test bl, bl
je 0x44db28
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0x80000006
jmp 0x44d947
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
and dword [esp + 0x50], 0
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
mov ebx, edi
mov esi, ecx
mov dword [esp + 0xe0], ecx
shl ebx, 4
lea eax, [ecx + ebx]
mov dword [esp], eax
test ebx, ebx
je 0x44db74
cmp dword [esi], 0x80000000
jne 0x44dbcf
mov edx, dword [esi + 4]
lea ecx, [esp + 0x48]
add esi, 0x10
call fcn.0044ba14
add ebx, 0xfffffff0
jmp 0x44db54
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xe0]
test eax, eax
je 0x44dbe5
cmp ecx, 0x80000000
je 0x44dbee
mov edx, eax
mov ebx, 0x80000000
shr edx, 8
mov dword [esp + 0x18], edx
lea edx, [ebx - 0x80000000]
cmp edx, 7
push 4
pop esi
cmovae edx, esi
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 8]
mov byte [esp + 0x10], al
mov dword [esp + 0xc0], ecx
mov edx, dword [edx*4 + 0x44fb3c]
add edx, dword [esp + 0x110]
jmp edx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
mov esi, dword [esp + 0xe0]
jmp 0x44dbee
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
test edi, edi
je 0x44dd30
mov eax, dword [esi]
xor ebx, ebx
cmp eax, 0x80000003
sete bl
cmp edi, ebx
jbe 0x44dcea
mov ecx, ebx
shl ecx, 4
cmp dword [esi + ecx], 0x80000002
jne 0x44dcea
cmp eax, 0x80000003
je 0x44dc31
mov ecx, dword [esp + 4]
cmp byte [ecx + 0x25], 0
jne 0x44dcea
xor ecx, ecx
cmp eax, 0x80000003
sete cl
inc ecx
cmp ecx, edi
jae 0x44dcea
shl ecx, 4
add ecx, esi
cmp dword [ecx], 0x80000000
jne 0x44dcea
cmp dword [ecx + 4], 0x2e
jne 0x44dcea
xor ecx, ecx
xor edx, edx
inc ecx
call fcn.00426eaa
mov byte [edx], 0x2e
mov dword [esp + 0x48], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 1
or ebx, 2
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
push 0x62ca40
push ebx
call 0x44fb58
pop ecx
pop ecx
mov ecx, edx
mov dword [esp + 0x14], eax
shl ecx, 4
test ecx, ecx
je 0x44e1f6
mov ebx, dword [esp + 0x14]
cmp dword [ebx], 0x80000000
jne 0x44dcd9
mov edx, dword [ebx + 4]
mov eax, edx
and eax, 0xfffffffe
cmp eax, 0x2e
je 0x44dcd9
add ebx, 0x10
mov dword [esp + 0x14], ebx
mov ebx, ecx
lea ecx, [esp + 0x48]
call fcn.0044ba14
mov ecx, ebx
add ecx, 0xfffffff0
jmp 0x44dc9f
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
test edi, edi
je 0x44dd30
lea ebx, [edi - 1]
mov ecx, 0x80000000
mov eax, ebx
shl eax, 4
mov eax, dword [esi + eax]
xor eax, ecx
cmp eax, 8
push 6
pop ecx
cmovae eax, ecx
cmp eax, 4
je 0x44dd47
cmp eax, 2
jne 0x44dd4f
mov eax, dword [esp + 4]
cmp byte [eax + 0x25], 0
je 0x44dd5b
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
and dword [esp + 0x50], 0
jmp 0x44de47
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
and dword [esp + 0x50], 0
jmp 0x44dea4
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x44dd63
mov dword [esp + 0x14], 0
mov ebx, edi
jmp 0x44dd63
mov dword [esp + 0x14], 0
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
and dword [esp + 0x50], 0
cmp edi, ebx
jb 0x44faf4
shl ebx, 4
test ebx, ebx
je 0x44dda4
cmp dword [esi], 0x80000000
jne 0x44de12
mov edx, dword [esi + 4]
lea ecx, [esp + 0x48]
add esi, 0x10
call fcn.0044ba14
add ebx, 0xfffffff0
jmp 0x44dd80
cmp byte [esp + 0x14], 0
je 0x44ddb7
lea ecx, [esp + 0x48]
push 0x2f
pop edx
call fcn.0044ba14
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xe0]
test eax, eax
je 0x44de28
cmp ecx, 0x80000000
je 0x44de31
mov edx, eax
mov ebx, 0x80000003
shr edx, 8
mov dword [esp + 0x18], edx
lea edx, [ebx - 0x80000000]
cmp edx, 7
push 4
pop esi
cmovae edx, esi
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 8]
mov byte [esp + 0x10], al
mov dword [esp + 0xc0], ecx
mov edx, dword [edx*4 + 0x44fb3c]
add edx, dword [esp + 0x110]
jmp edx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
mov esi, dword [esp + 0xe0]
jmp 0x44de31
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
and dword [esp + 0x48], 0
and dword [esp + 0x50], 0
test edi, edi
mov dword [esp + 0x4c], 1
je 0x44dea4
xor eax, eax
cmp dword [esi], 0x80000003
mov ecx, 0
jne 0x44de79
cmp edi, 2
jb 0x44de74
cmp dword [esi + 0x10], 0x80000000
jne 0x44de74
lea ecx, [esp + 0x48]
push 0x2f
pop edx
call fcn.0044ba14
mov cl, 1
jmp 0x44de76
xor ecx, ecx
xor eax, eax
inc eax
cmp eax, edi
mov dword [esp + 0xe0], ecx
jae 0x44dea4
mov ecx, eax
shl ecx, 4
cmp dword [esi + ecx], 0x80000002
jne 0x44e156
mov ecx, dword [esp + 4]
cmp byte [ecx + 0x25], 0
je 0x44e155
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
call fcn.00563c9c
and dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 4
and dword [esp + 0x1d0], 0
shl edi, 4
xor ebx, ebx
neg edi
push 4
pop eax
test edi, edi
je 0x44df3b
mov ecx, dword [esp]
cmp dword [ecx - 0x10], 0x80000000
jne 0x44dff6
mov esi, dword [ecx - 0xc]
mov ecx, dword [esp + 0x1c8]
cmp esi, 0x2f
je 0x44dffd
cmp ebx, ecx
jne 0x44df1d
lea ecx, [esp + 0x1c8]
mov edx, ebx
call fcn.004d92c1
mov eax, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1d0]
mov dword [eax + ebx*4], esi
add dword [esp], 0xfffffff0
add edi, 0x10
mov ebx, dword [esp + 0x1d0]
inc ebx
cmp esi, 0x2e
mov dword [esp + 0x1d0], ebx
jne 0x44ded6
mov edx, dword [esp + 0x1cc]
test ebx, ebx
je 0x44dfbe
cmp dword [edx + ebx*4 - 4], 0x2e
jne 0x44dfbe
lea esi, [edx + ebx*4]
shr ebx, 1
lea eax, [ebx*4]
mov ecx, ebx
sub esi, eax
push 0x6c34f4
push ebx
call fcn.00497c91
pop ecx
pop ecx
mov edi, eax
mov dword [esp + 0xe0], edx
mov ecx, ebx
mov edx, esi
push 0x6c3504
push ebx
call fcn.00497c91
pop ecx
pop ecx
mov esi, dword [esp + 0xe0]
dec ebx
mov dword [esp], edx
cmp ebx, 0xffffffff
je 0x44e07d
sub esi, 1
jb 0x44fac0
cmp ebx, dword [esp]
jae 0x44fad3
mov ecx, edi
mov edx, dword [edi]
mov edi, dword [eax + ebx*4]
mov dword [ecx], edi
add ecx, 4
mov dword [eax + ebx*4], edx
dec ebx
mov edi, ecx
jmp 0x44df8f
mov ecx, dword [esp + 0x1c8]
call fcn.00453deb
mov ebx, 0x80000006
lea eax, [ebx - 0x80000000]
cmp eax, 7
push 4
pop ecx
cmovae eax, ecx
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [eax*4 + 0x44fb3c]
add eax, dword [esp + 0x110]
jmp eax
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
call fcn.00453deb
mov ebx, 0x80000006
lea eax, [ebx - 0x80000000]
cmp eax, 7
push 4
pop ecx
cmovae eax, ecx
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [eax*4 + 0x44fb3c]
add eax, dword [esp + 0x110]
jmp eax
mov edi, dword [esp + 0x1d0]
mov eax, dword [esp + 0x1c8]
mov esi, dword [esp + 0x1cc]
and dword [esp + 0x140], 0
mov dword [esp + 0x144], 1
and dword [esp + 0x148], 0
lea ecx, [esp + 0x140]
mov edx, edi
mov dword [esp], eax
lea ebx, [esi + edi*4]
call fcn.0055bdc3
mov eax, dword [esp]
shl edi, 2
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ebx
test edi, edi
je 0x44e0ed
mov edx, dword [esi]
lea ecx, [esp + 0x140]
add esi, 4
call fcn.0044ba14
add edi, 0xfffffffc
jmp 0x44e0d3
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], ebx
call fcn.004382cc
mov eax, dword [esp + 0x140]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0x80000006
cmp eax, 0x80000000
je 0x44d947
movzx ebx, byte [esp + 0x14b]
movzx edx, word [esp + 0x149]
mov cl, byte [esp + 0x148]
mov esi, dword [esp + 0x144]
mov dword [esp + 0xc0], eax
shl ebx, 0x10
mov byte [esp + 0x10], cl
or edx, ebx
mov dword [esp + 0x18], edx
mov edx, 0x80000005
jmp 0x44d947
inc eax
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x1c]
mov edx, dword [edx + 0x20]
push 0x62ca60
push eax
call 0x44fb58
pop ecx
pop ecx
mov esi, edx
mov ebx, eax
shl esi, 4
test esi, esi
je 0x44e198
cmp dword [ebx], 0x80000000
jne 0x44dea4
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x48]
add ebx, 0x10
call fcn.0044ba14
add esi, 0xfffffff0
jmp 0x44e174
mov esi, dword [esp + 0x50]
test esi, esi
je 0x44e1e7
mov ebx, dword [esp + 0x4c]
mov edx, esi
mov ecx, ebx
push 1
push 0x6c312c
call fcn.0055879c
pop ecx
pop edx
mov ecx, dword [esp + 0x48]
test al, al
jne 0x44e1ef
cmp ecx, 0x80000000
je 0x44deb1
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc0], ebx
mov byte [esp + 0x10], al
mov edx, ecx
jmp 0x44d947
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edx, ebx
jmp 0x44deac
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
test eax, eax
je 0x44dcdd
cmp ecx, 0x80000000
je 0x44dce6
mov edx, eax
mov ebx, 0x80000002
shr edx, 8
mov dword [esp + 0x18], edx
lea edx, [ebx - 0x80000000]
cmp edx, 7
push 4
pop esi
cmovae edx, esi
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 8]
mov byte [esp + 0x10], al
mov dword [esp + 0xc0], ecx
mov edx, dword [edx*4 + 0x44fb3c]
add edx, dword [esp + 0x110]
jmp edx
push 4
pop edx
mov ecx, 0xe0
call fcn.0044abfb
movsd xmm1, qword [esp + 0x350]
movsd xmm2, qword [esp + 0x288]
lea esi, [esp + 0x410]
mov dword [esp + 0x14], eax
movsd xmm0, qword [esp + 0x348]
movsd xmm3, qword [esp + 0x338]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x18]
mov edx, dword [esi + 4]
movsd qword [esp + 0x2e4], xmm1
movsd xmm1, qword [esp + 0x340]
movsd qword [esp + 0x31c], xmm2
movsd qword [esp + 0x2dc], xmm0
mov dword [esp + 0x2d8], 2
movsd qword [esp + 0x2fc], xmm3
mov dword [esp + 0x1d0], ecx
lea ecx, [esp + 0x140]
movsd qword [esp + 0x304], xmm1
movsd xmm1, qword [esp + 0x290]
mov dword [esp + 0x2f8], 1
movsd qword [esp + 0x324], xmm1
movsd xmm1, qword [esi + 0xc]
and dword [esp + 0x318], 0
movsd qword [esp + 0x1c8], xmm1
push eax
call fcn.0044a112
pop eax
lea edi, [esp + 0x54]
lea edx, [esp + 0x140]
mov ecx, edi
push 0x62cf3c
call 0x44fb79
pop eax
movsd xmm0, qword [esp + 0x1c8]
mov eax, dword [esp + 0x1d0]
mov ecx, esi
movsd qword [edi - 0xc], xmm0
mov dword [edi - 4], eax
mov dword [edi + 0xc], ebx
call fcn.0045406f
movsd xmm1, qword [edi - 4]
mov eax, dword [edi + 0xc]
lea esi, [esp + 0x3f4]
movsd xmm0, qword [edi - 0xc]
movsd xmm2, qword [edi + 4]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov edx, dword [esi + 4]
movsd qword [esp + 0x254], xmm1
mov dword [esp + 0x264], eax
mov eax, dword [esi + 8]
movsd xmm1, qword [esi + 0xc]
movsd qword [esp + 0x24c], xmm0
movsd qword [esp + 0x25c], xmm2
mov dword [esp + 0x248], 4
mov dword [esp + 0x1d0], ecx
lea ecx, [esp + 0x140]
movsd qword [esp + 0x1c8], xmm1
push eax
call fcn.0044a112
pop eax
lea edi, [esp + 0x54]
lea edx, [esp + 0x140]
mov ecx, edi
push 0x62cf2c
call 0x44fb79
pop eax
movsd xmm0, qword [esp + 0x1c8]
mov eax, dword [esp + 0x1d0]
mov ecx, esi
movsd qword [edi - 0xc], xmm0
mov dword [edi - 4], eax
mov dword [edi + 0xc], ebx
call fcn.0045406f
movsd xmm0, qword [edi - 0xc]
movq xmm1, qword [edi - 4]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
movsd qword [esp + 0x26c], xmm0
movsd xmm0, qword [edi + 4]
mov dword [esp + 0x284], eax
movq qword [esp + 0x274], xmm1
lea ecx, [esi + 0x10]
lea eax, [esi + ebx + 1]
test ebx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x12c]
movsd qword [esp + 0x27c], xmm0
movsd xmm0, qword [0x69eaa8]
mov dword [esp + 0x268], 3
mov dword [esp], ecx
movsd qword [esp + 0x138], xmm0
movsd xmm0, qword [0x69eaa0]
movsd qword [esp + 0x130], xmm0
movdqa xmm0, xmmword [esi]
pmovmskb edi, xmm0
not edi
mov dword [esp + 0xb0], edi
je 0x44e979
mov dword [esp + 4], eax
lea eax, [ebx + 1]
xor ecx, ecx
push 0x18
pop edx
mul edx
jo 0x44e94f
add eax, 0xf
add ebx, 0x11
and eax, 0xfffffff0
add ebx, eax
jb 0x44e94f
cmp ebx, 0x7ffffff1
jb 0x44f5ff
mov edx, esi
mov edi, ecx
sub edx, eax
mov eax, dword [esp + 4]
jmp 0x44e97b
and dword [ecx + 4], 0
mov dword [ecx + 8], 4
and dword [ecx + 0xc], 0
and dword [ecx + 0x10], 0
mov dword [ecx], 0x80000001
jmp 0x44f0bc
xor edi, edi
lea ecx, [esp + 0x3ac]
mov dword [ecx - 0xc], edi
mov dword [ecx - 8], ebx
mov dword [ecx - 4], edx
mov dword [ecx], esi
mov esi, dword [esp + 0x20]
mov dword [ecx + 4], esi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xb0]
mov word [ecx + 0xc], ax
mov eax, dword [esp]
mov dword [esp], 0
mov dword [ecx + 0x10], eax
call fcn.0044b915
test eax, eax
je 0x44f0c4
mov ecx, dword [eax - 0x18]
movsd xmm0, qword [eax - 0x14]
cmp ecx, 0x80000000
movsd qword [esp + 0xd4], xmm0
je 0x44f0c4
mov edx, dword [eax - 0xc]
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x1c], edx
mov edx, dword [eax - 8]
mov eax, dword [eax - 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x140]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], edx
push esi
call fcn.004271ee
pop eax
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
call fcn.0044b340
cmp dword [esp + 0x138], 0
mov ebx, eax
je 0x44ef3a
mov edi, dword [esp]
mov esi, dword [esp + 0x130]
mov dword [esp + 4], 0
mov dword [esp + 0xb0], 0
and edi, ebx
shr ebx, 0x19
movd xmm0, ebx
mov dword [esp + 0xc0], ebx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x110], xmm0
movdqu xmm1, xmmword [esi + edi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x20], xmm1
pmovmskb eax, xmm0
mov word [esp + 0x48], ax
lea ecx, [esp + 0x48]
call fcn.0048f1af
test eax, eax
je 0x44eac7
add edx, edi
lea ecx, [esp + 0x140]
and edx, dword [esp]
neg edx
imul ebx, edx, 0x18
mov edx, dword [esi + ebx - 0x14]
push dword [esi + ebx - 0x10]
call fcn.0044be15
pop ecx
test al, al
je 0x44ea95
jmp 0x44eb2e
cmp dword [esp + 0xb0], 1
mov eax, 1
je 0x44eaed
mov ecx, dword [esp]
movdqa xmm0, xmmword [esp + 0x20]
mov edx, edi
call fcn.004964cc
mov dword [esp + 0xf0], edx
movdqa xmm1, xmmword [esp + 0x20]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x44ef5c
mov ecx, dword [esp + 4]
movdqa xmm0, xmmword [esp + 0x110]
mov dword [esp + 0xb0], eax
lea edi, [ecx + edi + 0x10]
add ecx, 0x10
and edi, dword [esp]
mov dword [esp + 4], ecx
jmp 0x44ea7d
add esi, ebx
mov eax, dword [esi - 4]
mov dword [esp + 0x50], eax
movq xmm0, qword [esi - 0xc]
movq qword [esp + 0x48], xmm0
and dword [esi - 0xc], 0
mov dword [esi - 8], 4
and dword [esi - 4], 0
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
call fcn.00563c9c
cmp dword [esp + 0x48], 0x80000000
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
je 0x44eb83
lea ecx, [esp + 0x48]
call fcn.0044b961
shl edi, 4
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], esi
add edi, esi
mov dword [esp + 0x104], edi
cmp esi, edi
je 0x44ef15
lea eax, [esi + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esi + 4]
cmp eax, 0x80000000
je 0x44ef15
mov dword [esp + 0xc], eax
mov eax, dword [esi]
mov bl, 0xa
mov edi, dword [esi + 8]
mov bh, 3
mov edx, 0xa00000
mov dword [esp + 0x110], eax
mov eax, dword [esi + 0xc]
mov byte [esp + 0x390], bh
mov word [esp + 0x396], 2
mov byte [esp + 0x398], 2
mov dword [esp + 0x20], eax
mov eax, 0xfa
mov dword [esp + 0x198], eax
mov byte [esp + 0x19c], bl
and word [esp + 0x19d], 0
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [esp + 0x19f], ecx
mov word [esp + 0x1a3], 1
mov dword [esp + 0x364], ecx
mov byte [esp + 0x1a5], al
mov dword [esp + 0x368], edx
push 2
pop esi
mov dword [esp + 0x36c], esi
mov dword [esp + 0x35c], ecx
mov dword [esp + 0x360], edx
mov ecx, 0x2020202
lea edx, [esp + 0x8d]
mov dword [edx], ecx
mov word [edx + 4], 0x202
mov byte [esp + 0x8c], 1
mov byte [esp + 0x93], bl
and dword [esp + 0x48], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x7c], bh
mov byte [esp + 0x80], al
mov dword [esp + 0x86], ecx
mov dword [esp + 0x82], ecx
mov byte [esp + 0x8a], bh
and dword [esp + 0x98], 0
mov ebx, edi
lea edi, [esp + 0x48]
mov dword [esp + 0x399], ecx
mov dword [esp + 0x374], esi
mov dword [esp + 0x37c], esi
mov word [esp + 0x39d], 0x302
mov byte [esp + 0x394], al
mov eax, 0xfa
lea edx, [esp + 0x198]
mov ecx, edi
mov dword [esp + 0x94], eax
call fcn.004d55cb
mov ecx, edi
lea edx, [esp + 0x35c]
call fcn.004d536f
lea ecx, [esp + 0x1c8]
mov edx, edi
push dword [esp + 0x20]
push ebx
call fcn.0049fb35
pop eax
pop ecx
cmp dword [esp + 0x1c8], esi
mov dword [esp + 8], ebx
jne 0x44ed4b
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d0]
mov edi, 0x80000001
mov dword [esp + 0x1c], eax
jmp 0x44edc7
push 0x12
pop ecx
lea ebx, [esp + 0x140]
lea esi, [esp + 0x1c8]
xor edx, edx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00426eaa
mov edi, eax
push esi
push dword [esp + 0xc]
mov dword [esp + 0x24], edx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x140]
lea ecx, [esp + 0x1bc]
push dword [esp + 0x144]
call fcn.0044c65c
pop eax
mov ecx, ebx
call fcn.0044c6c0
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x48]
call fcn.0044c704
cmp edi, 0x80000001
jne 0x44eff5
cmp dword [esp + 0x13c], 0
mov dword [esp + 0x20], esi
je 0x44fae2
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
call fcn.0044b340
mov ebx, dword [esp + 0x134]
mov edi, dword [esp + 0x130]
mov dword [esp + 4], 0
mov dword [esp], ebx
and ebx, eax
shr eax, 0x19
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0xc0], xmm1
movdqu xmm0, xmmword [edi + ebx]
movdqa xmmword [esp + 0xb0], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esp + 0x48], ax
lea ecx, [esp + 0x48]
call fcn.0048f1af
test eax, eax
je 0x44ee7e
add edx, ebx
lea ecx, [esp + 0x3c]
and edx, dword [esp]
neg edx
imul esi, edx, 0x18
mov edx, dword [edi + esi - 0x14]
push dword [edi + esi - 0x10]
call fcn.0044be15
pop ecx
test al, al
je 0x44ee4f
jmp 0x44eebb
movdqa xmm1, xmmword [esp + 0xb0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x44fae2
mov eax, dword [esp + 4]
movdqa xmm1, xmmword [esp + 0xc0]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
and ebx, dword [esp]
mov dword [esp + 4], eax
jmp 0x44ee34
add edi, esi
mov edx, dword [edi - 4]
cmp edx, dword [edi - 0xc]
jne 0x44eed0
lea ecx, [edi - 0xc]
call fcn.004fd864
mov edx, dword [edi - 4]
imul eax, edx, 0xc
mov ecx, dword [edi - 8]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 8]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + eax + 4], edx
mov dword [ecx + eax + 8], esi
mov ecx, dword [esp + 0xc]
inc dword [edi - 4]
mov edx, ebx
call fcn.00563c9c
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x104]
jmp 0x44eba4
lea ecx, [esp + 0xf8]
call fcn.0044b9f1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
call fcn.00563c9c
lea ecx, [esp + 0x3ac]
jmp 0x44e9af
lea ecx, [esp + 0x130]
lea edx, [esp + 0x140]
call fcn.0044bada
mov eax, dword [esp + 0x134]
mov dword [esp], eax
jmp 0x44ea39
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x1c]
mov al, byte [esi + edx]
test al, al
js 0x44ef7c
movdqa xmm0, xmmword [esi]
pmovmskb eax, xmm0
bsf edx, eax
mov al, byte [esi + edx]
mov ecx, dword [esp + 0x148]
and al, 1
movsd xmm0, qword [esp + 0x140]
mov edi, dword [esp + 0xc]
movzx eax, al
sub dword [esp + 0x138], eax
lea eax, [edx - 0x10]
and eax, dword [esp]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xc0]
movsd qword [esp + 0x48], xmm0
mov byte [esi + edx], cl
mov byte [eax + esi + 0x10], cl
neg edx
inc dword [esp + 0x13c]
mov ecx, dword [esp + 0x50]
imul eax, edx, 0x18
mov dword [esi + eax - 0x10], ecx
movq xmm0, qword [esp + 0x48]
movq qword [esi + eax - 0x18], xmm0
and dword [esi + eax - 0xc], 0
mov dword [esi + eax - 8], 4
and dword [esi + eax - 4], 0
mov esi, dword [esp + 8]
jmp 0x44eb83
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
call fcn.00563c9c
lea ecx, [esp + 0xf8]
call fcn.0044b9f1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
call fcn.00563c9c
lea ecx, [esp + 0x3a0]
call fcn.0044b9a5
lea ecx, [esp + 0x130]
call fcn.0044b89e
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x1c]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [eax + 8], esi
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x14], ecx
lea ecx, [esp + 0x268]
call 0x44fbcd
lea ecx, [esp + 0x248]
call 0x44fbcd
lea ecx, [esp + 0x318]
call 0x44fbcd
lea ecx, [esp + 0x2f8]
call 0x44fbcd
lea ecx, [esp + 0x2d8]
call 0x44fbcd
mov ecx, dword [esp + 0x14]
call fcn.0048a86b
lea esi, [esp + 0x2bc]
mov ecx, esi
call fcn.0045406f
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
call fcn.00453deb
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x3a0]
call fcn.0044b9a5
lea edx, [esp + 0x130]
mov ecx, dword [esp]
lea esi, [esp + 0x35c]
mov eax, dword [edx]
mov dword [esp + 0x2a0], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2a4], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2a8], ecx
mov ecx, 0xa00000
mov dword [esp + 0x240], eax
mov al, 3
mov byte [esi + 0x34], al
and word [esi + 0x3a], 0
xor ebx, ebx
mov byte [esi + 0x3c], 2
inc ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ecx
push 2
pop edi
mov dword [esi + 0x10], edi
mov dword [esi], ebx
mov dword [esi + 4], ecx
mov ebx, 0x2020202
lea ecx, [esp + 0x185]
mov ah, 0xa
movq xmm0, qword [esp + 0x2bc]
mov dword [esp + 0x29c], 5
mov dword [esi + 0x3d], ebx
mov dword [ecx], ebx
mov dword [esi + 0x18], edi
mov dword [esi + 0x20], edi
mov word [ecx + 4], 0x202
mov byte [ecx - 1], 1
mov byte [ecx + 6], ah
and dword [ecx - 0x45], 0
mov dword [ecx - 0x3d], edi
mov dword [ecx - 0x35], edi
mov dword [ecx - 0x2d], edi
mov dword [ecx - 0x25], edi
xor ebx, ebx
mov edi, 0x2020202
mov byte [ecx - 0x11], al
mov word [esi + 0x41], 0x302
mov byte [ecx - 0xd], bl
mov dword [ecx - 7], edi
mov dword [ecx - 0xb], edi
mov byte [ecx - 3], al
mov eax, 0xfa
lea edi, [esp + 0x140]
mov byte [esi + 0x38], bl
mov dword [edx], eax
mov dword [ecx + 7], eax
mov al, 0xa
mov byte [edx + 4], al
and word [edx + 5], 0
xor eax, eax
and dword [ecx + 0xb], 0
mov ecx, edi
movq qword [esp + 0x238], xmm0
inc eax
mov dword [edx + 7], eax
mov eax, dword [esp + 0x2c8]
mov word [edx + 0xb], 1
mov byte [edx + 0xd], bl
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x10], eax
call fcn.004d55cb
mov ecx, edi
mov edx, esi
call fcn.004d536f
lea eax, [esp + 0xd4]
mov edi, dword [esp + 0x23c]
mov ecx, dword [esp + 0x240]
and dword [eax], 0
push 4
pop esi
mov dword [eax + 4], esi
and dword [esp + 0x3c], 0
mov dword [esp + 0x40], esi
and dword [eax + 8], 0
and dword [esp + 0x44], 0
imul esi, ecx, 0xc
mov dword [esp + 0x110], ecx
add esi, edi
call fcn.004976c9
lea eax, [esp + 0x1b0]
mov dword [esp + 0x1c], edi
mov dword [esp + 0xc0], esi
mov dword [eax], edi
mov dword [eax + 4], esi
and dword [eax + 8], 0
mov dword [eax + 0xc], edx
lea eax, [esp + 0x3a0]
push 4
pop edx
add eax, edx
lea ecx, [esp + 0x140]
lea esi, [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 0xe0], eax
mov eax, dword [ecx + 0x4c]
mov dword [esp + 0x20], eax
mov ah, byte [ecx + 0x51]
mov cl, byte [ecx + 0x50]
mov byte [esp + 0xb0], ah
mov byte [esp + 4], cl
lea ecx, [esp + 0x1b0]
call fcn.00449fce
test edx, edx
je 0x44f402
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, edx
and dword [esp + 0x98], 0
xor edx, edx
inc edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], edx
and dword [esp + 0xa4], 0
mov dword [esp + 0xa8], ecx
mov cl, byte [esp + 0xb0]
mov byte [esp + 0xad], cl
mov cl, byte [esp + 4]
mov byte [esp + 0xae], cl
mov byte [esp + 0xac], cl
and dword [esp + 0x48], 0
and dword [esp + 0x4c], 0
push 4
pop ecx
mov dword [esp + 0x50], ecx
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
and dword [esp + 0x5c], 0
mov dword [esp + 0x60], ecx
and dword [esp + 0x64], 0
and dword [esp + 0x68], 0
and dword [esp + 0x6c], 0
mov dword [esp + 0x70], ecx
and dword [esp + 0x74], 0
and dword [esp + 0x78], 0
and dword [esp + 0x7c], 0
mov dword [esp + 0x80], ecx
and dword [esp + 0x84], 0
and dword [esp + 0x88], 0
and dword [esp + 0x8c], 0
mov dword [esp + 0x90], edx
and dword [esp + 0x94], 0
mov edx, esi
lea ecx, [esp + 0x3a0]
push dword [eax + 8]
push dword [eax + 4]
call fcn.004d9e49
pop eax
pop ecx
mov edx, dword [esp + 0x3a0]
cmp edx, 0x22
jne 0x44f5d0
mov ecx, esi
mov edi, dword [esp + 0x3a4]
mov esi, dword [esp + 0x3a8]
call fcn.0044ad0d
cmp ebx, dword [esp + 0xd4]
jne 0x44f3dd
lea ecx, [esp + 0xd4]
mov edx, ebx
call fcn.004d8de8
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
jmp 0x44f3e0
mov eax, dword [esp]
mov dword [eax + ebx*8], edi
mov dword [eax + ebx*8 + 4], esi
mov dword [esp], eax
lea esi, [esp + 0x48]
mov ebx, dword [esp + 0xdc]
inc ebx
mov dword [esp + 0xdc], ebx
jmp 0x44f2a3
mov ecx, dword [esp + 0x110]
call fcn.004976c9
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0x3a0]
mov esi, dword [esp + 0xc0]
mov dword [edi], eax
mov eax, dword [esp + 0xd8]
mov dword [edi + 4], esi
and dword [edi + 8], 0
mov dword [edi + 0xc], edx
mov dl, byte [esp + 0x184]
lea esi, [esp + 0x1b0]
lea ecx, [eax + ebx*8]
mov dword [edi + 0x10], eax
mov byte [esp], dl
mov dword [edi + 0x14], ecx
mov cl, byte [esp + 0x18b]
and dword [edi + 0x18], 0
and dword [edi + 0x1c], 0
and dword [edi + 0x20], 0
mov byte [esp + 0x20], cl
lea ecx, [esp + 0x3a0]
call fcn.00449fce
test edx, edx
je 0x44f607
mov edi, dword [esp + 0x3b0]
cmp edi, dword [esp + 0x3b4]
je 0x44f607
mov ebx, edx
lea ecx, [edi + 8]
lea edx, [esp + 0x185]
mov dword [esp + 0xb0], eax
mov eax, esi
lea esi, [esp + 0x1c0]
mov dword [esp + 0x3b0], ecx
movzx ecx, word [edx + 4]
mov word [esi + 4], cx
mov ecx, dword [edx]
mov edx, eax
mov dword [esi], ecx
mov cl, byte [esp]
and dword [esp + 0x1b0], 0
and dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 4
and dword [esp + 0x1bc], 0
mov esi, eax
mov byte [esp + 0x1c7], cl
mov cl, byte [esp + 0x20]
mov byte [esp + 0x1c6], cl
lea ecx, [esp + 0x1c8]
push edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.004ea6d0
add esp, 0xc
cmp dword [esp + 0x1c8], 0x80000000
jne 0x44f666
lea ecx, [esp + 0x1d4]
mov ebx, dword [esp + 0x1cc]
mov edi, dword [esp + 0x1d0]
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, esi
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0x100], xmm1
mov dword [esp + 0x108], eax
movsd qword [esp + 0x198], xmm0
mov dword [esp + 0x1a8], eax
movsd qword [esp + 0x1a0], xmm1
call fcn.0049776a
mov edx, dword [esp + 0x44]
cmp edx, dword [esp + 0x3c]
jne 0x44f58f
lea ecx, [esp + 0x3c]
call fcn.004d64e6
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
imul ecx, edx, 0x1c
inc edx
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 4], edi
movq xmm0, qword [esp + 0x198]
movq xmm1, qword [esp + 0x1a0]
movq qword [eax + ecx + 8], xmm0
movq qword [eax + ecx + 0x10], xmm1
mov edi, dword [esp + 0x1a8]
mov dword [eax + ecx + 0x18], edi
mov dword [esp + 0x44], edx
jmp 0x44f464
lea eax, [esp + 0x1d4]
push 0xf
pop ecx
mov esi, dword [esp + 0xe0]
mov ebx, edi
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x48]
and dword [eax - 0xc], 0
mov dword [eax - 8], ebx
mov dword [eax - 4], edx
call fcn.0044ad0d
jmp 0x44f6f7
push 0x10
pop ecx
jmp 0x44e94f
lea edi, [esp + 0x3c]
lea esi, [esp + 0x1c8]
lea edx, [esp + 0x140]
mov ecx, esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.0049ff51
pop eax
pop ecx
mov ecx, edi
call fcn.004d6214
lea ecx, [esp + 0xd4]
call fcn.004d8d40
cmp dword [esi], 2
sete bl
jne 0x44f70e
mov eax, dword [esp + 0x1cc]
mov edi, 0x80000001
mov dword [esp], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x20], eax
jmp 0x44f752
push 0xa
pop eax
lea edx, [esp + 0x48]
lea esi, [esp + 0x1c8]
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x5c]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov ecx, dword [edx + 0x10]
lea edx, [esp + 0x1e8]
mov edi, edx
mov dword [esp + 0x108], ecx
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0x100], xmm1
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x108]
movq xmm0, qword [esp + 0xf8]
movq xmm1, qword [esp + 0x100]
mov dword [edx - 0x1c], eax
mov dword [edx - 0x18], 0x22
mov dword [edx - 4], ecx
movq qword [edx - 0x14], xmm0
movq qword [edx - 0xc], xmm1
and dword [edx - 0x20], 0
lea ecx, [esp + 0x1b0]
call fcn.0049776a
lea ecx, [esp + 0x3c]
call fcn.004d6214
lea ecx, [esp + 0xd4]
call fcn.004d8d40
xor ebx, ebx
lea edi, [esp + 0x1c8]
lea esi, [esp + 0x54]
mov edx, dword [edi]
mov ecx, esi
push dword [edi + 4]
call fcn.0044c65c
pop eax
mov ecx, edi
call fcn.0044c6c0
mov ecx, dword [esi - 4]
mov eax, dword [esi - 8]
mov edx, dword [esi]
mov edi, 0x80000000
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 4]
mov esi, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x140]
call fcn.0044c704
lea ecx, [esp + 0x238]
call fcn.0045406f
test bl, bl
je 0x44f7f7
mov eax, dword [esp]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0x54]
push 4
pop ecx
mov edx, ecx
call fcn.0044abfb
mov esi, eax
mov dword [eax], edi
push 0x40
pop ecx
mov edx, 0x200
call fcn.00479dba
test eax, eax
je 0x44fb2f
lea edi, [esp + 0x48]
xor edx, edx
mov dword [edi], 8
mov dword [edi + 4], eax
push 8
pop ebx
sub ebx, 1
mov dword [esp + 0x50], edx
jb 0x44f884
cmp edx, dword [esp + 0x48]
jne 0x44f7d2
mov ecx, edi
call fcn.00495f72
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
shl edx, 6
and dword [eax + edx], 0
mov byte [eax + edx + 4], 0
and dword [eax + edx + 8], 0
mov dword [eax + edx + 0xc], 4
and dword [eax + edx + 0x10], 0
mov edx, dword [esp + 0x50]
inc edx
jmp 0x44f7b0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
call fcn.00453deb
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x29c]
mov dword [eax + 0x14], esi
call 0x44fbcd
lea ecx, [esp + 0x268]
call 0x44fbcd
lea ecx, [esp + 0x248]
call 0x44fbcd
lea ecx, [esp + 0x318]
call 0x44fbcd
lea ecx, [esp + 0x2f8]
call 0x44fbcd
lea ecx, [esp + 0x2d8]
call 0x44fbcd
mov ecx, dword [esp + 0x14]
call fcn.0048a86b
jmp 0x44f0bc
mov eax, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x48]
mov dword [esp + 0x148], eax
movsd qword [esp + 0x140], xmm0
push 0x24
pop ecx
push 4
pop ebx
mov edx, ebx
call fcn.0044abfb
movsd xmm0, qword [esp + 0x140]
mov edi, eax
movsd qword [eax], xmm0
mov eax, dword [esp + 0x148]
mov dword [edi + 8], eax
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], 0x62cf4c
and dword [edi + 0x14], 0
and dword [edi + 0x18], 0
movsd xmm0, qword [esp + 0x48]
movsd qword [edi + 0x1c], xmm0
push 0xc
pop ecx
mov edx, ebx
call fcn.0044abfb
xor ecx, ecx
mov edx, dword [esp + 0x14]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x2f0]
movsd qword [edx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2e8]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [esp + 0x310]
movsd qword [edx + 0x38], xmm0
movsd xmm0, qword [esp + 0x308]
movsd qword [edx + 0x30], xmm0
movsd xmm0, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x300]
movsd qword [edx + 0x28], xmm1
movsd qword [edx + 0x20], xmm0
movsd xmm0, qword [esp + 0x318]
movsd xmm1, qword [esp + 0x320]
movsd qword [edx + 0x40], xmm0
movsd qword [edx + 0x48], xmm1
movsd xmm0, qword [esp + 0x328]
movsd qword [edx + 0x50], xmm0
movsd xmm0, qword [esp + 0x330]
movsd qword [edx + 0x58], xmm0
movsd xmm0, qword [esp + 0x248]
movsd xmm1, qword [esp + 0x250]
movsd qword [edx + 0x60], xmm0
movsd qword [edx + 0x68], xmm1
movsd xmm0, qword [esp + 0x258]
movsd qword [edx + 0x70], xmm0
movsd xmm0, qword [esp + 0x260]
movsd qword [edx + 0x78], xmm0
movsd xmm0, qword [esp + 0x268]
movsd xmm1, qword [esp + 0x270]
movsd qword [edx + 0x80], xmm0
movsd qword [edx + 0x88], xmm1
movsd xmm0, qword [esp + 0x278]
movsd qword [edx + 0x90], xmm0
movsd xmm0, qword [esp + 0x280]
movsd qword [edx + 0x98], xmm0
movsd xmm0, qword [esp + 0x29c]
movq xmm1, qword [esp + 0x2a4]
movsd qword [edx + 0xa0], xmm0
movq qword [edx + 0xa8], xmm1
movsd xmm0, qword [esp + 0x2ac]
movsd qword [edx + 0xb0], xmm0
movq xmm0, qword [esp + 0x2b4]
movq qword [edx + 0xb8], xmm0
mov dword [edx + 0xc0], 6
mov dword [edx + 0xc4], ecx
mov ecx, dword [esp + 8]
mov dword [edx + 0xc8], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 0xcc], ecx
mov ecx, dword [esp]
mov dword [edx + 0xd0], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0xd4], ecx
mov dword [edx + 0xd8], eax
push 7
pop eax
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov edx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
jmp 0x44e96e
mov ecx, dword [esp + 0xe0]
mov edx, ecx
push 0x6c3514
call fcn.0043a050
mov edx, dword [esp]
mov ecx, ebx
push 0x6c3524
call fcn.0043a050
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x62cf64
call fcn.0043a9e0
mov ecx, ebx
mov edx, edi
push 0x62ca50
call fcn.0043a6f0
sub esp, 0xc
and dword [esp + 4], 0
xor edx, edx
mov dword [esp + 8], 0x62cedc
mov dword [esp], 1
call fcn.00441bc0
mov edx, esi
push 0x62cedc
push esi
push 1
call fcn.00441bc0
push 0x40
pop ecx
mov edx, 0x200
call fcn.00434230
sub eax, 0xfa000001
pop es
add byte [eax], al
pop ss
or al, byte [eax]
add ch, cl
or al, byte [eax]
add byte [eax + 0x1100000a], ah
or al, 0
add byte [edx], bl
or eax, dword [eax]
add byte [ebp - 0x77], dl
in eax, 0x56
mov eax, ecx
mov ecx, dword [ebp + 8]
mov esi, edx
sub esi, ecx
jb 0x44fb71
shl ecx, 4
mov edx, esi
add eax, ecx
pop esi
pop ebp
ret
push dword [ebp + 0xc]
call fcn.00439ff0
cmp dword [edx], 3
jne 0x44fb8e
mov eax, dword [edx + 0xc]
movsd xmm0, qword [edx + 4]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
ret
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x20
movsd xmm0, qword [edx + 0x10]
movsd xmm2, qword [edx]
movsd xmm1, qword [edx + 8]
mov eax, dword [ebp + 8]
mov esi, esp
movsd qword [esi + 0x10], xmm0
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm2
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push eax
push 0x62c8b4
push esi
call fcn.0043f6f0
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov ecx, dword [ecx]
call 0x44fbda
pop eax
cmp ecx, 5
ja 0x44fc17
add eax, dword [ecx*4 + 0x44fc40]
jmp eax
pop esi
pop ebp
ret
lea ecx, [esi + 0x10]
call fcn.0044b744
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
call fcn.00453deb
mov eax, dword [esi + 0x18]
lock dec dword [eax]
jne 0x44fc08
add esi, 0x18
mov ecx, esi
pop esi
pop ebp
jmp fcn.0044b4c3