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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4d0
call 0x4435b4
pop eax
movaps xmm0, xmmword [0x4de4e0]
mov dword [esp + 0x154], ecx
movzx ecx, byte [edx + 0x51]
mov esi, dword [ebp + 0xc]
mov ebx, 4
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 4
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 4
mov dword [esp + 0x150], edx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x140], eax
mov eax, dword [edx + 0x4c]
movups xmmword [esp + 0x120], xmm0
movaps xmm0, xmmword [0x4de4f0]
mov dword [esp + 0x130], eax
lea eax, [esp + 0xd0]
mov byte [esp + 0x135], cl
movzx ecx, byte [edx + 0x52]
mov dword [esp + 0x58], eax
movzx eax, byte [edx + 0x50]
mov byte [esp + 0x136], al
mov byte [esp + 0x137], cl
mov byte [esp + 0x134], al
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 4
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 4
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 4
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 4
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 1
movups xmmword [esp + 0x11c], xmm0
mov byte [esp + 0x134], al
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf0], 0
movsd xmm0, qword [esp + 0x120]
mov eax, dword [esp + 0x128]
movsd qword [esp + 0x1ec], xmm0
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1e8], eax
mov eax, dword [ebp + 8]
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [esp + 0x1e8]
movq xmm1, qword [esp + 0x1f0]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], esi
movsd qword [esp + 0x78], xmm0
movq qword [esp + 0x80], xmm1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], 0
jmp 0x443830
lea ecx, [esp + 0x58]
call fcn.00499ad0
mov eax, dword [esp + 0x120]
cmp eax, esi
je 0x444677
mov ecx, dword [ebp + 8]
mov edx, esi
push eax
call fcn.00499cf0
add esp, 4
lea ecx, [eax - 0x28]
cmp ecx, 0x33
ja 0x4438d0
mov eax, dword [ecx*4 + 0x447584]
add eax, dword [esp + 0x140]
jmp eax
cmp eax, 0x7b
je 0x443e59
cmp eax, 0x7c
jne 0x443933
movsd xmm1, qword [esp + 0x74]
mov eax, dword [esp + 0x84]
movsd xmm0, qword [esp + 0x7c]
movq xmm2, qword [esp + 0x64]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x58]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x6c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
movsd qword [esp + 0x48], xmm0
movq qword [esp + 0x30], xmm2
movsd qword [esp + 0x38], xmm1
push eax
call fcn.0049c500
jmp 0x443ea9
mov ecx, dword [ebp + 8]
mov edx, esi
push dword [esp + 0x120]
call fcn.00499cf0
add esp, 4
mov edi, eax
cmp eax, 0x5b
jg 0x443f3c
cmp edi, 0x24
je 0x4440ac
cmp edi, 0x2e
jne 0x4442b5
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [edi + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edx
push esi
call fcn.00499cf0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4439a8
mov ecx, 2
cmp eax, 0x800
jb 0x4439a8
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x44721a
mov ebx, dword [edi + 0x58]
inc ebx
je 0x44722e
lea eax, [edi + 0x50]
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0x10], eax
push dword [edi + 0x50]
call fcn.00499cf0
add esp, 4
mov edi, dword [esp + 8]
xor ecx, ecx
cmp eax, 0xa
lea edx, [esp + 0x224]
mov eax, 1
sete cl
cmove ebx, eax
add ecx, dword [esp + 0x10]
movsd xmm0, qword [edi]
movsd qword [edx - 0x30], xmm0
mov eax, dword [edi + 8]
mov dword [edx - 0x28], eax
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x208], ebx
call fcn.0049a4d0
mov dword [esp + 0x1f0], 0x80000004
mov edx, 0x80000004
mov ecx, 4
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1f8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x48], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esp + 0x40], xmm1
cmp eax, 4
cmovae eax, ecx
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax*4 + 0x447654]
mov dword [esp + 4], ecx
add eax, dword [esp + 0x140]
jmp eax
movsd xmm1, qword [esp + 0x74]
mov eax, dword [esp + 0x84]
movsd xmm0, qword [esp + 0x7c]
movq xmm2, qword [esp + 0x64]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x58]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x6c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
movsd qword [esp + 0x48], xmm0
movq qword [esp + 0x30], xmm2
movsd qword [esp + 0x38], xmm1
push eax
call fcn.0049d890
add esp, 4
lea esi, [esp + 0x1f8]
mov edi, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov esi, dword [esp + 0x1f4]
cmp edi, 0x22
mov dword [esp + 4], eax
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x28], xmm1
jne 0x444777
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 0x20]
movq xmm1, qword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x78]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
jmp 0x443830
cmp edi, 0x5c
je 0x44420a
cmp edi, 0x5e
jne 0x4442b5
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [edi + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edx
push esi
call fcn.00499cf0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x443f92
mov ecx, 2
cmp eax, 0x800
jb 0x443f92
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x44721a
mov ebx, dword [edi + 0x58]
inc ebx
je 0x44722e
lea eax, [edi + 0x50]
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0x10], eax
push dword [edi + 0x50]
call fcn.00499cf0
add esp, 4
mov edi, dword [esp + 8]
xor ecx, ecx
cmp eax, 0xa
lea edx, [esp + 0x224]
mov eax, 1
sete cl
cmove ebx, eax
add ecx, dword [esp + 0x10]
movsd xmm0, qword [edi]
movsd qword [edx - 0x30], xmm0
mov eax, dword [edi + 8]
mov dword [edx - 0x28], eax
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x208], ebx
call fcn.0049a4d0
mov dword [esp + 0x1f0], 0x80000003
mov byte [esp + 0x20c], 0
mov edx, 0x80000003
mov ecx, 4
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1f8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x48], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esp + 0x40], xmm1
cmp eax, 4
cmovae eax, ecx
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax*4 + 0x447654]
mov dword [esp + 4], ecx
add eax, dword [esp + 0x140]
jmp eax
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [edi + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edx
push esi
call fcn.00499cf0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4440f0
mov ecx, 2
cmp eax, 0x800
jb 0x4440f0
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x44721a
mov ebx, dword [edi + 0x58]
inc ebx
je 0x44722e
lea eax, [edi + 0x50]
mov edx, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0x10], eax
push dword [edi + 0x50]
call fcn.00499cf0
add esp, 4
mov edi, dword [esp + 8]
xor ecx, ecx
cmp eax, 0xa
lea edx, [esp + 0x224]
mov eax, 1
sete cl
cmove ebx, eax
add ecx, dword [esp + 0x10]
movsd xmm0, qword [edi]
movsd qword [edx - 0x30], xmm0
mov eax, dword [edi + 8]
mov dword [edx - 0x28], eax
mov dword [esp + 0x200], esi
mov dword [esp + 0x204], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x208], ebx
call fcn.0049a4d0
mov dword [esp + 0x1f0], 0x80000003
mov byte [esp + 0x20c], 1
mov edx, 0x80000003
mov ecx, 4
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1f8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x48], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esp + 0x40], xmm1
cmp eax, 4
cmovae eax, ecx
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax*4 + 0x447654]
mov dword [esp + 4], ecx
add eax, dword [esp + 0x140]
jmp eax
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x58]
call fcn.0049a5e0
mov eax, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1f0]
cmp eax, 0x22
jne 0x4470e1
mov eax, dword [esp + 0x1e4]
mov ecx, 4
mov edi, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 4], eax
lea eax, [esp + 0x1f8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x48], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esp + 0x40], xmm1
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x447654]
add eax, dword [esp + 0x140]
jmp eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [ebx + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edx
push esi
call fcn.00499cf0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4442f9
mov ecx, 2
cmp eax, 0x800
jb 0x4442f9
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x44721a
mov eax, ebx
mov ebx, dword [ebx + 0x58]
inc ebx
je 0x44722e
lea ecx, [eax + 0x50]
mov edx, dword [esp]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 4]
push dword [eax + 0x50]
call fcn.00499cf0
add esp, 4
mov edx, dword [esp + 8]
xor ecx, ecx
cmp eax, 0xa
mov eax, 1
cmove ebx, eax
lea eax, [esp + 0x1f8]
sete cl
add ecx, dword [esp + 0x10]
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
mov eax, dword [edx + 8]
lea edx, [esp + 0x1f8]
mov dword [edx + 8], eax
mov dword [esp + 0x204], esi
mov dword [esp + 0x208], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x20c], ebx
call fcn.0049a4d0
mov dword [esp + 0x1f0], 0x80000002
mov dword [esp + 0x1f4], edi
mov byte [esp + 0x210], 0
mov edx, 0x80000002
mov ecx, 4
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], eax
lea eax, [esp + 0x1f8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x48], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esp + 0x40], xmm1
cmp eax, 4
cmovae eax, ecx
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax*4 + 0x447654]
mov dword [esp + 4], ecx
add eax, dword [esp + 0x140]
jmp eax
movsd xmm1, qword [esp + 0x74]
mov eax, dword [esp + 0x84]
movsd xmm0, qword [esp + 0x7c]
movq xmm2, qword [esp + 0x64]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x58]
movsd qword [esp + 0x40], xmm1
movq xmm1, qword [esp + 0x6c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
movsd qword [esp + 0x48], xmm0
movq qword [esp + 0x30], xmm2
movq qword [esp + 0x38], xmm1
push eax
call fcn.00499dd0
add esp, 4
mov edi, dword [esp + 0x1e0]
cmp edi, 0x22
jne 0x4447d0
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
lea edx, [esp + 0x58]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x1e0]
push eax
call fcn.0049e460
add esp, 4
mov eax, dword [esp + 0x1e0]
cmp eax, 0x22
jne 0x444929
cmp dword [esp + 0xd0], 0
jne 0x447314
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0xdc]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 4
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd0], 0
mov dword [esp], eax
jmp 0x444a72
mov eax, dword [esp + 0x210]
movsd xmm0, qword [esp + 0x208]
mov dword [esp], ebx
mov ebx, dword [esp + 4]
movsd xmm1, qword [esp + 0x28]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x218]
movsd qword [esp + 0xa0], xmm0
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x98], xmm1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x214]
movsd qword [esp + 0x90], xmm0
jmp 0x44484c
mov eax, dword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x1f8]
mov ebx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1f4]
mov dword [esp], eax
mov eax, dword [esp + 0x210]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esp + 0x200]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x218]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [esp + 0x208]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x214]
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x14], eax
movsd xmm0, qword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x1b8], xmm0
movsd xmm0, qword [esp + 0x90]
mov dword [esp + 0x1c0], eax
mov eax, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x154]
movsd qword [esp + 0x1b0], xmm1
movq xmm1, qword [esp + 0x1b0]
movsd qword [esp + 0x1a8], xmm0
mov dword [ecx + 0xc], eax
mov eax, dword [esp]
movsd xmm0, qword [esp + 0x1a8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], esi
mov esi, dword [esp + 0x1c0]
mov edx, dword [esp + 8]
movq qword [ecx + 0x28], xmm1
movsd qword [ecx + 0x20], xmm0
movq xmm0, qword [esp + 0x1b8]
mov dword [ecx + 0x38], esi
mov esi, dword [esp + 0x10]
movq qword [ecx + 0x30], xmm0
mov dword [ecx + 0x40], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x44], edx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], edi
lea ecx, [esp + 0xd0]
call fcn.0042b9e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x1f8]
mov edi, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1f4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x218]
mov dword [esp], edx
mov edx, dword [esp + 0x210]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esp + 0x200]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0xa8], edx
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [esp + 0x208]
mov edx, dword [esp + 0x214]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x20]
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 0x10], edx
call fcn.0049eb20
mov edx, ebx
mov ebx, edi
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x8c]
jmp 0x44485b
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
test ebx, ebx
mov dword [esp + 0xc], ecx
je 0x444a3d
mov edi, dword [esp + 0xc]
nop dword [eax + eax]
mov ecx, edi
call fcn.0049eb20
add edi, 8
dec ebx
jne 0x444a30
cmp dword [esp + 0x64], 0
je 0x444a56
push dword [esp + 0xc]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x18]
cmp edi, 0x22
jne 0x44485b
mov dword [esp + 4], ebx
mov ebx, dword [esp]
test esi, esi
mov eax, ecx
je 0x444ac1
lea edi, [edx + 4]
mov dword [esp], ebx
jmp 0x444a96
add edi, 0x24
dec esi
je 0x444ac1
cmp dword [edi - 4], 0
je 0x444a90
push dword [edi]
push 0
push dword [0x5371d8]
mov dword [esp + 0x18], esi
mov ebx, edx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, esi
mov edx, ebx
mov ebx, dword [esp]
mov esi, dword [esp + 0xc]
jmp 0x444a90
test eax, eax
je 0x444ad4
push edx
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0xd0]
call fcn.0042b9e0
lea ecx, [esp + 0x19c]
call fcn.004476c0
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 4]
mov esi, dword [ebp + 0xc]
mov dword [edx + eax*8], ecx
mov dword [edx + eax*8 + 4], ebx
inc eax
mov dword [esp + 0x1a4], eax
jne 0x444b1e
xor ebx, ebx
mov edi, 4
jmp 0x4468ba
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x1d4], eax
lea edi, [esp + 0x30]
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 4
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 4
mov dword [esp + 0x170], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 4], 0
mov dword [esp + 0x158], edx
mov dword [esp + 0x1a8], edi
movzx eax, word [ecx + 0x49]
movzx ebx, byte [ecx + 0x44]
mov word [esp + 0x44], ax
mov eax, dword [ecx + 0x45]
movzx ecx, byte [ecx + 0x4b]
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], 0
mov byte [esp + 0x47], bl
mov byte [esp + 0x46], cl
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], esi
mov esi, 4
mov eax, dword [edx]
mov dword [esp + 0x1c], edx
lea ecx, [eax - 7]
cmp ecx, 4
ja 0x445119
mov eax, dword [ecx*4 + 0x447668]
add eax, dword [esp + 0x140]
jmp eax
mov ebx, dword [edx + 4]
lea ecx, [eax - 7]
cmp ecx, 4
ja 0x4464b1
mov eax, dword [ecx*4 + 0x447698]
add eax, dword [esp + 0x140]
jmp eax
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x1a8]
push ebx
push eax
call fcn.004aee40
add esp, 8
mov ebx, dword [esp + 0x1e0]
cmp ebx, 0x80000000
jne 0x44670c
mov edx, dword [esp + 0x170]
test edx, edx
je 0x4465fc
mov ecx, dword [esp + 0x16c]
lea eax, [edx + edx*4]
lea edi, [ecx + eax*4 - 0x14]
mov dword [esp + 0xc], ecx
nop dword [eax]
mov ebx, dword [edi + 4]
cmp ebx, 4
je 0x4465fc
mov ecx, dword [edi]
lea esi, [edx - 1]
cmp ebx, 2
jb 0x44652f
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x10]
jne 0x44652b
test eax, eax
je 0x44652f
jmp 0x4465d0
test eax, eax
jne 0x44656d
mov eax, ecx
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x1a8]
push dword [eax + 4]
push dword [eax]
call fcn.004aee40
add esp, 8
mov ebx, dword [esp + 0x1e0]
cmp ebx, 0x80000000
jne 0x44670c
add edi, 0xffffffec
test esi, esi
mov edx, esi
jne 0x446500
jmp 0x4465fc
cmp dword [esp + 0x30], 0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x170], esi
jne 0x447201
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x34]
jne 0x4465a9
lea ecx, [esp + 0x34]
call fcn.004a4dd0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
inc edx
mov dword [eax + ecx], 0xf
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [esp]
inc dword [esp + 0x30]
mov dword [edi], ecx
mov dword [edi + 4], ebx
mov ebx, edx
mov edx, dword [esp + 0x1c]
dec eax
mov dword [esp + 4], ebx
lea esi, [edx + 8]
mov dword [edi + 8], edx
mov dword [edi + 0xc], esi
mov esi, dword [esp + 0xc]
mov dword [edi + 0x10], eax
mov dword [esp + 0x170], ebx
jmp 0x444bde
mov eax, dword [esp + 0x1a8]
mov ecx, dword [eax]
cmp ecx, 0x7ffffffe
ja 0x4474bf
inc ecx
mov dword [eax], ecx
mov ecx, dword [eax + 0xc]
cmp ecx, 1
mov dword [esp + 0xd0], ecx
jne 0x4474c9
dec dword [eax]
cmp dword [eax], 0
jne 0x447251
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 + 0xe0], xmm0
cmp esi, 0x10
movsd xmm0, qword [ecx + 0xc]
movsd qword [esp + 0xd8], xmm0
movsd xmm0, qword [ecx + 4]
movsd qword [esp + 0xd0], xmm0
mov dword [eax], 0
je 0x4474f2
movsd xmm1, qword [esp + 0xd8]
mov dword [esp + 0x1e0], esi
movsd xmm0, qword [esp + 0xd0]
xor eax, eax
lea ecx, [esi - 7]
cmp esi, 8
cmovae eax, ecx
test eax, eax
movsd qword [esp + 0x1ec], xmm1
movq xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x1e4], xmm0
movq qword [esp + 0x1f4], xmm1
je 0x446774
cmp eax, 1
jne 0x44751e
lea ecx, [esp + 0x1e4]
lea edx, [esp + 0xb0]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esp + 0xd0]
mov dword [esp + 0xb8], eax
movsd qword [esp + 0xb0], xmm0
call fcn.004b1d20
jmp 0x4467b8
mov edx, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x1f0]
mov edi, dword [esp + 0x1e4]
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov dword [esp + 4], eax
movaps xmmword [esp + 0x140], xmm0
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], ecx
cmp dword [esp + 0x168], 0
jne 0x446818
jmp 0x44682d
mov eax, dword [esp + 0x1f8]
movsd xmm0, qword [esp + 0x1f0]
movq xmm2, qword [esp + 0x1e0]
movq xmm1, qword [esp + 0x1e8]
mov dword [esp + 0xe8], eax
movsd qword [esp + 0xe0], xmm0
movq qword [esp + 0xd8], xmm1
movq qword [esp + 0xd0], xmm2
cmp esi, 9
jb 0x4467c9
lea ecx, [esp + 0x1e0]
call fcn.004b1ec0
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
movsd xmm0, qword [esp + 0xdc]
mov ecx, dword [esp + 0xe4]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xe8]
mov ebx, 0x80000000
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
movapd xmmword [esp + 0x140], xmm0
mov dword [esp], ecx
cmp dword [esp + 0x168], 0
je 0x44682d
push dword [esp + 0x16c]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x174], 0
je 0x44684c
push dword [esp + 0x178]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x80000000
jne 0x4468e5
lea ecx, [esp + 0x30]
call fcn.0042bc90
lea ecx, [esp + 0x1c4]
call fcn.0042b940
mov ebx, dword [esp + 0x1cc]
mov ecx, edi
mov edi, dword [esp + 0x1c8]
movapd xmm0, xmmword [esp + 0x140]
mov edx, dword [esp]
lea eax, [ebx + ebx*8]
lea eax, [eax + eax*2]
add eax, ebx
inc ebx
mov dword [edi + eax], ecx
mov ecx, dword [esp + 4]
mov dword [edi + eax + 4], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + eax + 8], ecx
movlpd qword [edi + eax + 0xc], xmm0
mov dword [edi + eax + 0x14], edx
mov dword [edi + eax + 0x18], esi
mov dword [esp + 0x1cc], ebx
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ebx
movzx eax, byte [ecx + 0x34]
mov dh, byte [ecx + 0x3a]
mov dl, byte [ecx + 0x3b]
mov ah, byte [ecx + 0x3c]
mov esi, ecx
cmp al, 3
je 0x4468e0
cmp al, 2
jne 0x4469b7
jmp 0x4469e8
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x74]
movsd xmm0, qword [esp + 0x64]
movq xmm1, qword [esp + 0x6c]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x1dc]
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x1d8]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x44], edx
movsd qword [ecx + 0x34], xmm0
movq qword [ecx + 0x3c], xmm1
mov dword [ecx + 0xc], ebx
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0xc]
movdqa xmm0, xmmword [esp + 0x140]
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], edx
movq qword [ecx + 0x1c], xmm0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0x22
lea ecx, [esp + 0x30]
call fcn.0042bc90
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x1d4]
nop dword [eax]
mov ecx, esi
call fcn.0042bd70
add esi, 8
dec edi
jne 0x446990
cmp dword [esp + 0x19c], 0
je 0x444921
push dword [esp + 0x158]
jmp 0x44705c
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov dword [esp + 0x140], esi
mov dword [esp], ecx
lock inc dword [ecx]
jle 0x447481
mov esi, dword [ebx + 0x30]
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xc], esi
mov esi, dword [esp]
mov byte [esp + 0x10a], dh
mov byte [esp + 0x10b], dl
mov byte [esp + 0x10c], ah
mov dword [esp + 0xf8], esi
mov esi, dword [esp + 0x150]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xfc], ebx
movzx ecx, byte [esi + 0x42]
mov dword [esp + 0x100], edx
mov edx, dword [esi + 8]
mov byte [esp + 0x104], al
xor eax, eax
mov ebx, dword [esi + 0x3d]
mov byte [esp + 0x112], 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 + 0xd8], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0xe0], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esi]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xe8], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 0x24]
movzx ecx, word [esi + 0x38]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x10d], ebx
mov ebx, dword [esp + 4]
mov byte [esp + 0x111], dl
mov word [esp + 0x108], cx
test ebx, ebx
je 0x446c03
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
lea esi, [ebx*4]
test eax, eax
jne 0x446b1d
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test eax, eax
je 0x447475
mov dword [0x5371d8], eax
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x447475
mov ecx, eax
xor eax, eax
cmp ebx, 8
mov esi, ecx
jb 0x446bb0
movdqa xmm0, xmmword [0x4de3b0]
movdqa xmm1, xmmword [0x4de500]
movdqa xmm3, xmmword [str.pppp_n_nd]
movdqa xmm4, xmmword [str._b_b_b_b]
mov eax, ebx
movd xmm2, edi
lea ecx, [esi + 0x10]
and eax, 0xfffffff8
pshufd xmm2, xmm2, 0
mov edx, eax
nop dword [eax]
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 [ecx - 0x10], xmm5
paddd xmm5, xmm3
movdqu xmmword [ecx], xmm5
add ecx, 0x20
add edx, 0xfffffff8
jne 0x446b70
cmp ebx, eax
je 0x446bdb
lea ecx, [eax + eax*8]
add edi, eax
lea ecx, [ecx + ecx*2]
add edi, ecx
mov ecx, ebx
sub ecx, eax
lea eax, [esi + eax*4]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov dword [eax], edi
add eax, 4
add edi, 0x1c
dec ecx
jne 0x446bd0
lea ecx, [esp + 0xd0]
mov edx, esi
push ebx
call fcn.00447760
add esp, 4
mov edi, eax
lea ecx, [esp + 0x1e0]
mov edx, eax
mov dword [esp + 0x168], eax
push ebx
push esi
jmp 0x446c34
lea ecx, [esp + 0xd0]
mov esi, 4
mov edx, 4
push 0
call fcn.00447760
add esp, 4
mov edi, eax
lea ecx, [esp + 0x1e0]
mov edx, eax
mov dword [esp + 0x168], eax
push 0
push 4
call fcn.00447c50
add esp, 8
mov eax, dword [esp + 0x1e0]
cmp eax, 2
jne 0x446f15
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x140], ecx
mov dword [esp + 0xc], eax
lock inc dword [eax]
jle 0x447481
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
test eax, eax
jne 0x446c91
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test eax, eax
je 0x447483
mov dword [0x5371d8], eax
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x447483
mov ebx, eax
mov eax, dword [esp + 0xc]
mov dword [esp], esi
mov dword [ebx], eax
mov eax, dword [esp + 0x140]
mov dword [ebx + 4], eax
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
test eax, eax
jne 0x446cdc
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test eax, eax
je 0x447492
mov dword [0x5371d8], eax
push 0x240
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x447492
mov esi, eax
mov dword [esp + 8], edi
and esi, 0xffffffc0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], 0
mov byte [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 4
mov dword [esi + 0x50], 0
mov dword [esi + 0x80], 0
mov byte [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 4
mov dword [esi + 0x90], 0
mov dword [esi + 0xc0], 0
mov byte [esi + 0xc4], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xcc], 4
mov dword [esi + 0xd0], 0
mov dword [esi + 0x100], 0
mov byte [esi + 0x104], 0
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 4
mov dword [esi + 0x110], 0
mov dword [esi + 0x140], 0
mov byte [esi + 0x144], 0
mov dword [esi + 0x148], 0
mov dword [esi + 0x14c], 4
mov dword [esi + 0x150], 0
mov dword [esi + 0x180], 0
mov byte [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov dword [esi + 0x18c], 4
mov dword [esi + 0x190], 0
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 0
mov dword [esi + 0x1cc], 4
mov dword [esi + 0x1d0], 0
mov dword [esi + 0x200], 0
mov byte [esi + 0x204], 0
mov dword [esi + 0x208], 0
mov dword [esi + 0x20c], 4
mov dword [esi + 0x210], 0
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
test eax, eax
jne 0x446e8a
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test eax, eax
je 0x4474a1
mov dword [0x5371d8], eax
push 0x308
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x4474a1
mov edi, eax
mov dword [eax], 2
add eax, 4
add esi, 0x40
push 0x2ec
lea ecx, [esp + 0x1e4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi + 0x2f0], ebx
mov dword [edi + 0x2f4], 0x4e4cf0
mov dword [edi + 0x2f8], 0
mov dword [edi + 0x2fc], 8
mov dword [edi + 0x300], esi
mov dword [edi + 0x304], 8
movzx eax, byte [0x537170]
mov eax, dword [0x5371d8]
test eax, eax
je 0x44706f
mov esi, dword [esp + 4]
jmp 0x447086
mov edx, dword [esp + 0x154]
movsd xmm1, qword [esp + 0x20c]
movsd xmm2, qword [esp + 0x214]
mov ecx, dword [esp + 0x224]
movq xmm0, qword [esp + 0x21c]
movsd qword [edx + 0x2c], xmm1
movsd xmm1, qword [esp + 0x1fc]
movsd qword [edx + 0x34], xmm2
movsd xmm2, qword [esp + 0x204]
mov dword [edx + 0x44], ecx
movq qword [edx + 0x3c], xmm0
movsd qword [edx + 0x1c], xmm1
movsd xmm1, qword [esp + 0x1f4]
movsd qword [edx + 0x24], xmm2
movq xmm2, qword [esp + 0x1ec]
movsd qword [edx + 0x14], xmm1
movq xmm1, qword [esp + 0x1e4]
movq qword [edx + 0xc], xmm2
mov dword [edx], eax
movq qword [edx + 4], xmm1
lock dec dword [edi]
jne 0x446fa9
lea ecx, [esp + 0x168]
call fcn.004685f0
test ebx, ebx
je 0x446fbc
push esi
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1c8]
test ebx, ebx
mov dword [esp + 4], eax
je 0x447001
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 4]
nop dword [eax]
mov ecx, esi
call fcn.004b1f30
mov ecx, esi
call fcn.0042b6d0
push dword [esi + 0x18]
push 0
push dword [0x5371d8]
call edi
add esi, 0x1c
dec ebx
jne 0x446fe0
cmp dword [esp + 0x1c4], 0
je 0x44701d
push dword [esp + 4]
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x1a4]
mov edi, dword [esp + 0x1a0]
test ebx, ebx
je 0x44704d
mov esi, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, esi
call fcn.0042bd70
add esi, 8
dec ebx
jne 0x447040
cmp dword [esp + 0x19c], 0
je 0x444921
push edi
push 0
push dword [0x5371d8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x444921
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, dword [esp + 4]
test eax, eax
je 0x4474b0
mov dword [0x5371d8], eax
push 0x14
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x4474b0
test esi, esi
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x140]
mov esi, dword [esp + 8]
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
mov edx, dword [esp + 0x154]
mov esi, dword [esp]
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov dword [edx], 2
jne 0x446fad
jmp 0x446fbc
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x214]
mov esi, dword [esp + 0x1f4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x10], edx
mov dword [esp], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1f8]
movsd xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq xmm2, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xa8], eax
movq qword [esp + 0xa0], xmm2
movq qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm0
jmp 0x444a14
mov ecx, 0x4e9ee8
call fcn.004d6680
mov ecx, 4
mov edx, 0x74
call fcn.004d6180
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e85f4
call fcn.004d6490
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e8604
call fcn.004d6490
mov ecx, 4
mov edx, 0x1c
call fcn.004d6180
mov ecx, 0x4e9f18
call fcn.004d6680
mov ecx, 4
mov edx, 0x20
call fcn.004d6180
mov ecx, 4
mov edx, 0x18
call fcn.004d6180
mov ecx, 4
mov edx, 0x38
call fcn.004d6180
lea eax, [esp + 0x1e0]
mov dword [esp + 0xd0], 0x4e9c2c
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xb4], 0x4b1a90
jmp 0x4473a4
mov ecx, 0x4e87d8
call fcn.004d6680
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9e88
call fcn.004d6490
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9e98
call fcn.004d6490
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9ea8
call fcn.004d6490
lea eax, [esp + 0x1e0]
mov dword [esp + 0xd0], 0x4e9c2c
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x4b1a90
lea eax, [esp + 0x20]
lea ecx, [esp + 0xd0]
mov edx, 0x4e9c34
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 1
call fcn.004d6340
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9eb8
call fcn.004d6490
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9ec8
call fcn.004d6490
mov dword [edi], 0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9ed8
call fcn.004d6490
lea eax, [esp + 0x1e0]
mov dword [esp + 0xd0], 0x4e9be4
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x4b1a90
lea eax, [esp + 0x20]
lea ecx, [esp + 0xd0]
mov edx, 0x4e9bec
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 1
call fcn.004d6340
call fcn.0041f600
mov ecx, 4
mov edx, esi
call fcn.004d6180
ud2
mov ecx, 4
mov edx, 8
call fcn.004d6180
mov ecx, 0x40
mov edx, 0x200
call fcn.004d6180
mov ecx, 8
mov edx, 0x308
call fcn.004d6180
mov ecx, 4
mov edx, 0x14
call fcn.004d6180
mov ecx, 0x4e9d38
call fcn.004d66d0
mov dword [esp + 0x1e0], 0
lea ecx, [esp + 0xd0]
mov edx, 0x534020
push 0x4e9d28
lea eax, [esp + 0x1e4]
push eax
call fcn.004dc3c0
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e9d18
call fcn.004d6490
mov ecx, 4
mov edx, ebx
call fcn.004d6180
mov ecx, 1
mov edx, ebx
call fcn.004d6180
lea ecx, [esp + 0xb0]
lea eax, [esp + 0x1e0]
mov dword [esp + 0xd0], 0x4e9b24
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov edx, 0x4e9ba0
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0x4b1a90
mov dword [esp + 0xdc], 1
call fcn.004d6340
nop
mov edx, 0x2f000002
add eax, 0x5840000
add byte [eax], al
push es
add eax, 0x37f0000
add byte [eax], al
jg 0x44759d
add byte [eax], al
jg 0x4475a1
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475a5
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475a9
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475ad
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475b1
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475b5
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475b9
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475bd
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475c1
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475c5
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475c9
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475cd
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475d1
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475d5
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475d9
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475dd
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475e1
add eax, dword [eax]
add byte [edx + 0x7f000005], ch
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
stosb byte es:[edi], al
add eax, 0x37f0000
add byte [eax], al
jg 0x4475ed
add byte [eax], al
jg 0x4475f1
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475f5
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475f9
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x4475fd
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447601
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447605
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447609
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x44760d
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447611
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447615
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447619
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x44761d
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447621
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447625
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447629
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x44762d
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447631
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447635
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447639
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x44763d
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447641
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447645
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447649
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x44764d
add eax, dword [eax]
add byte [edi + 3], bh
add byte [eax], al
jg 0x447651
add eax, dword [eax]
add byte [0x6e000006], dl
add byte [eax], al
adc eax, 0x6e000006
push es
add byte [eax], al
outsb dx, byte [esi]
push cs
add byte [eax], al
in al, dx
push cs
add byte [eax], al
xor cl, byte [edi]
add byte [eax], al
movsd dword es:[edi], dword [esi]
sldt word [eax]
sbb al, 0x10
add byte [eax], al
dec esp
push ss
add byte [eax], al
stc
push ss
add byte [eax], al
cmp edx, dword [edi]
add byte [eax], al
pop es
sbb byte [eax], al
add byte [eax - 0x3bffffe8], bl
pop ss
add byte [eax], al
retf 0x17