Function at 0x4d84b0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
mov dword [esp + 0x70], ecx
mov ecx, dword [0x588110]
call 0x4d84ce
pop eax
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x1b4], eax
test ecx, ecx
je 0x4dc8e4
mov esi, dword [0x588108]
mov edx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
shl edx, 5
add edx, esi
mov dword [esp + 0x10], esi
mov edi, dword [esi + 0x18]
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
add esi, 0x20
shl edi, 3
mov dword [esp + 0x40], ecx
nop word cs:[eax + eax]
nop dword [eax]
test edi, edi
je 0x4d8550
mov ebx, eax
add edi, 0xfffffff8
add eax, 8
mov ecx, dword [ebx]
add ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x70]
ja 0x4d8520
add ecx, dword [ebx + 4]
cmp ecx, dword [esp + 0x70]
jbe 0x4d8520
jmp 0x4d855e
mov eax, dword [esp + 0x24]
inc eax
cmp esi, edx
jne 0x4d84fc
jmp 0x4dc8e4
mov eax, dword [0x58811c]
mov ebx, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x4d85a4
mov edx, dword [esp + 0x3c]
mov ecx, dword [0x588114]
xor esi, esi
mov eax, edx
shl eax, 7
lea edi, [eax + edx*8]
mov eax, ecx
xor edx, edx
nop word [eax + eax]
cmp dword [eax + esi], ebx
je 0x4d8736
add esi, 0x88
dec edx
cmp edi, esi
jne 0x4d8590
mov eax, dword [esp + 0xc]
cmp eax, ebx
jbe 0x4dc8ec
mov esi, dword [esp + 0x10]
mov eax, ebx
shl eax, 5
mov edx, dword [esi + eax]
lea ecx, [esp + 0x128]
push dword [esi + eax + 8]
call fcn.004d8270
add esp, 4
cmp dword [esp + 0x128], 0
je 0x4dc8e4
mov edi, dword [esp + 0x134]
movq xmm0, qword [esp + 0x12c]
xor eax, eax
mov dword [esp + 0x294], 4
mov dword [esp + 0x1c0], edi
movq qword [esp + 0x1b8], xmm0
cmp edi, 0x40
movq qword [esp + 0x2b0], xmm0
pxor xmm0, xmm0
mov dword [esp + 0x2b8], edi
mov ebx, dword [esp + 0x1bc]
movq qword [esp + 0x298], xmm0
mov dword [esp + 0x2a0], 0
cmovae eax, ebx
jb 0x4d8698
movzx ecx, word [eax]
cmp ecx, 0x5a4d
jne 0x4d8698
mov ecx, dword [eax + 0x3c]
mov eax, edi
sub eax, ecx
jb 0x4d8698
cmp eax, 0x78
jb 0x4d8698
mov esi, ecx
add esi, 0x78
setb byte [esp + 0x3c]
cmp dword [ebx + ecx], 0x4550
jne 0x4d8698
movzx eax, word [ebx + ecx + 0x18]
cmp eax, 0x10b
jne 0x4d8698
movzx eax, word [ebx + ecx + 0x14]
xor edx, edx
sub eax, 0x60
sbb edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
jb 0x4d8698
cmp ecx, 0xffffff87
jbe 0x4dc69c
mov eax, dword [esp + 0x29c]
mov esi, dword [esp + 0x294]
test eax, eax
je 0x4d86df
shl eax, 2
lea edi, [esi + 4]
lea ebx, [eax + eax*2]
jmp 0x4d86c8
add edi, 0xc
add ebx, 0xfffffff4
je 0x4d86df
cmp dword [edi], 0
je 0x4d86c0
push dword [edi - 4]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
jmp 0x4d86c0
cmp dword [esp + 0x298], 0
je 0x4d86f7
push esi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2a0], 0
je 0x4d8719
push dword [esp + 0x2a8]
call sub.kernel32.dll_UnmapViewOfFile
push dword [esp + 0x2a4]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x1bc]
call sub.kernel32.dll_UnmapViewOfFile
push dword [esp + 0x1b8]
call sub.kernel32.dll_CloseHandle
jmp 0x4dc8e4
test edx, edx
je 0x4d8812
lea ecx, [eax + esi]
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x1f0]
push 0x88
push ecx
push edx
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
sub edi, esi
mov dword [esp + 0x60], ebx
lea eax, [ebx + esi + 0x88]
lea ebx, [esp + 0x1f0]
add edi, 0xffffff78
push edi
push eax
push dword [esp + 0x2c]
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x3c]
lea edi, [eax - 1]
mov dword [0x58811c], edi
lea eax, [esp + 0x128]
push 0x88
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp edi, dword [0x588118]
jne 0x4d886c
mov ecx, dword [esp + 0x3c]
lea eax, [edi + edi]
mov edx, 4
cmp eax, ecx
cmovbe eax, ecx
cmp eax, 5
cmovae edx, eax
xor eax, eax
cmp edx, 0xf0f0f1
mov ecx, edx
mov dword [esp + 0x24], edx
setb al
shl ecx, 7
shl eax, 3
lea edx, [ecx + edx*8]
test edi, edi
je 0x4d8819
mov ecx, dword [0x588114]
mov esi, edi
shl esi, 7
lea esi, [esi + edi*8]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], 8
jmp 0x4d8824
mov esi, eax
jmp 0x4d88a5
mov dword [esp + 0xc8], 0
lea esi, [esp + 0xc0]
lea ecx, [esp + 0x98]
push esi
push eax
call fcn.004b1750
add esp, 8
cmp dword [esp + 0x98], 0
mov ecx, dword [esp + 0x9c]
je 0x4dc45e
mov eax, dword [esp + 0xa0]
cmp eax, 0x80000001
jne 0x4dd55a
mov eax, dword [0x588114]
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x60]
test edi, edi
je 0x4d888d
mov ecx, edi
lea eax, [esi + 0x88]
shl ecx, 7
lea ecx, [ecx + edi*8]
push ecx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
push 0x88
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [0x58811c], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x48]
xor ebx, ebx
mov dword [esp + 0x60], esi
sub eax, dword [esp + 0x40]
mov dword [esp + 0x70], eax
inc eax
mov dword [esp + 0x40], eax
sete al
test edx, edx
je 0x4dbad6
lea ecx, [esi + 0x40]
mov bl, al
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov esi, edx
mov dword [esp + 0x3c], ecx
jmp 0x4d88fc
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], esi
sub esi, ebx
jbe 0x4d8954
shr esi, 1
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ebx
add esi, ebx
mov eax, esi
shl eax, 5
mov ebx, dword [ecx + eax + 8]
mov edx, dword [ecx + eax + 0xc]
xor eax, eax
mov ecx, edx
mov edi, ebx
xor ecx, dword [esp + 0xc]
xor edi, dword [esp + 0x40]
or edi, ecx
mov ecx, 0
setne al
cmp dword [esp + 0x70], ebx
sbb ecx, edx
mov ecx, 0xff
cmovae eax, ecx
cmp al, 1
je 0x4d88f0
inc esi
movzx eax, al
mov ebx, esi
cmp eax, 0xff
jne 0x4d8954
mov esi, dword [esp + 0x10]
sub esi, ebx
ja 0x4d88fc
mov eax, dword [esp + 0x14]
cmp ebx, eax
ja 0x4dd549
test ebx, ebx
je 0x4dbad6
shl ebx, 5
add ebx, dword [esp + 0x3c]
jmp 0x4d898d
add ebx, 0xffffffe0
cmp dword [esp + 0x3c], ebx
je 0x4dbad6
mov ecx, dword [esp + 0x70]
mov eax, 0
cmp ecx, dword [ebx - 0x20]
sbb eax, dword [ebx - 0x1c]
jae 0x4dbad6
cmp ecx, dword [ebx - 0x10]
mov eax, 0
sbb eax, dword [ebx - 0xc]
jae 0x4d8980
cmp ecx, dword [ebx - 0x18]
mov eax, 0
sbb eax, dword [ebx - 0x14]
jb 0x4d8980
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x60]
mov eax, dword [ebx - 8]
mov ecx, dword [edx + 0x54]
cmp eax, ecx
jae 0x4dc8fd
mov edx, dword [edx + 0x4c]
imul esi, eax, 0x150
mov dword [esp + 0x24], ebx
lea eax, [edx + esi]
mov dword [esp + 0x64], eax
mov eax, dword [edx + esi + 0x130]
cmp eax, 2
jne 0x4da07b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
pxor xmm0, xmm0
mov dword [esp + 0x78], edx
mov dword [esp + 0x88], esi
mov edi, dword [eax + 0x58]
mov dword [esp + 0x278], 8
mov dword [esp + 0x108], 8
movq qword [esp + 0x27c], xmm0
movq qword [esp + 0x10c], xmm0
mov ebx, dword [ecx + 0x24]
mov eax, dword [ecx + 0x20]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
test ebx, ebx
lea eax, [ecx + 0xe0]
mov dword [esp + 0xc8], ecx
lea ecx, [edx + esi + 0x130]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xd0], 0
je 0x4d9eb1
mov dword [esp + 0x8c], edi
xor edi, edi
xor edx, edx
mov dword [esp + 0x74], 8
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xc0]
xor ecx, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 0
cmp byte [eax + 0x29], 8
mov edx, dword [eax + 0x10]
mov dword [esp + 0x14], edi
sete cl
add edx, edi
lea edx, [edx + ecx*8]
mov ecx, dword [eax + 0x24]
add ecx, dword [eax + 0x20]
sub edx, ecx
xor ecx, ecx
add edx, 4
mov dword [esp + 0x84], edx
mov edx, ebx
lea ebx, [edi + 1]
xor edi, edi
neg edx
nop dword [eax + eax]
movzx eax, byte [ebx - 1]
cmp ecx, 0x3f
jne 0x4d8b01
cmp al, 2
jae 0x4d9419
mov byte [esp + 0x40], al
mov dword [esp + 0xc], edx
xor edx, edx
mov esi, edi
mov edi, 0
movzx eax, byte [esp + 0x40]
and al, 0x7f
movzx eax, al
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
mov edi, esi
or dword [esp + 0x10], eax
movzx eax, byte [esp + 0x40]
or edi, edx
test al, al
jns 0x4d8b4b
mov edx, dword [esp + 0xc]
add ecx, 7
inc ebx
inc edx
jne 0x4d8af0
jmp 0x4d942d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ebx
not eax
or ecx, edi
mov dword [esp + 0xc4], eax
je 0x4d8c80
mov eax, dword [esp + 0xcc]
test edi, edi
jne 0x4d8b8a
mov ecx, dword [esp + 0x10]
dec ecx
cmp ecx, dword [eax + 8]
jae 0x4d8b8a
imul esi, ecx, 0x68
add esi, dword [eax]
jmp 0x4d8c57
mov edx, dword [eax + 0x10]
mov cl, 0x12
test edx, edx
je 0x4d96c2
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], eax
movzx eax, word [edx + 0x4d6]
mov ecx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0xbc], eax
imul eax, eax, 0x68
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x1c]
add eax, ebx
je 0x4d8c26
mov eax, dword [esp + 0x18]
mov edx, dword [eax + ecx*8 + 8]
mov esi, dword [eax + ecx*8 + 0xc]
xor eax, eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], esi
xor esi, edi
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
xor edx, edi
or edx, esi
setne al
cmp edi, dword [esp + 0xc]
mov edi, dword [esp + 0x28]
mov edx, edi
sbb edx, dword [esp + 0x14]
mov edx, 0xff
cmovb eax, edx
inc ecx
add ebx, 0xffffff98
cmp al, 1
je 0x4d8bd0
movzx eax, al
test eax, eax
jne 0x4d8c2d
jmp 0x4d8c4e
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
sub eax, 1
jb 0x4d9565
mov edx, dword [edx + ecx*4 + 0x4d8]
mov dword [esp + 0x38], eax
jmp 0x4d8ba2
mov esi, dword [esp + 0x18]
sub esi, ebx
add esi, 0xfffffff0
cmp byte [esi + 0x62], 1
jne 0x4d8c64
inc dword [esp + 0xd0]
cmp word [esi + 0x60], 0x2e
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x6c]
jne 0x4d8c94
test eax, eax
je 0x4d8ca9
mov eax, esi
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
jmp 0x4d8cba
dec dword [esp + 0xd0]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
jmp 0x4d91f5
test eax, eax
je 0x4d915a
mov eax, esi
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
jmp 0x4d916b
mov edi, dword [esi + 0xc]
cmp edi, 5
ja 0x4dd632
mov eax, esi
add eax, 0x10
mov edx, dword [esp + 0x30]
test edi, edi
je 0x4d91f1
shl edi, 4
xor ebx, ebx
mov dword [esp + 0x28], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0
add edi, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x6c], ecx
mov edx, eax
jmp 0x4d8d35
mov edi, dword [esp + 0x40]
cmp esi, 4
jb 0x4d9719
mov eax, dword [edx]
mov edx, dword [esp + 0x18]
add edx, 0x10
add eax, ebx
mov ebx, 1
cmp edx, edi
mov dword [esp + 0x94], eax
je 0x4d8fc2
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x18], edx
movq qword [esp + 0xa0], xmm1
movq qword [esp + 0x98], xmm0
mov eax, dword [eax + 0x28]
movq qword [esp + 0x1f8], xmm1
movq qword [esp + 0x1f0], xmm0
lea esi, [esp + 0x1f0]
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc0]
push esi
push eax
call fcn.004b36e0
add esp, 8
mov eax, dword [esp + 0x128]
xor eax, 0x2e
or eax, dword [esp + 0x12c]
je 0x4d9529
movzx eax, word [esp + 0x138]
cmp eax, 0x55
jne 0x4d8e51
lea ecx, [esp + 0x1f0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov ecx, dword [esp + 0x1f0]
mov eax, dword [esp + 0x1f8]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x18
jne 0x4d8ecb
mov ecx, dword [esp + 0x8c]
mov edi, dword [ecx + 0x68]
mov esi, dword [ecx + 0x6c]
mov ecx, dword [esp + 0x64]
mov ebx, dword [ecx + 0x114]
sub esi, ebx
jb 0x4d955c
mov ecx, dword [ecx + 0x28]
movzx edx, ch
mul edx
jo 0x4d9571
add edi, ebx
sub esi, eax
jb 0x4d955c
add edi, eax
mov edx, edi
mov edi, ecx
and edi, 0xff00
cmp edi, 0x800
jne 0x4d8d09
mov edi, dword [esp + 0x40]
cmp esi, 8
jb 0x4d96cc
cmp dword [edx + 4], 0
je 0x4d8d16
jmp 0x4d971f
cmp eax, 0x12
je 0x4d8f14
cmp eax, 0x11
jne 0x4d8f99
lea ecx, [esp + 0x1f0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
or eax, dword [esp + 0x1f4]
mov eax, dword [esp + 0x80]
cmove eax, dword [esp + 0x1fc]
cmove ecx, dword [esp + 0x1f8]
mov dword [esp + 0x80], eax
mov eax, 0
cmove edx, eax
mov eax, 1
cmove esi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
jmp 0x4d8f9d
cmp ecx, 0x16
jne 0x4d8f69
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x8c]
cmp word [ecx + 0x2a], 5
mov ecx, 0
jae 0x4d8ef5
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + 0x114]
cmp byte [edx + 0x74], 0
mov edx, 0
mov ebx, 1
cmovne edx, ecx
add edx, eax
mov dword [esp + 0x94], edx
jmp 0x4d8f99
lea ecx, [esp + 0x1f0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov eax, dword [esp + 0x1f0]
test al, 0x3f
je 0x4d8f6d
mov ecx, dword [esp + 0x6c]
cmp eax, 7
jne 0x4d8f9d
mov eax, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], 1
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1c8], edx
jmp 0x4d8f9d
xor ebx, ebx
jmp 0x4d8f99
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 1
mov dword [esp + 0xb8], eax
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
add edx, 0x10
mov eax, edx
cmp edx, edi
jne 0x4d8d01
cmp ebx, 1
jne 0x4d92d6
mov eax, dword [esp + 0x64]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x28]
mov ebx, dword [esp + 0x8c]
mov edi, ecx
shr edi, 0x10
cmp di, 5
lea edx, [ebx + 0x64]
lea eax, [ebx + 0x6c]
lea esi, [ebx + 0x60]
cmovb eax, edx
lea edx, [ebx + 0x68]
cmovb edx, esi
mov eax, dword [eax]
mov esi, dword [edx]
mov edx, dword [esp + 0x94]
sub eax, edx
jb 0x4dba6d
add esi, edx
mov edx, dword [ebx + 0x10]
cmp di, 5
mov dword [esp + 0x40], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x64]
mov edi, dword [edx + 0x10c]
mov ebx, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], esi
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
setae byte [esp + 0x13c]
mov byte [esp + 0x13f], 0
mov word [esp + 0x13d], 0
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edi
lea ecx, [esp + 0x1f0]
lea edx, [esp + 0x128]
call fcn.004b6000
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1f4]
mov edx, eax
xor edx, 2
or edx, ecx
jne 0x4d9209
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1f8]
cmp bl, 0x47
jne 0x4dba7c
mov edx, dword [esp + 0x30]
test bh, 1
je 0x4d91f5
mov eax, dword [esp + 0x84]
cmp edx, dword [esp + 0x27c]
mov dword [esp + 0x128], eax
mov dword [esp + 0x130], 2
jne 0x4d90f9
lea ecx, [esp + 0x278]
call fcn.004b1bf0
mov edx, dword [esp + 0x280]
mov eax, dword [esp + 0x278]
movsd xmm0, qword [esp + 0x148]
lea ecx, [edx + edx*4]
inc edx
movsd qword [eax + ecx*8 + 0x20], xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [eax + ecx*8 + 0x18], xmm0
movsd xmm0, qword [esp + 0x138]
movsd qword [eax + ecx*8 + 0x10], xmm0
movq xmm0, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movq qword [eax + ecx*8 + 8], xmm1
movq qword [eax + ecx*8], xmm0
mov dword [esp + 0x280], edx
jmp 0x4d91f5
mov edi, dword [esi + 0xc]
cmp edi, 6
jae 0x4dd632
mov eax, esi
add eax, 0x10
mov edx, dword [esp + 0x30]
test edi, edi
je 0x4d91f1
shl edi, 4
mov ebx, eax
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
mov eax, dword [esp + 0xc8]
movq qword [esp + 0xa0], xmm1
movq qword [esp + 0x98], xmm0
mov eax, dword [eax + 0x28]
movq qword [esp + 0x1f8], xmm1
movq qword [esp + 0x1f0], xmm0
lea esi, [esp + 0x1f0]
lea ecx, [esp + 0x128]
lea edx, [esp + 0xc0]
push esi
push eax
call fcn.004b36e0
add esp, 8
mov eax, dword [esp + 0x128]
xor eax, 0x2e
or eax, dword [esp + 0x12c]
je 0x4d9529
add ebx, 0x10
add edi, 0xfffffff0
jne 0x4d9178
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc4]
test ebx, ebx
jne 0x4d8a94
jmp 0x4d9578
mov edi, dword [esp + 0x20]
xor edx, edx
mov bh, dl
jmp 0x4d9273
mov edx, dword [esp + 0x108]
mov edi, dword [esp + 0x110]
movdqa xmm0, xmmword [esp + 0x40]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edi*2]
inc edi
mov bh, 1
mov dword [esp + 0x74], edx
movdqu xmmword [edx + eax*8], xmm0
mov dword [edx + eax*8 + 0x10], ecx
mov dword [esp + 0x110], edi
lea ecx, [esp + 0x1f0]
lea edx, [esp + 0x128]
call fcn.004b6000
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1f4]
mov edx, eax
xor edx, 2
or edx, ecx
je 0x4d90a7
xor eax, 1
or eax, ecx
jne 0x4d90b7
movdqu xmm1, xmmword [esp + 0x1f8]
pshufd xmm0, xmm1, 0x55
pshufd xmm2, xmm1, 0xff
movd ecx, xmm1
movdqa xmmword [esp + 0x40], xmm1
pshufd xmm1, xmm1, 0xee
movd esi, xmm1
movd eax, xmm0
movd edx, xmm2
cmp ecx, esi
sbb eax, edx
jae 0x4d9245
cmp edi, dword [esp + 0x10c]
mov edx, dword [esp + 0x74]
jne 0x4d9221
lea ecx, [esp + 0x108]
mov edx, edi
call fcn.004b19f0
jmp 0x4d9213
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xor eax, 1
or eax, dword [esp + 0x1c]
jne 0x4d9361
mov eax, edx
xor eax, 1
or eax, esi
jne 0x4d9361
cmp ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x6c], ecx
sbb eax, dword [esp + 0xfc]
jae 0x4d8c87
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x10c]
jne 0x4d9346
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x108]
call fcn.004b19f0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xfc]
jmp 0x4d93e5
xor edx, 1
mov dword [esp + 0x6c], ecx
or edx, esi
jne 0x4d8c87
mov eax, dword [esp + 0x28]
xor eax, 1
or eax, dword [esp + 0x38]
jne 0x4d8c87
mov esi, dword [esp + 0x1cc]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x80]
add esi, eax
adc edi, ecx
cmp eax, esi
mov ecx, ecx
sbb ecx, edi
jae 0x4d8c87
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x10c]
jne 0x4d93dd
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x108]
call fcn.004b19f0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov dword [eax + 8], esi
inc edi
mov dword [eax + 0x10], edx
mov dword [esp + 0x110], edi
jmp 0x4d90c4
not edx
mov dword [esp + 0xc0], ebx
mov cl, 6
mov dword [esp + 0xc4], edx
jmp 0x4d944b
mov esi, dword [esp + 0x14]
xor ebx, ebx
mov cl, 0x13
add esi, dword [esp + 0x18]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 0
mov byte [esp + 0x1d0], cl
mov byte [esp + 0x1d1], al
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x40], 0
cmp dword [esp + 0x10c], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], esi
je 0x4d9492
push dword [esp + 0x108]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x280]
mov esi, dword [esp + 0x278]
test eax, eax
je 0x4d94eb
shl eax, 3
lea edi, [esi + 0x24]
lea ebx, [eax + eax*4]
jmp 0x4d94b8
add edi, 0x28
add ebx, 0xffffffd8
je 0x4d94eb
cmp dword [edi - 0x1c], 0
jne 0x4d94b0
cmp dword [edi - 8], 0
je 0x4d94d4
push dword [edi - 0xc]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
cmp dword [edi], 0
je 0x4d94b0
push dword [edi - 4]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
jmp 0x4d94b0
cmp dword [esp + 0x27c], 0
je 0x4d9503
push esi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
cmp dword [eax], 2
jne 0x4da06a
mov edx, dword [esp + 0x1d0]
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x4d9fca
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov ebx, dword [esp + 0x13c]
mov esi, dword [esp + 0x138]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1d4], ecx
jmp 0x4d946c
mov al, 0x13
mov esi, edi
jmp 0x4d9742
movzx eax, byte [esp + 0x40]
mov cl, 0x12
jmp 0x4d944b
mov al, 0x35
jmp 0x4d9742
mov eax, dword [esp + 0x108]
cmp edi, 0x15
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
jae 0x4d9778
cmp edi, 2
jb 0x4d9eb1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
lea edi, [eax - 1]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
xor eax, eax
jmp 0x4d95e6
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov dword [ebx], edi
mov edi, dword [esp + 0x10]
mov dword [ebx + 4], edx
movq xmm0, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movq qword [ebx + 8], xmm0
movq qword [ebx + 0x10], xmm1
add eax, 0xffffffe8
test edi, edi
je 0x4d9eb1
mov esi, dword [esp + 0x1c]
dec edi
mov dword [esp + 0xc], eax
lea ebx, [edi + edi*2]
mov eax, dword [esi + ebx*8 + 0x1c]
mov edx, dword [esi + ebx*8 + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + ebx*8]
mov dword [esp + 0x40], edx
cmp dword [esi + ebx*8 + 0x18], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
sbb dword [esp + 0x10], edx
jae 0x4d95db
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
sub edx, edi
cmp edx, 3
lea edx, [esi + ebx*8]
lea ebx, [esi + ebx*8 + 0x18]
movsd xmm0, qword [edx + 8]
movsd xmm1, qword [edx + 0x10]
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movsd qword [edx], xmm0
movq qword [edx + 8], xmm1
movq xmm0, qword [ebx + 0x10]
movq qword [edx + 0x10], xmm0
jb 0x4d95ae
mov edi, dword [esp + 0x14]
mov esi, dword [edx + 0x34]
cmp dword [edx + 0x30], edi
mov edx, eax
sbb esi, dword [esp + 0x40]
jae 0x4d95b2
movsd xmm0, qword [ecx + edx + 0x10]
mov ebx, edx
movsd qword [ecx + edx - 8], xmm0
movq xmm0, qword [ecx + edx]
movq xmm1, qword [ecx + edx + 8]
movq qword [ecx + edx - 0x10], xmm1
movq qword [ecx + edx - 0x18], xmm0
add edx, 0x18
je 0x4d96bb
mov esi, dword [ecx + ebx + 0x1c]
cmp dword [ecx + ebx + 0x18], edi
sbb esi, dword [esp + 0x40]
jb 0x4d9683
add ebx, ecx
jmp 0x4d95b2
movzx eax, byte [esp + 0x40]
jmp 0x4d944b
mov dword [esp + 0x9f], edx
lea edx, [esp + 0xa0]
lea esi, [esp + 0x29c]
movzx ecx, byte [edx + 2]
movzx edx, word [edx]
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
mov byte [esi + 2], cl
mov word [esi], dx
mov dword [esp + 0x298], edi
mov dword [esp + 0x294], eax
shld edi, eax, 8
mov al, 0x13
mov esi, dword [esp + 0x29b]
jmp 0x4d9721
mov al, 0x13
mov esi, edx
jmp 0x4d9721
mov al, 0x35
movzx ecx, byte [esp + 0x296]
movzx edx, word [esp + 0x294]
mov ebx, edi
mov byte [esp + 0x1ba], cl
mov word [esp + 0x1b8], dx
movzx ecx, byte [esp + 0x1ba]
movzx edi, word [esp + 0x1b8]
lea edx, [esp + 0x1d1]
mov dword [esp + 0x40], ebx
mov byte [edx + 2], cl
mov word [edx], di
mov byte [esp + 0x1d0], al
mov dword [esp + 0x1d4], ebx
xor ebx, ebx
jmp 0x4d946c
xor ebx, ebx
cmp edi, 0xaaaaaac
setb al
jae 0x4dd6d7
shr edi, 1
mov bl, al
lea ecx, [edi*8]
shl ebx, 3
lea esi, [ecx + ecx*2]
test esi, esi
js 0x4dd6d7
mov dword [esp + 0xfc], edi
je 0x4d97d1
mov eax, dword [0x5880e0]
test eax, eax
jne 0x4d97c6
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4dd6cb
mov dword [0x5880e0], eax
push esi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
jmp 0x4d97d3
mov eax, ebx
test eax, eax
mov dword [esp + 0x40], eax
je 0x4dd6cb
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
pxor xmm0, xmm0
xor edx, edx
mov dword [esp + 0x1f0], 4
movq qword [esp + 0x1f4], xmm0
lea ecx, [eax - 0x48]
lea edi, [eax - 0x30]
lea esi, [eax - 0x18]
add eax, 0x18
mov dword [esp + 0x6c], esi
mov dword [esp + 0xb8], eax
mov esi, 4
mov eax, ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x80], edi
jmp 0x4d9840
mov edx, 2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d9e82
mov ecx, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], edx
dec ecx
je 0x4d99bc
lea esi, [eax - 2]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + ecx*2]
lea edx, [esi + esi*2]
mov dword [esp + 0x38], ebx
mov edi, dword [eax + edx*8]
mov dword [esp + 0xc], edi
cmp dword [eax + ecx*8], edi
mov edi, dword [eax + ecx*8 + 4]
mov ecx, dword [eax + edx*8 + 4]
sbb edi, ecx
jae 0x4d99c6
mov edx, dword [esp + 0x80]
lea eax, [ebx*8]
mov dword [esp + 0x28], 2
lea eax, [eax + eax*2]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], esi
mov edi, ebx
sub esi, 1
mov dword [esp + 0x8c], edx
jb 0x4d990f
lea ebx, [esi + esi*2]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x28]
mov ebx, dword [edx + ebx*8]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x28]
mov edx, dword [edx + ebx*8 + 4]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x8c]
cmp dword [esp + 0xc], ebx
lea ebx, [edx + 1]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x74]
sbb ecx, ebx
lea ecx, [edi - 0x18]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x84]
jb 0x4d989e
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov esi, ecx
sub esi, edx
jb 0x4dd675
mov ebx, dword [esp + 0x20]
cmp ecx, ebx
ja 0x4dd67f
cmp esi, 2
jb 0x4d9a02
mov ecx, dword [esp + 0x8c]
add eax, dword [esp + 0x6c]
shr ecx, 1
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0x138], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x18
movsd xmm0, qword [esp + 0x138]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
add eax, 0xffffffe8
dec ecx
jne 0x4d9943
jmp 0x4d9a02
mov esi, 1
jmp 0x4d9b6a
mov eax, dword [esp + 0x94]
lea edx, [ebx + ebx*2]
lea edi, [ebx - 2]
xor esi, esi
lea edx, [eax + edx*8]
cmp edi, esi
je 0x4d9b62
mov ebx, dword [edx]
mov eax, dword [edx + 4]
inc esi
add edx, 0xffffffe8
cmp dword [esp + 0xc], ebx
mov dword [esp + 0xc], ebx
sbb ecx, eax
mov ecx, eax
jae 0x4d99d8
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
sub edx, esi
inc esi
mov eax, dword [esp + 0x38]
test edx, edx
je 0x4d9b6c
cmp esi, 9
ja 0x4d9b6c
cmp eax, ebx
mov esi, eax
ja 0x4dd689
mov ecx, dword [esp + 0xb8]
mov edi, edx
lea eax, [edx + edx*2]
not edi
add edi, esi
lea ecx, [ecx + eax*8]
mov eax, esi
dec edx
mov esi, eax
sub esi, edx
mov dword [esp + 0x14], edx
jb 0x4dd5e8
cmp esi, 2
jb 0x4d9b4b
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x1c]
lea edx, [eax + ecx*8]
mov eax, dword [edx]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 0x1c]
cmp dword [edx + 0x18], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x38]
sbb ecx, ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
jae 0x4d9b4b
movsd xmm0, qword [edx + 8]
movsd xmm1, qword [edx + 0x10]
lea ecx, [edx + 0x18]
cmp esi, 3
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movsd qword [edx], xmm0
movq qword [edx + 8], xmm1
movq xmm0, qword [ecx + 0x10]
movq qword [edx + 0x10], xmm0
jb 0x4d9b16
mov eax, dword [esp + 0xc]
mov ebx, dword [edx + 0x34]
cmp dword [edx + 0x30], eax
mov edx, edi
sbb ebx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
jae 0x4d9b16
movsd xmm0, qword [ebx + 0x10]
dec edx
movsd qword [ebx - 8], xmm0
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx - 0x10], xmm1
movq qword [ebx - 0x18], xmm0
je 0x4d9b14
mov ecx, dword [esp + 0xc]
mov eax, dword [ebx + 0x1c]
cmp dword [ebx + 0x18], ecx
mov ecx, ebx
lea ebx, [ebx + 0x18]
sbb eax, dword [esp + 0x10]
jb 0x4d9add
jmp 0x4d9b16
mov ecx, ebx
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
movq xmm0, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movq qword [ecx + 8], xmm0
movq qword [ecx + 0x10], xmm1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4d9b6c
add ecx, 0xffffffe8
inc edi
cmp esi, 0xa
jb 0x4d9a36
jmp 0x4d9b6c
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x1f4]
jne 0x4d9b99
lea ecx, [esp + 0x1f0]
call fcn.004b18b0
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f8]
jmp 0x4d9b9d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], esi
inc edx
mov esi, eax
cmp edx, 2
mov dword [esp + 0x1f8], edx
jb 0x4d9834
cmp dword [esi + edx*8 - 8], 0
lea ecx, [edx - 1]
mov dword [esp + 0x8c], ecx
je 0x4d9c13
mov edi, dword [esi + edx*8 - 0xc]
mov eax, dword [esi + ecx*8 + 4]
cmp edi, eax
jbe 0x4d9c13
cmp edx, 3
jb 0x4d982f
mov ecx, dword [esi + edx*8 - 0x14]
lea esi, [eax + edi]
lea ebx, [edx - 3]
cmp ecx, esi
jbe 0x4d9c25
cmp edx, 4
jb 0x4d9e70
mov esi, dword [esp + 0x18]
add edi, ecx
cmp dword [esi + edx*8 - 0x1c], edi
mov edi, ebx
mov ebx, dword [esp + 0x20]
jbe 0x4d9c2b
jmp 0x4d9834
cmp edx, 3
jb 0x4d9c2f
mov eax, dword [esi + ecx*8 + 4]
mov ecx, dword [esi + edx*8 - 0x14]
lea edi, [edx - 3]
jmp 0x4d9c2b
mov esi, dword [esp + 0x18]
mov edi, ebx
cmp ecx, eax
jb 0x4d9c32
lea edi, [edx - 2]
lea eax, [edi + 1]
cmp eax, edx
mov dword [esp + 0x84], eax
jae 0x4dc91f
mov eax, esi
mov ebx, dword [esi + edi*8 + 4]
mov esi, dword [esi + edi*8 + 8]
mov eax, dword [eax + edi*8]
mov dword [esp + 0x38], ebx
mov dword [esp + 0xc], esi
add eax, ebx
mov ebx, esi
mov ecx, eax
sub ecx, esi
mov dword [esp + 0x28], ecx
jb 0x4dd58b
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x30], edx
mov edx, eax
ja 0x4dd56c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], edi
mov ebx, dword [eax + edi*8 + 0xc]
mov eax, dword [esp + 0xc]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], ebx
lea esi, [ecx + eax*8]
lea eax, [ebx + ebx*2]
lea edi, [esi + eax*8]
lea eax, [edx + edx*2]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x28]
sub eax, ebx
cmp eax, ebx
jae 0x4d9d59
mov dword [esp + 0x28], eax
lea eax, [eax*8]
lea ebx, [eax + eax*2]
push ebx
push edi
push dword [esp + 0x48]
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x4c]
add esp, 0xc
add ebx, eax
cmp dword [esp + 0x10], 0
jle 0x4d9df0
cmp dword [esp + 0x28], 0
jle 0x4d9df0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xbc]
lea eax, [eax + ecx*8]
nop dword [eax]
mov ecx, dword [ebx - 0x18]
mov edx, dword [ebx - 0x14]
cmp ecx, dword [edi - 0x18]
sbb edx, dword [edi - 0x14]
jb 0x4d9d20
add ebx, 0xffffffe8
mov ecx, ebx
jmp 0x4d9d25
add edi, 0xffffffe8
mov ecx, edi
movsd xmm1, qword [ecx + 8]
movq xmm0, qword [ecx]
cmp edi, esi
movsd qword [eax + 8], xmm1
movq xmm1, qword [ecx + 0x10]
movq qword [eax], xmm0
movq qword [eax + 0x10], xmm1
jbe 0x4d9d4e
add eax, 0xffffffe8
cmp ebx, dword [esp + 0x40]
ja 0x4d9d00
mov eax, dword [esp + 0x40]
mov esi, edi
jmp 0x4d9df6
lea eax, [ebx*8]
lea ebx, [eax + eax*2]
push ebx
push esi
push dword [esp + 0x48]
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
add esp, 0xc
add ebx, edx
test eax, eax
jle 0x4d9df4
cmp dword [esp + 0x28], eax
jle 0x4d9df4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xbc]
lea ecx, [eax + ecx*8]
mov eax, edx
nop word cs:[eax + eax]
nop
mov edx, eax
mov eax, dword [edi]
cmp eax, dword [edx]
mov eax, dword [edi + 4]
sbb eax, dword [edx + 4]
setae al
movzx eax, al
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
cmovb edx, edi
movsd xmm1, qword [edx + 8]
movq xmm0, qword [edx]
movsd qword [esi + 8], xmm1
movq xmm1, qword [edx + 0x10]
setb dl
movq qword [esi], xmm0
cmp eax, ebx
movq qword [esi + 0x10], xmm1
lea esi, [esi + 0x18]
jae 0x4d9df6
movzx edx, dl
lea edx, [edx + edx*2]
lea edi, [edi + edx*8]
cmp edi, ecx
jb 0x4d9da0
jmp 0x4d9df6
mov esi, edi
jmp 0x4d9df6
mov eax, edx
sub ebx, eax
push ebx
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
cmp ecx, edx
jae 0x4dc926
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x38]
sub edx, ecx
lea edx, [edx*8 - 0x10]
mov dword [esi + ecx*8], eax
mov eax, dword [esp + 0x84]
add edi, dword [esp + 0x10]
lea eax, [esi + eax*8]
mov dword [esi + ecx*8 + 4], edi
lea ecx, [eax + 8]
push edx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x20]
cmp edx, 1
mov dword [esp + 0x1f8], edx
ja 0x4d9bbf
mov edx, 1
jmp 0x4d9834
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov edx, 3
jmp 0x4d9834
cmp dword [esp + 0x1f4], 0
je 0x4d9e9a
push esi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x40]
cmp ebx, 2
jb 0x4d9eb1
push eax
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
movq xmm0, qword [esp + 0x278]
mov edx, dword [esp + 0x280]
movq qword [esp + 0x128], xmm0
mov dword [esp + 0x130], edx
cmp dword [esp + 0x12c], edx
jbe 0x4d9f0d
mov eax, dword [esp + 0x128]
test edx, edx
je 0x4d9f16
lea ecx, [edx*8]
lea ebx, [ecx + ecx*4]
push ebx
push eax
push 0
push dword [0x5880e0]
mov esi, edx
call sub.kernel32.dll_HeapReAlloc
mov edx, esi
mov edi, eax
test eax, eax
jne 0x4d9f2d
jmp 0x4dd612
mov edi, dword [esp + 0x128]
jmp 0x4d9f2d
push eax
push 0
push dword [0x5880e0]
mov esi, edx
call sub.kernel32.dll_HeapFree
mov edx, esi
mov edi, 8
mov eax, dword [esp + 0x110]
mov esi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], edx
cmp esi, eax
mov dword [esp + 0x14], eax
jbe 0x4d9f8c
test eax, eax
mov dword [esp + 0x40], edx
je 0x4d9f90
lea eax, [eax*8]
mov dword [esp + 0xc], esi
lea ebx, [eax + eax*2]
push ebx
push ecx
push 0
push dword [0x5880e0]
mov esi, ecx
call sub.kernel32.dll_HeapReAlloc
mov edx, dword [esp + 0x40]
test eax, eax
jne 0x4d9fa7
jmp 0x4dd622
mov eax, ecx
jmp 0x4d9fa7
push ecx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x40]
mov eax, 8
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x40], eax
cmp dword [ecx], 2
jne 0x4d9fec
mov ebx, dword [esp + 0x24]
xor eax, eax
xor esi, esi
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], esi
jmp 0x4da070
test edx, edx
je 0x4da04e
shl edx, 3
xor ebx, ebx
lea esi, [edx + edx*4]
jmp 0x4da007
add ebx, 0x28
cmp esi, ebx
je 0x4da040
cmp dword [edi + ebx + 8], 0
jne 0x4da000
cmp dword [edi + ebx + 0x1c], 0
je 0x4da026
push dword [edi + ebx + 0x18]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
cmp dword [edi + ebx + 0x24], 0
je 0x4da000
push dword [edi + ebx + 0x20]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
jmp 0x4da000
push edi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 0x24]
je 0x4da06a
push dword [esp + 0x40]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
test eax, eax
je 0x4da128
cmp byte [edx + esi + 0x138], 0x47
jne 0x4dc2ae
mov eax, dword [edx + esi + 0x13c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4da13a
mov esi, dword [eax + 8]
xor edi, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], ecx
jmp 0x4da0c8
mov dword [esp + 0x40], ecx
sub ecx, edi
jbe 0x4da117
mov edx, dword [esp + 0x70]
shr ecx, 1
mov eax, 0
add ecx, edi
lea ebx, [ecx + ecx*2]
cmp edx, dword [esi + ebx*8 + 8]
sbb eax, dword [esi + ebx*8 + 0xc]
mov eax, 0
adc al, 0xff
cmp edx, dword [esi + ebx*8]
mov edx, 0
movzx eax, al
sbb edx, dword [esi + ebx*8 + 4]
mov edx, 1
cmovb eax, edx
cmp al, 1
je 0x4da0c0
movzx eax, al
cmp eax, 0xff
jne 0x4da147
inc ecx
mov edi, ecx
mov ecx, dword [esp + 0x40]
sub ecx, edi
ja 0x4da0c8
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2c], 0
jmp 0x4da360
lea eax, [edx + esi + 0x134]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4da0a3
mov dword [esp + 0x2c], 0
jmp 0x4da360
mov edx, dword [esp + 0xc]
mov ecx, dword [esi + ebx*8 + 0x10]
mov eax, dword [edx + 4]
cmp ecx, eax
jae 0x4dc90e
mov eax, dword [edx]
lea edx, [ecx + ecx*4]
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + edx*8 + 8]
lea esi, [eax + edx*8 + 8]
mov dword [esp + 0x2c], esi
cmp ecx, 2
jne 0x4da33c
mov edi, dword [esp + 0x64]
mov eax, dword [eax + edx*8]
xor ecx, ecx
mov edx, dword [edi + 0x10]
cmp byte [edi + 0x29], 8
mov esi, dword [edi + 0x24]
mov dword [esp + 0xbc], eax
sete cl
mov dword [esp + 0xc], edx
sub edx, esi
lea edx, [edx + ecx*8 + 4]
mov dword [esp + 0x40], edx
mov edx, eax
lea eax, [edi + 0xe0]
sub edx, dword [esp + 0x40]
jb 0x4da2b2
cmp esi, edx
jbe 0x4da2b2
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x28], esi
sub esi, edx
mov edi, dword [eax + 0x20]
lea eax, [edi + edx]
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], 0
mov dword [esp + 0x40], eax
je 0x4da2a0
mov esi, dword [esp + 0x28]
mov dword [esp + 0x20], edi
lea ecx, [ecx*8 + 4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
lea eax, [edi + esi]
mov edi, dword [esp + 0xbc]
mov edx, esi
mov dword [esp + 0x10], eax
sub edi, ecx
xor ecx, ecx
sub edi, dword [esp + 0xc]
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x10]
cmp ecx, 0x3f
movzx eax, byte [eax + edi]
jne 0x4da262
cmp al, 2
jae 0x4da606
mov ebx, eax
mov dword [esp + 0x40], eax
mov eax, 0
and bl, 0x7f
movzx esi, bl
xor ebx, ebx
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, eax
or dword [esp + 0xc], ebx
or dword [esp + 0x14], esi
cmp byte [esp + 0x40], 0
jns 0x4da61b
add ecx, 7
inc edi
jne 0x4da24d
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], 0
mov dl, 0x13
mov dword [esp + 0xc], eax
xor edi, edi
jmp 0x4da2d4
mov edi, dword [esp + 0x64]
mov dl, 0x38
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov eax, 1
cmp ecx, 2
jne 0x4da33c
movzx ecx, byte [esp + 0x40]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0xc]
movzx edx, dl
shl edi, 0x10
shl ecx, 8
or ecx, edi
mov edi, dword [esp + 0x94]
or edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0xbc]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 0xc], edi
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x4da35b
mov eax, dword [esp + 0x2c]
cmp byte [eax + 8], 0x47
jne 0x4dc2ae
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x2c], eax
jmp 0x4da360
add dword [esp + 0x2c], 4
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x58]
add eax, 8
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x128]
push eax
call fcn.004b79e0
add esp, 4
cmp byte [esp + 0x128], 0x47
jne 0x4dc2ae
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x40], 2
test eax, eax
je 0x4da56c
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], eax
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], eax
je 0x4da441
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x10], eax
jmp 0x4da3d8
mov dword [esp + 0x10], edx
sub edx, ecx
jbe 0x4da42d
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xc]
shr edx, 1
mov ebx, 0
add edx, ecx
lea edi, [edx + edx*2]
cmp eax, dword [esi + edi*8 + 8]
sbb ebx, dword [esi + edi*8 + 0xc]
mov ebx, 0
adc bl, 0xff
cmp eax, dword [esi + edi*8]
mov eax, 0
movzx ebx, bl
sbb eax, dword [esi + edi*8 + 4]
mov eax, 1
cmovb ebx, eax
cmp bl, 1
je 0x4da3d0
movzx eax, bl
cmp eax, 0xff
jne 0x4da44c
inc edx
mov ecx, edx
mov edx, dword [esp + 0x10]
sub edx, ecx
ja 0x4da3d8
mov eax, dword [esp + 0x18]
test ecx, ecx
cmovne ecx, eax
mov edx, ecx
cmp edx, eax
jb 0x4da458
jmp 0x4da55a
xor edx, edx
cmp edx, eax
jb 0x4da458
jmp 0x4da55a
mov eax, dword [esp + 0x18]
cmp edx, eax
jae 0x4da55a
mov eax, dword [esp + 0xc]
lea ecx, [edx + edx*2]
mov dword [esp + 0x20], ecx
mov edi, dword [eax + ecx*8 + 0x14]
test edi, edi
je 0x4da4f2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], edi
mov eax, dword [eax + ecx*8 + 0x10]
mov dword [esp + 0x1c], eax
xor eax, eax
jmp 0x4da49c
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], edi
sub edi, eax
jbe 0x4da4eb
mov ecx, dword [esp + 0x1c]
shr edi, 1
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x70]
add edi, eax
lea eax, [edi + edi*2]
mov ebx, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
xor eax, eax
mov dword [esp + 0x10], ebx
xor ebx, esi
or ebx, ecx
setne al
cmp dword [esp + 0x10], esi
sbb ecx, 0
mov ecx, 0xff
cmovb eax, ecx
cmp al, 1
je 0x4da490
movzx eax, al
cmp eax, 0xff
jne 0x4da4f4
inc edi
mov eax, edi
mov edi, dword [esp + 0x28]
sub edi, eax
ja 0x4da49c
sub eax, 1
mov edi, eax
jae 0x4da4f4
xor edi, edi
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
inc edx
lea eax, [ecx + esi*8]
lea ecx, [ecx + esi*8 + 0x18]
mov esi, dword [esp + 0x18]
neg esi
nop word [eax + eax]
mov ebx, dword [esp + 0x70]
cmp ebx, dword [eax]
mov ebx, 0
sbb ebx, dword [eax + 4]
jb 0x4da55a
cmp edi, dword [eax + 0x14]
jb 0x4da542
xor edi, edi
cmp edx, dword [esp + 0x18]
mov eax, 0
lea ebx, [esi + edx + 1]
cmovb eax, ecx
inc edx
add ecx, 0x18
cmp ebx, 1
jne 0x4da510
jmp 0x4da55a
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x70]
lea ecx, [edi + edi*2]
cmp edx, dword [eax + ecx*8]
mov edx, 0
sbb edx, dword [eax + ecx*8 + 4]
jae 0x4da5a0
mov eax, 2
mov ebx, dword [esp + 0x24]
cmp eax, 2
je 0x4da56c
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edx
jne 0x4dc4aa
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x90]
cmp eax, 2
je 0x4d8980
jmp 0x4dc5e0
mov edx, dword [eax + ecx*8 + 8]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x68], 0
cmp dword [edi + 4], edx
jbe 0x4da5c9
mov esi, dword [edi]
lea edx, [edx + edx*2]
mov edi, dword [esi + edx*4]
mov edx, dword [esi + edx*4 + 8]
mov dword [esp + 0x68], edi
mov dword [esp + 0x7c], edx
mov edx, dword [eax + ecx*8 + 0x10]
mov ecx, dword [eax + ecx*8 + 0x14]
xor eax, eax
test edx, edx
mov dword [esp + 0x104], edx
mov dword [esp + 0x90], ecx
setne al
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x1b0], edx
mov ebx, dword [esp + 0x24]
cmp eax, 2
jne 0x4da568
jmp 0x4da56c
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], eax
mov dl, 6
xor edi, edi
jmp 0x4da2d4
mov eax, dword [esp + 0x20]
add eax, edx
lea ecx, [edi + eax + 1]
mov eax, dword [esp + 0x14]
not edi
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1f4], edi
or eax, dword [esp + 0xc]
mov eax, dword [esp + 0x64]
je 0x4dd647
mov edi, dword [esp + 0x104]
cmp dword [esp + 0xc], 0
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x104], edi
jne 0x4da67b
mov ecx, dword [esp + 0x14]
dec ecx
cmp ecx, dword [eax + 0xe8]
jae 0x4da67b
mov eax, dword [esp + 0x1c]
imul ecx, ecx, 0x68
add ecx, dword [eax]
jmp 0x4da73d
mov ecx, dword [eax + 0xf0]
test ecx, ecx
mov dword [esp + 0x40], ecx
je 0x4da75c
mov eax, dword [eax + 0xec]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
movzx eax, word [eax + 0x4d6]
mov esi, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x20], eax
imul eax, eax, 0x68
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, ebx
je 0x4da70b
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov edi, dword [eax + esi*8 + 8]
mov eax, dword [eax + esi*8 + 0xc]
mov dword [esp + 0x10], eax
xor eax, dword [esp + 0xc]
mov dword [esp + 0x18], edi
xor edi, edx
or edi, eax
mov eax, dword [esp + 0xc]
setne cl
cmp edx, dword [esp + 0x18]
sbb eax, dword [esp + 0x10]
mov eax, 0xff
cmovb ecx, eax
inc esi
add ebx, 0xffffff98
cmp cl, 1
je 0x4da6b8
movzx eax, cl
test eax, eax
jne 0x4da70f
jmp 0x4da730
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
sub ecx, 1
jb 0x4dba16
mov eax, dword [eax + esi*4 + 0x4d8]
mov dword [esp + 0x28], ecx
jmp 0x4da69b
mov ecx, dword [esp + 0x40]
sub ecx, ebx
mov ebx, dword [esp + 0x24]
add ecx, 0xfffffff0
cmp byte [ecx + 0x62], 1
jne 0x4da74e
mov dword [esp + 0x200], 1
cmp dword [ecx + 8], 0
je 0x4da76d
mov esi, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
jmp 0x4da77c
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], eax
xor edi, edi
mov dl, 0x12
jmp 0x4da2d4
mov esi, dword [ecx + 0xc]
cmp esi, 6
jae 0x4dd6b9
add ecx, 0x10
test esi, esi
je 0x4dadb3
shl esi, 4
mov dword [esp + 0x80], 0
add esi, ecx
mov dword [esp + 0xc], esi
jmp 0x4da7cb
cmp eax, 3
mov edi, esi
je 0x4da8e0
cmp eax, 0x31
jne 0x4da7b8
cmp dword [esp + 0x80], 0
je 0x4da968
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
add ecx, 0x10
cmp ecx, esi
je 0x4dadbe
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov eax, dword [esp + 0x1f8]
mov esi, edi
mov dword [esp + 0x40], ecx
movq qword [esp + 0xa0], xmm1
movq qword [esp + 0x98], xmm0
mov eax, dword [eax + 0x28]
movq qword [esp + 0xc8], xmm1
movq qword [esp + 0xc0], xmm0
lea edi, [esp + 0xc0]
lea ecx, [esp + 0x128]
lea edx, [esp + 0x1f0]
push edi
push eax
call fcn.004b36e0
add esp, 8
mov eax, dword [esp + 0x128]
xor eax, 0x2e
or eax, dword [esp + 0x12c]
je 0x4db038
movzx eax, word [esp + 0x138]
cmp eax, 0x46
jle 0x4da79a
cmp eax, 0x47
mov edi, esi
je 0x4da7aa
cmp eax, 0x6e
je 0x4da86a
cmp eax, 0x2007
jne 0x4da7b8
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x58]
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov eax, dword [esp + 0xc0]
mov dl, 0x45
add eax, 0xffffffe6
cmp eax, 5
ja 0x4dacf5
mov eax, dword [eax*4 + 0x4dd9d0]
add eax, dword [esp + 0x1b4]
jmp eax
cmp dword [esp + 0x80], 0
mov esi, dword [esp + 0xc]
jne 0x4da7bc
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x58]
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov eax, dword [esp + 0xc0]
mov dl, 0x45
add eax, 0xffffffe6
cmp eax, 5
ja 0x4dad2d
mov eax, dword [eax*4 + 0x4dd9b8]
add eax, dword [esp + 0x1b4]
jmp eax
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x128]
call fcn.004b4d90
mov edx, dword [esp + 0xc0]
lea ecx, [esp + 0x98]
push 0x10
push dword [esp + 0x1ec]
push dword [esp + 0x6c]
push dword [esp + 0xd4]
push dword [esp + 0xd4]
call fcn.004c2550
add esp, 0x14
movzx edx, byte [esp + 0x98]
mov esi, dword [esp + 0xc]
cmp dl, 0x47
jne 0x4dba33
mov eax, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
jmp 0x4dad16
mov eax, dword [esp + 0x80]
cmp dl, 0x47
mov edi, esi
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0xc]
cmove edi, dword [esp + 0x5c]
cmove eax, dword [esp + 0x100]
mov dword [esp + 0x80], eax
jmp 0x4da7bc
mov edi, dword [esp + 0x10]
cmp dl, 0x47
mov eax, 0
mov ebx, dword [esp + 0x24]
cmove eax, dword [esp + 0xf8]
cmove edi, dword [esp + 0x34]
mov dword [esp + 0x80], eax
mov dword [esp + 0x10], edi
jmp 0x4da7bc
mov dword [esp + 0x80], 0
pxor xmm0, xmm0
mov dword [esp + 0x108], 8
mov dword [esp + 0x98], 8
movq qword [esp + 0x10c], xmm0
movq qword [esp + 0x9c], xmm0
lea edx, [esp + 0x1f0]
lea ecx, [esp + 0x128]
push 0
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x110]
push eax
push dword [esp + 0x1f4]
push dword [esp + 0x74]
push 0
call fcn.004c14b0
add esp, 0x18
movzx edx, byte [esp + 0x128]
cmp dl, 0x47
jne 0x4dafb2
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x94], edi
cmp ecx, 0x15
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
jae 0x4db070
cmp ecx, 2
jb 0x4db8d7
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], 0
lea ecx, [eax - 1]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
lea ecx, [ecx + eax*8 - 0x18]
jmp 0x4daeb8
add edx, ecx
mov esi, edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esi], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
add dword [esp + 0x18], 0xffffffe8
cmp dword [esp + 0x10], 0
je 0x4db8d7
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
dec eax
lea edx, [eax + eax*2]
mov dword [esp + 0x10], eax
lea eax, [esi + edx*8 + 0x18]
mov edi, dword [esi + edx*8 + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esi + edx*8 + 0x28]
cmp eax, edi
mov eax, dword [esi + edx*8]
mov dword [esp + 0x40], eax
mov eax, dword [esi + edx*8 + 4]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xc], eax
jb 0x4daf0c
ja 0x4daea8
mov eax, dword [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, esi
mov esi, dword [esp + 0x40]
cmp dword [eax], esi
mov esi, eax
mov eax, dword [esp + 0x1c]
sbb eax, dword [esp + 0xc]
jae 0x4daea8
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x30]
movsd xmm0, qword [esi]
movq xmm1, qword [esi + 8]
lea edx, [edi + edx*8]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x14]
movsd qword [edx], xmm0
movq qword [edx + 8], xmm1
movq xmm0, qword [esi + 0x10]
mov dword [esp + 0x1c], eax
movq qword [edx + 0x10], xmm0
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x10]
cmp edx, 3
mov edx, dword [esp + 0x18]
jae 0x4daf8a
jmp 0x4dae83
movsd xmm0, qword [eax + 0x10]
movsd qword [ecx + edx + 0x10], xmm0
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq qword [ecx + edx + 8], xmm1
movq qword [ecx + edx], xmm0
add edx, 0x18
je 0x4dae7f
cmp dword [ecx + edx + 0x28], edi
lea eax, [ecx + edx + 0x18]
jb 0x4daf62
ja 0x4dae7f
mov esi, dword [esp + 0x40]
mov ebx, dword [eax + 4]
cmp dword [eax], esi
sbb ebx, dword [esp + 0xc]
mov ebx, dword [esp + 0x24]
jb 0x4daf62
jmp 0x4dae7f
movzx eax, byte [esp + 0x129]
mov esi, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edi, dword [esp + 0x12c]
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], eax
movzx eax, word [esp + 0x12a]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
je 0x4db00d
push dword [esp + 0x98]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x10c], 0
je 0x4da2d4
push dword [esp + 0x108]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x14]
jmp 0x4da2d4
mov edx, dword [esp + 0x130]
mov edi, dword [esp + 0x134]
mov eax, edx
shr eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x18], eax
mov al, dh
mov dword [esp + 0x40], eax
jmp 0x4da2d4
xor ebx, ebx
cmp ecx, 0xaaaaaac
setb al
jae 0x4dd6ea
mov edx, ecx
mov bl, al
shr edx, 1
shl ebx, 3
lea ecx, [edx*8]
lea esi, [ecx + ecx*2]
test esi, esi
js 0x4dd6ea
mov dword [esp + 0x1c8], edx
je 0x4db0cb
mov eax, dword [0x5880e0]
test eax, eax
jne 0x4db0c0
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4dd6de
mov dword [0x5880e0], eax
push esi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
jmp 0x4db0cd
mov eax, ebx
test eax, eax
mov dword [esp + 0x40], eax
je 0x4dd6de
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
pxor xmm0, xmm0
xor edx, edx
mov dword [esp + 0xc0], 4
mov dword [esp + 0x78], 4
movq qword [esp + 0xc4], xmm0
lea ecx, [eax - 0x38]
lea esi, [eax - 0x30]
add eax, 0xffffffe8
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0xfc], esi
jmp 0x4db13c
mov edx, 2
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4db8a7
mov ecx, eax
dec ecx
je 0x4db2bb
lea esi, [ecx + ecx*2]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov edx, eax
mov dword [esp + 0x1c], eax
add eax, 0xfffffffe
lea edx, [eax + eax*2]
mov dword [esp + 0xc], esi
mov esi, dword [ecx + esi*8 + 0x10]
mov edi, dword [ecx + edx*8 + 0x10]
cmp esi, edi
jb 0x4db19e
lea edx, [ecx + edx*8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
ja 0x4db2cd
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
lea ecx, [ecx + edx*8]
mov edx, dword [ecx + 4]
cmp dword [ecx], esi
mov ecx, dword [esp + 0x10]
sbb edx, ecx
jae 0x4db2cd
test eax, eax
mov dword [esp + 0x18], 0
je 0x4db1e9
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
jmp 0x4db1c5
dec eax
add ecx, 0xffffffe8
test eax, eax
je 0x4db1e9
mov edx, edi
mov edi, dword [ecx - 8]
cmp edx, edi
jb 0x4db1bd
ja 0x4db1e5
mov edx, dword [ecx - 0x18]
mov esi, dword [ecx + 4]
mov dword [esp + 0x18], 0
cmp dword [ecx], edx
sbb esi, dword [ecx - 0x14]
jb 0x4db1bd
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov ecx, eax
sub ecx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
jb 0x4dd65d
cmp eax, dword [esp + 0x38]
ja 0x4dd66b
mov esi, dword [esp + 0xc]
cmp esi, 2
jb 0x4db34a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xb8]
mov edx, esi
shr edx, 1
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
lea edi, [edi + ecx*8]
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x138], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x130], xmm1
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
add eax, 0x18
movsd xmm0, qword [esp + 0x138]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x128]
movq xmm1, qword [esp + 0x130]
movq qword [edi + 8], xmm1
movq qword [edi], xmm0
add edi, 0xffffffe8
dec edx
jne 0x4db23f
jmp 0x4db342
mov eax, 1
mov dword [esp + 0x18], 0
jmp 0x4db4f7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x20], 2
lea eax, [eax + eax*2]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov edx, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
sub ecx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
je 0x4db888
mov ecx, dword [esi]
cmp edi, ecx
jb 0x4db33e
mov eax, dword [esi - 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0xc]
add esi, 0xffffffe8
cmp edi, ecx
mov edi, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
lea eax, [eax + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
ja 0x4db2ea
cmp edx, eax
mov edi, ecx
sbb ebx, dword [esp + 0x10]
jae 0x4db2ea
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x18], 0
je 0x4db4e5
mov eax, dword [esp + 0xc]
cmp eax, 9
ja 0x4db4f7
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x38]
ja 0x4dd6a0
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
lea eax, [esi + esi*2]
lea eax, [ecx + eax*8]
mov ecx, esi
not ecx
mov dword [esp + 0x20], eax
add ecx, edx
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
dec edx
sub eax, edx
mov ecx, edx
mov dword [esp + 0x18], edx
jb 0x4dd5cc
cmp eax, 2
mov dword [esp + 0xc], eax
jb 0x4db4bb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 0x28]
mov edi, dword [edx + 0x10]
mov ecx, dword [edx]
mov esi, dword [edx + 4]
lea eax, [edx + 0x18]
cmp ebx, edi
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
jb 0x4db3fc
ja 0x4db4bb
mov ecx, dword [esp + 0x10]
mov ebx, dword [eax + 4]
cmp dword [eax], ecx
sbb ebx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jae 0x4db4bb
movsd xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov esi, dword [edx + 0x14]
cmp dword [esp + 0xc], 3
movsd qword [edx], xmm0
movq qword [edx + 8], xmm1
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], esi
movq xmm0, qword [eax + 0x10]
movq qword [edx + 0x10], xmm0
mov edx, dword [esp + 0x88]
jae 0x4db471
jmp 0x4db48c
movsd xmm0, qword [eax + 0x10]
dec edx
movsd qword [ebx + 0x10], xmm0
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq qword [ebx + 8], xmm1
movq qword [ebx], xmm0
mov ebx, eax
je 0x4db48c
cmp dword [ebx + 0x28], edi
lea eax, [ebx + 0x18]
jb 0x4db450
ja 0x4db48a
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 4]
cmp dword [eax], esi
sbb ecx, dword [esp + 0x14]
jb 0x4db450
mov eax, ebx
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x24]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], edx
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x8c]
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edx
cmp dword [esp + 0x18], 0
je 0x4db4eb
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
add dword [esp + 0x20], 0xffffffe8
inc dword [esp + 0x88]
cmp eax, 0xa
jb 0x4db38f
jmp 0x4db4f7
mov eax, dword [esp + 0xc]
jmp 0x4db4f7
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
cmp edx, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
jne 0x4db520
lea ecx, [esp + 0xc0]
call fcn.004b18b0
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
jmp 0x4db524
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], esi
mov dword [esi + edx*8], eax
mov dword [esi + edx*8 + 4], ecx
inc edx
cmp edx, 2
mov dword [esp + 0xc8], edx
jb 0x4db130
cmp dword [esi + edx*8 - 8], 0
lea eax, [edx - 1]
mov dword [esp + 0x8c], eax
je 0x4db5b6
mov ecx, dword [esi + edx*8 - 0xc]
mov esi, dword [esi + eax*8 + 4]
cmp ecx, esi
jbe 0x4db5b6
cmp edx, 3
jb 0x4db12b
lea eax, [edx - 3]
mov dword [esp + 0x1c], eax
mov eax, esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov edi, dword [esi + edx*8 - 0x14]
lea esi, [eax + ecx]
cmp edi, esi
mov dword [esp + 0x10], edi
jbe 0x4db5d2
mov edi, dword [esp + 0x40]
cmp edx, 4
jb 0x4db89d
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x78]
add ecx, eax
cmp dword [esi + edx*8 - 0x1c], ecx
mov ecx, eax
mov eax, dword [esp + 0xc]
jbe 0x4db5da
jmp 0x4db130
cmp edx, 3
jb 0x4db5e2
mov ecx, dword [esp + 0x78]
mov esi, eax
lea ebx, [edx - 3]
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx + eax*8 + 4]
mov ecx, dword [ecx + edx*8 - 0x14]
jmp 0x4db5da
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp ecx, eax
jb 0x4db5e5
lea ebx, [edx - 2]
lea ecx, [ebx + 1]
mov dword [esp + 0x28], edx
mov eax, ecx
mov eax, dword [esp + 0x78]
cmp ecx, edx
mov dword [esp + 0x84], ecx
jae 0x4dc959
mov ecx, dword [eax + ebx*8 + 4]
mov esi, dword [eax + ebx*8]
mov edi, dword [eax + ebx*8 + 8]
add esi, ecx
mov dword [esp + 0x74], ecx
mov ecx, edi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov edx, esi
sub edx, edi
mov dword [esp + 0x10], edx
jb 0x4dd59e
cmp esi, dword [esp + 0x38]
ja 0x4dd5ad
mov edx, dword [eax + ebx*8 + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
lea eax, [eax + eax*2]
mov dword [esp + 0x88], edx
lea ecx, [ecx + eax*8]
lea eax, [edx + edx*2]
lea ebx, [ecx + eax*8]
lea eax, [esi + esi*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
sub eax, edx
cmp eax, edx
jae 0x4db73d
mov dword [esp + 0x6c], eax
lea eax, [eax*8]
mov dword [esp + 0x10], ecx
lea edi, [eax + eax*2]
push edi
push ebx
mov esi, dword [esp + 0x48]
push esi
call sub.msvcrt.dll_memcpy
mov edx, esi
mov esi, dword [esp + 0x94]
add esp, 0xc
add edi, edx
test esi, esi
mov dword [esp + 0xc], edi
jle 0x4db7eb
cmp dword [esp + 0x6c], 0
jle 0x4db7eb
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0xc]
nop dword [eax]
mov esi, dword [ecx - 8]
mov edi, dword [ebx - 8]
lea edx, [ebx - 0x18]
cmp esi, edi
jb 0x4db6f3
mov dword [esp + 0x14], ebx
lea ebx, [ecx - 0x18]
cmp esi, edi
mov dword [esp + 0xc], ebx
ja 0x4db731
mov esi, dword [edx]
mov edi, dword [ecx - 0x14]
mov ebx, dword [esp + 0x14]
cmp dword [ecx - 0x18], esi
sbb edi, dword [edx + 4]
mov edi, dword [esp + 0xc]
mov esi, edi
jae 0x4db6f9
mov edi, ecx
mov ebx, edx
mov esi, edx
movsd xmm0, qword [esi + 0x10]
cmp ebx, dword [esp + 0x10]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jbe 0x4db7f5
mov edx, dword [esp + 0x40]
add eax, 0xffffffe8
mov ecx, edi
cmp edi, edx
ja 0x4db6c0
jmp 0x4db7fb
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, edi
jmp 0x4db6f9
lea eax, [edx*8]
lea esi, [eax + eax*2]
push esi
mov edi, ecx
push ecx
push dword [esp + 0x48]
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x4c]
add esp, 0xc
add esi, edx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x88]
test esi, esi
jle 0x4db7ef
cmp dword [esp + 0x10], esi
jle 0x4db7ef
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*8]
mov dword [esp + 0x10], eax
nop word cs:[eax + eax]
nop
mov eax, dword [ebx + 0x10]
mov ecx, dword [edx + 0x10]
cmp eax, ecx
jb 0x4db7a8
ja 0x4db7b1
mov eax, dword [edx]
mov ecx, dword [ebx + 4]
cmp dword [ebx], eax
sbb ecx, dword [edx + 4]
jae 0x4db7b1
mov eax, edx
lea ecx, [ebx + 0x18]
mov edx, ebx
jmp 0x4db7b6
lea eax, [edx + 0x18]
mov ecx, ebx
movsd xmm0, qword [edx + 0x10]
cmp eax, dword [esp + 0xc]
lea esi, [edi + 0x18]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
movq qword [edi + 8], xmm1
movq qword [edi], xmm0
jae 0x4db7e7
cmp ecx, dword [esp + 0x10]
mov edi, esi
mov edx, eax
mov ebx, ecx
jb 0x4db790
mov ebx, esi
jmp 0x4db801
mov eax, edx
jmp 0x4db808
mov eax, edx
mov ebx, edi
jmp 0x4db808
mov eax, dword [esp + 0x40]
jmp 0x4db7fd
mov eax, edx
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0xc]
sub ecx, eax
push ecx
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
cmp ecx, edx
jae 0x4dc960
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x20]
sub edx, ecx
lea edx, [edx*8 - 0x10]
add edi, esi
mov esi, dword [esp + 0x78]
mov dword [esi + ecx*8], eax
mov eax, dword [esp + 0x84]
mov dword [esi + ecx*8 + 4], edi
lea eax, [esi + eax*8]
lea ecx, [eax + 8]
push edx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x40]
cmp edx, 1
mov dword [esp + 0xc8], edx
ja 0x4db548
mov edx, 1
jmp 0x4db130
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
jmp 0x4db2c0
mov edx, 3
jmp 0x4db130
cmp dword [esp + 0xc4], 0
je 0x4db8c2
push dword [esp + 0x78]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x38], 2
jb 0x4db8d7
push edi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
cmp edx, eax
mov dword [esp + 0x18], eax
jbe 0x4db928
mov edi, dword [esp + 0x94]
test eax, eax
je 0x4db935
mov esi, eax
mov dword [esp + 0x40], edx
shl esi, 5
push esi
push ecx
push 0
push dword [0x5880e0]
mov dword [esp + 0x1c], ecx
call sub.kernel32.dll_HeapReAlloc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x4db94b
jmp 0x4dd6f1
mov edi, dword [esp + 0x94]
mov dword [esp + 0x10], ecx
jmp 0x4db94b
push ecx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0x10], 8
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
cmp edx, eax
jbe 0x4db99a
test eax, eax
je 0x4db99e
mov esi, eax
lea eax, [eax*8]
mov dword [esp + 0x40], edx
lea eax, [eax + eax*2]
mov dword [esp + 0xc], eax
push eax
push ecx
push 0
push dword [0x5880e0]
mov dword [esp + 0x24], ecx
call sub.kernel32.dll_HeapReAlloc
mov ecx, eax
test eax, eax
jne 0x4db9b3
jmp 0x4dd702
mov esi, eax
jmp 0x4db9b3
mov esi, eax
push ecx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
mov ecx, 8
mov eax, dword [esp + 0x2c]
cmp dword [eax], 2
jne 0x4db9df
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov eax, ecx
mov edx, ecx
mov cl, ch
shr eax, 0x10
mov dword [esp + 0x40], ecx
mov dword [esp + 0xc], eax
xor eax, eax
jmp 0x4da2e4
cmp dword [esp + 0x18], 0
je 0x4db9fb
push dword [esp + 0x10]
push 0
push dword [0x5880e0]
mov edi, ecx
call sub.kernel32.dll_HeapFree
mov ecx, edi
test esi, esi
je 0x4da336
push ecx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
jmp 0x4da336
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], 0
xor edi, edi
mov dl, 0x12
jmp 0x4da2d4
movzx eax, byte [esp + 0x99]
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
movzx eax, word [esp + 0x9a]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
jmp 0x4da2d4
mov dword [esp + 0x14], esi
shl ecx, 0x10
xor esi, esi
mov al, 0x13
xor ebx, ebx
jmp 0x4dbaa6
mov edi, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
mov eax, ebx
mov ebx, dword [esp + 0x204]
mov esi, edi
mov dword [esp + 0x14], ecx
mov ecx, eax
shrd ecx, edi, 0x10
shld esi, eax, 0x18
shr edi, 0x10
mov byte [esp + 0x1d0], al
mov eax, esi
mov esi, dword [esp + 0x14]
mov byte [esp + 0x1d1], al
mov word [esp + 0x1d6], di
shld edi, ecx, 0x10
mov dword [esp + 0x1d2], ecx
mov dword [esp + 0x40], edi
jmp 0x4d946c
mov ecx, 3
mov dword [esp + 0x68], edx
mov dword [esp + 0x128], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x12c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc]
mov eax, 2
add ecx, 0xfffffffd
cmp ecx, 2
cmovb eax, ecx
cmp eax, 1
je 0x4dbcb0
cmp eax, 2
jne 0x4dc28c
lea eax, [esp + 0x144]
mov edi, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x10]
movq xmm0, qword [eax + 0x10]
movq xmm2, qword [eax]
movq xmm1, qword [eax + 8]
mov dword [esp + 0x14c], 2
cmp ecx, edi
movq qword [esp + 0x200], xmm0
movq qword [esp + 0x1f8], xmm1
movq qword [esp + 0x1f0], xmm2
je 0x4dbdf0
lea edi, [ecx - 4]
mov dword [esp + 0x140], edi
mov esi, dword [ecx - 4]
test esi, esi
je 0x4dbdf0
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov ecx, dword [esi]
mov dword [esp + 0x40], 0
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
setne byte [esp + 0x28]
xor ebx, ebx
test edx, edx
setne byte [esp + 0x2c]
or ecx, dword [esi + 4]
je 0x4dbe8f
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x98]
push dword [esp + 0x7c]
call fcn.004b79e0
add esp, 4
cmp byte [esp + 0x98], 0x47
jne 0x4dc3b9
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x4dbe8f
mov edx, dword [esi]
cmp dword [ecx + 4], edx
jbe 0x4dbe8f
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
mov edx, dword [eax + ecx*4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x40], edx
jmp 0x4dbe8f
movsd xmm0, qword [esp + 0x138]
movq xmm2, qword [esp + 0x128]
movsd xmm1, qword [esp + 0x130]
cmp ecx, 2
mov dword [esp + 0x130], 2
movsd qword [esp + 0x200], xmm0
movsd qword [esp + 0x1f8], xmm1
movq qword [esp + 0x1f0], xmm2
jb 0x4dbd08
test edx, edx
je 0x4dbd08
push ebx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
movsd xmm1, qword [esp + 0x1f8]
movq xmm0, qword [esp + 0x1f0]
and esi, 0xffff0000
mov ecx, 2
mov dword [esp + 0x14c], 3
mov dword [esp + 0x40], 3
or esi, ecx
movsd qword [esp + 0xc8], xmm1
movq xmm1, qword [esp + 0x200]
movq qword [esp + 0xc0], xmm0
movq qword [esp + 0xd0], xmm1
movzx eax, si
xor eax, ecx
jne 0x4dc0c0
mov eax, dword [esp + 0x60]
mov ecx, 0
mov dword [esp + 0x1c], esi
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x38]
test eax, eax
mov dword [esp + 0x24], eax
je 0x4dbdc9
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov ebx, edx
jmp 0x4dbd96
mov edx, ebx
sub ebx, ecx
jbe 0x4dbdc9
mov esi, dword [esp + 0x70]
shr ebx, 1
xor eax, eax
add ebx, ecx
cmp dword [edi + ebx*8], esi
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x4dbd90
movzx eax, al
cmp eax, 0xff
jne 0x4dbf10
inc ebx
mov ecx, ebx
mov ebx, edx
sub ebx, ecx
ja 0x4dbd96
mov esi, dword [esp + 0x1c]
sub ecx, 1
mov edx, 0
mov ebx, ecx
jb 0x4dc0c8
mov eax, dword [esp + 0x24]
cmp ebx, eax
jb 0x4dbf20
jmp 0x4dc67e
mov eax, dword [esp + 0x130]
mov dword [esp + 0x10], edi
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [esp + 0x28], ecx
je 0x4dbeff
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 8]
movzx esi, word [ecx + 0x14c]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x4dbe2e
push ebx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
movsd xmm1, qword [esp + 0x1f8]
movq xmm0, qword [esp + 0x1f0]
mov dword [esp + 0x14c], 3
movzx esi, si
mov dword [esp + 0x40], 3
movsd qword [esp + 0xc8], xmm1
movq xmm1, qword [esp + 0x200]
movq qword [esp + 0xc0], xmm0
movq qword [esp + 0xd0], xmm1
mov ecx, 2
movzx eax, si
xor eax, ecx
je 0x4dbd69
jmp 0x4dc0c0
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x28]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
xor eax, eax
mov al, dl
mov dword [esp + 0x40], eax
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], eax
movzx eax, byte [esp + 0x2c]
mov bl, al
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], eax
mov eax, dword [esi + 0xc]
test eax, eax
mov dword [esp + 0x28], eax
je 0x4dc063
mov eax, dword [esi + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x68]
movzx eax, word [eax + 0x14c]
jmp 0x4dc067
mov si, 2
test edx, edx
jne 0x4dbe20
jmp 0x4dbe2e
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp ebx, eax
jae 0x4dc67e
mov edi, dword [edi + ebx*8 + 4]
cmp byte [edi], 0
je 0x4dbfb1
mov edx, dword [edi]
mov eax, edx
lea ecx, [edx - 0x1010101]
not eax
and ecx, eax
test ecx, 0x80808080
je 0x4dc136
test dl, dl
je 0x4dc163
test edx, 0xff00
je 0x4dc183
test edx, 0xff0000
je 0x4dc18f
mov ecx, 3
cmp edx, 0x1000000
jb 0x4dc17c
cmp byte [edi + 4], 0
je 0x4dc1a6
cmp byte [edi + 5], 0
je 0x4dc1f0
cmp byte [edi + 6], 0
je 0x4dc1fc
cmp byte [edi + 7], 0
mov ecx, 8
jne 0x4dc17c
mov ecx, 7
mov edx, edi
jmp 0x4dc0c8
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4dc16c
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, 0
add ebx, dword [edi + 4]
adc eax, 0
jb 0x4dc0c8
xor edi, edi
test eax, eax
jne 0x4dc263
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x14], 0
jne 0x4dc17c
mov edx, dword [eax + 0x10]
mov esi, eax
cmp edx, ebx
setb ah
cmp dword [esi + 0x1c], edx
setb al
add ecx, ebx
xor edi, edi
or al, ah
mov esi, ecx
test al, al
cmovne esi, edi
sub edx, ebx
mov dword [esp + 0x24], edx
je 0x4dc19b
test al, al
jne 0x4dc19b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], esi
lea edx, [esi + eax]
cmp eax, 3
ja 0x4dc1b2
mov ecx, esi
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
je 0x4dc263
nop word cs:[eax + eax]
nop
cmp byte [ecx], 0
je 0x4dc26a
inc ecx
cmp ecx, edx
jb 0x4dc050
jmp 0x4dc263
mov ax, 2
movq xmm0, qword [esp + 0x200]
movq xmm2, qword [esp + 0x1f0]
movq xmm1, qword [esp + 0x1f8]
movzx esi, ax
mov dword [esp + 0x10], edi
movq qword [esp + 0xd0], xmm0
movq qword [esp + 0xc8], xmm1
movq qword [esp + 0xc0], xmm2
mov ecx, 2
movzx eax, si
xor eax, ecx
je 0x4dbd69
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x70]
movq xmm0, qword [esp + 0xd0]
movq xmm2, qword [esp + 0xc0]
movq xmm1, qword [esp + 0xc8]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1f4]
movq qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movq qword [eax], xmm2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x210], ecx
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1f0]
push ecx
push dword [esp + 0x18]
call eax
add esp, 8
mov dword [esp + 0x24], 0
jmp 0x4dbb90
mov eax, edi
mov ecx, 4
and eax, 3
sub ecx, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [edi + ecx], 0
je 0x4dc173
inc ecx
cmp ecx, 8
jne 0x4dc150
mov ecx, 8
jmp 0x4dc17c
xor ecx, ecx
mov edx, edi
jmp 0x4dc0c8
xor edx, edx
jmp 0x4dc0c8
cmp ecx, 9
jae 0x4dd51a
mov edx, edi
jmp 0x4dc0c8
mov ecx, 1
mov edx, edi
jmp 0x4dc0c8
mov ecx, 2
mov edx, edi
jmp 0x4dc0c8
mov esi, dword [esp + 0x1c]
mov edx, edi
jmp 0x4dc0c8
mov ecx, 4
mov edx, edi
jmp 0x4dc0c8
mov eax, dword [esi]
mov ebx, esi
mov esi, eax
add eax, 0xfefefeff
not esi
and eax, esi
test eax, 0x80808080
je 0x4dc208
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x1c]
jle 0x4dc263
nop word [eax + eax]
cmp byte [ecx], 0
je 0x4dc26a
inc ecx
cmp ecx, edx
jb 0x4dc1e0
jmp 0x4dc263
mov ecx, 5
mov edx, edi
jmp 0x4dc0c8
mov ecx, 6
mov edx, edi
jmp 0x4dc0c8
mov ecx, ebx
and ecx, 0xfffffffc
add ecx, 4
cmp dword [esp + 0x24], 8
jb 0x4dc24e
lea esi, [edx - 8]
cmp ecx, esi
ja 0x4dc24e
mov eax, dword [ecx]
mov edi, eax
add eax, 0xfefefeff
not edi
and eax, edi
test eax, 0x80808080
jne 0x4dc24e
mov eax, dword [ecx + 4]
mov edi, eax
add eax, 0xfefefeff
not edi
and eax, edi
test eax, 0x80808080
jne 0x4dc24e
add ecx, 8
cmp ecx, esi
jbe 0x4dc21e
cmp ecx, edx
jae 0x4dc281
mov esi, dword [esp + 0x1c]
sub edx, ecx
xor edi, edi
cmp byte [ecx], 0
je 0x4dc26a
inc ecx
dec edx
jne 0x4dc25a
mov edx, edi
jmp 0x4dc0c8
mov edi, dword [esp + 0x64]
mov eax, 0
sub ecx, edi
cmp ecx, dword [esp + 0x24]
cmova edi, eax
jmp 0x4dc17c
mov esi, dword [esp + 0x1c]
xor edx, edx
jmp 0x4dc0c8
cmp ecx, 2
jb 0x4dc2a3
test edx, edx
je 0x4dc2a3
push ebx
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
test byte [esp + 0x24], 1
je 0x4dc8e4
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x38]
mov ecx, dword [eax + 0x30]
test ebx, ebx
mov dword [esp + 0x40], ebx
je 0x4dc311
xor edi, edi
mov edx, ebx
jmp 0x4dc2d6
mov ebx, edx
sub edx, edi
jbe 0x4dc305
mov esi, dword [esp + 0x70]
shr edx, 1
xor eax, eax
add edx, edi
cmp dword [ecx + edx*8], esi
mov esi, 0xff
setne al
cmovb eax, esi
cmp al, 1
je 0x4dc2d0
movzx eax, al
cmp eax, 0xff
jne 0x4dc31e
inc edx
mov edi, edx
mov edx, ebx
sub edx, edi
ja 0x4dc2d6
sub edi, 1
mov edx, edi
jae 0x4dc31e
jmp 0x4dc8e4
xor edi, edi
sub edi, 1
mov edx, edi
jb 0x4dc8e4
mov eax, dword [esp + 0x40]
cmp edx, eax
jae 0x4dc948
mov eax, dword [ecx + edx*8 + 4]
cmp byte [eax], 0
je 0x4dc3cd
mov edx, dword [eax]
mov ecx, edx
lea esi, [edx - 0x1010101]
not ecx
and esi, ecx
test esi, 0x80808080
je 0x4dc482
test dl, dl
je 0x4dc5d9
test edx, 0xff00
je 0x4dc632
test edx, 0xff0000
je 0x4dc63c
mov ecx, 3
cmp edx, 0x1000000
jb 0x4dc8a5
cmp byte [eax + 4], 0
je 0x4dc692
cmp byte [eax + 5], 0
je 0x4dc82a
cmp byte [eax + 6], 0
je 0x4dc831
cmp byte [eax + 7], 0
mov ecx, 8
jne 0x4dc8a5
mov ecx, 7
jmp 0x4dc8a5
cmp dword [esp + 0x3c], 0
mov ebx, dword [esp + 0xc]
jne 0x4dc295
jmp 0x4dc2a3
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx + 0x18]
test esi, esi
je 0x4dc8e4
mov edx, dword [esp + 0x60]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
add ecx, dword [eax + 4]
adc edx, 0
jb 0x4dc8e4
jne 0x4dc8e4
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x14], 0
jne 0x4dc8e4
mov edi, dword [esp + 0x60]
mov edx, dword [edi + 0x10]
cmp edx, ecx
setb al
cmp dword [edi + 0x1c], edx
setb bl
or bl, al
mov eax, esi
xor esi, esi
add eax, ecx
test bl, bl
cmove esi, eax
sub edx, ecx
je 0x4dc8e4
test bl, bl
jne 0x4dc8e4
lea edi, [esi + edx]
cmp edx, 3
ja 0x4dc7fb
test edx, edx
je 0x4dc8e4
mov ecx, esi
cmp byte [ecx], 0
je 0x4dc89f
inc ecx
cmp ecx, edi
jb 0x4dc44b
jmp 0x4dc8e4
mov eax, dword [esp + 0x24]
mov dword [0x588114], ecx
mov dword [esp + 0x60], ecx
mov dword [0x588118], eax
mov esi, dword [esp + 0x60]
test edi, edi
jne 0x4d8874
jmp 0x4d888d
mov edx, eax
mov ecx, 4
and edx, 3
sub ecx, edx
nop
cmp byte [eax + ecx], 0
je 0x4dc609
inc ecx
cmp ecx, 8
jne 0x4dc490
mov ecx, 8
jmp 0x4dc8a5
mov eax, dword [esp + 0x2c]
pxor xmm0, xmm0
mov dword [esp + 0x128], 4
movq qword [esp + 0x12c], xmm0
mov edi, dword [eax + 0x18]
test edi, edi
je 0x4dc646
mov eax, dword [esp + 0x2c]
xor ebx, ebx
mov dword [esp + 0xc], 4
mov esi, dword [eax + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ebx
mov eax, edi
mov ebx, edi
xor ecx, ecx
mov dword [esp + 0x10], edi
jmp 0x4dc510
mov eax, ebx
mov ebx, eax
sub ebx, ecx
jbe 0x4dc624
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
shr ebx, 1
add ebx, ecx
lea edx, [ebx + ebx*2]
cmp dword [edi + edx*8 + 0x10], esi
ja 0x4dc504
jb 0x4dc54f
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x70]
lea esi, [esi + edx*8]
cmp edi, dword [esi]
mov edi, 0
sbb edi, dword [esi + 4]
jb 0x4dc504
mov ecx, dword [esp + 0x70]
cmp ecx, dword [esi + 8]
mov ecx, 0
sbb ecx, dword [esi + 0xc]
jb 0x4dc55d
inc ebx
mov ecx, ebx
mov ebx, eax
sub ebx, ecx
ja 0x4dc510
jmp 0x4dc624
mov eax, dword [esp + 0x24]
mov esi, dword [eax + edx*8 + 0x14]
cmp esi, dword [esp + 0x14]
jae 0x4dd503
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
cmp edx, dword [esp + 0x12c]
jne 0x4dc59a
lea ecx, [esp + 0x128]
call fcn.004b1950
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x130]
shl esi, 5
mov ecx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0xc], eax
add esi, dword [esp + 0x18]
mov dword [eax + edx*4], esi
lea eax, [ebx + ebx*2]
inc edx
lea ecx, [ecx + eax*8]
mov dword [esp + 0x130], edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
sub ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0x68]
mov edi, ecx
mov ecx, dword [esp + 0x7c]
jne 0x4dc4f4
jmp 0x4dc648
xor ecx, ecx
jmp 0x4dc8a5
mov dword [esp + 0x2c], eax
mov edi, edx
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x1b0]
mov ebx, dword [esp + 0x104]
mov edx, dword [esp + 0x68]
mov ecx, 4
jmp 0x4dbadb
cmp ecx, 9
jb 0x4dc8a5
push 0x5672a8
push 8
push ecx
call fcn.00417f20
add esp, 0xc
ud2
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
jmp 0x4dc648
mov ecx, 1
jmp 0x4dc8a5
mov ecx, 2
jmp 0x4dc8a5
xor ebx, ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x128]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x64]
lea esi, [edi + ebx*4]
mov ebx, edi
add eax, 8
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x12c]
jmp 0x4dbadb
push 0x569524
push eax
push ebx
call fcn.00414b90
add esp, 0xc
jmp 0x4dd740
mov ecx, 4
jmp 0x4dc8a5
cmp dword [esp + 0xc], 0
jne 0x4d8698
mov eax, edi
sub eax, esi
jb 0x4d8698
cmp eax, dword [esp + 0x10]
jb 0x4d8698
mov eax, 8
mul dword [ebx + ecx + 0x74]
mov edx, 0
jo 0x4d8698
cmp eax, dword [esp + 0x10]
ja 0x4d8698
movzx eax, byte [esp + 0x3c]
add dword [esp + 0x10], esi
mov dl, al
adc dword [esp + 0xc], edx
jne 0x4d8698
mov eax, edi
sub eax, dword [esp + 0x10]
jb 0x4d8698
movzx edx, word [ebx + ecx + 6]
mov dword [esp + 0x3c], edx
lea edx, [edx*8]
lea edx, [edx + edx*4]
cmp eax, edx
jb 0x4d8698
mov eax, dword [ebx + ecx + 0xc]
add dword [esp + 0x10], ebx
test eax, eax
mov dword [esp + 0xc], eax
je 0x4dc985
mov eax, dword [ebx + ecx + 0x10]
mov edx, 0x12
mov dword [esp + 0x1c], eax
mul edx
jo 0x4d8698
mov edx, edi
sub edx, dword [esp + 0xc]
jb 0x4d8698
cmp edx, eax
jb 0x4d8698
mov edx, dword [esp + 0xc]
mov esi, eax
add eax, edx
mov dword [esp + 0x14], eax
mov eax, edi
sub eax, dword [esp + 0x14]
setb byte [esp + 0x14]
add esi, edx
mov dword [esp + 0x2c], esi
setb byte [esp + 0x18]
jb 0x4d8698
cmp byte [esp + 0x14], 0
jne 0x4d8698
cmp eax, 4
jb 0x4d8698
movzx eax, byte [esp + 0x18]
xor edx, edx
mov ecx, dword [ebx + ecx + 0x34]
pxor xmm0, xmm0
mov dl, al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x60], edx
mov esi, dword [ebx + eax]
mov dword [esp + 0x128], 4
movq qword [esp + 0x12c], xmm0
add esi, eax
adc edx, 0
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x68], esi
mov dword [esp + 0x7c], edx
je 0x4dd4e5
add dword [esp + 0xc], ebx
mov eax, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x4dd060
mov ecx, dword [esi]
mov ebx, ecx
add ecx, 0xfefefeff
not ebx
and ecx, ebx
test ecx, 0x80808080
je 0x4dc838
test edx, edx
jle 0x4dc8e4
mov ecx, eax
cmp byte [ecx], 0
je 0x4dc89f
inc ecx
cmp ecx, edi
jb 0x4dc81b
jmp 0x4dc8e4
mov ecx, 5
jmp 0x4dc8a5
mov ecx, 6
jmp 0x4dc8a5
mov ecx, esi
mov dword [esp + 0x24], esi
and ecx, 0xfffffffc
add ecx, 4
cmp edx, 8
jb 0x4dc88a
lea esi, [edi - 8]
cmp ecx, esi
mov dword [esp + 0x40], esi
ja 0x4dc88a
mov ebx, dword [ecx]
mov esi, ebx
add ebx, 0xfefefeff
not esi
and ebx, esi
test ebx, 0x80808080
jne 0x4dc88a
mov esi, dword [ecx + 4]
mov ebx, esi
add esi, 0xfefefeff
not ebx
and esi, ebx
test esi, 0x80808080
jne 0x4dc88a
add ecx, 8
cmp ecx, dword [esp + 0x40]
jbe 0x4dc854
mov esi, dword [esp + 0x24]
cmp ecx, edi
jae 0x4dc8e4
sub edi, ecx
cmp byte [ecx], 0
je 0x4dc89f
inc ecx
dec edi
jne 0x4dc894
jmp 0x4dc8e4
sub ecx, esi
cmp ecx, edx
ja 0x4dc8e4
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x70]
mov edx, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x128], edi
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], 3
lea eax, [esp + 0x128]
push eax
push edx
call dword [esi + 0x10]
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x5694c8
push eax
push ebx
call fcn.00414b90
add esp, 0xc
ud2
push 0x5673b8
push ecx
push eax
call fcn.00414b90
add esp, 0xc
ud2
push 0x5673c8
push eax
push ecx
call fcn.00414b90
add esp, 0xc
ud2
mov eax, 0x56708c
jmp 0x4dc932
mov eax, 0x5670ac
mov dword [esp + 0x84], ecx
push eax
push edx
push dword [esp + 0x8c]
call fcn.00414b90
add esp, 0xc
jmp 0x4dd740
push 0x569524
push eax
push edx
call fcn.00414b90
add esp, 0xc
ud2
mov eax, 0x56708c
jmp 0x4dc96c
mov eax, 0x5670ac
mov dword [esp + 0x84], ecx
push eax
push dword [esp + 0x2c]
push dword [esp + 0x8c]
call fcn.00414b90
add esp, 0xc
jmp 0x4dd740
pxor xmm0, xmm0
mov dword [esp + 0x128], 4
mov dword [esp + 0xc], 0
mov esi, 4
mov dword [esp + 0x68], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], 0
movq qword [esp + 0x12c], xmm0
cmp dword [esp + 0x14], 0
mov eax, 0x20
mov ecx, 0x20
je 0x4dc9eb
bsr ecx, dword [esp + 0x14]
xor ecx, 0x1f
sub eax, ecx
mov edx, dword [esp + 0x14]
mov ecx, esi
push eax
push 0
call fcn.004ad7f0
add esp, 8
mov eax, dword [esp + 0x130]
movq xmm0, qword [esp + 0x128]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x2c]
movq qword [esp + 0xe8], xmm0
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xe4], eax
mov edx, 0x517eff
lea ecx, [esp + 0xc0]
push 0xa
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x3c], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
mov edx, eax
mov dword [esp + 0xc], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmove edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x104], edx
cmove ecx, eax
mov dword [esp + 0x3c], ecx
mov edx, 0x517ef0
lea ecx, [esp + 0xc0]
push 0xf
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0xc]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov edx, 0x517eab
lea ecx, [esp + 0xc0]
push 0xd
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x14], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
mov edx, eax
mov dword [esp + 0x18], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmove edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1b0], edx
cmove ecx, eax
mov dword [esp + 0x14], ecx
mov edx, 0x517e9c
lea ecx, [esp + 0xc0]
push 0xf
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
cmove ecx, eax
mov dword [esp + 0x1c], ecx
mov edx, 0x517f69
lea ecx, [esp + 0xc0]
push 0xd
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x28], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
mov edx, eax
mov dword [esp + 0x2c], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmove edx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], edx
cmove ecx, eax
mov dword [esp + 0x28], ecx
mov edx, 0x517f5e
lea ecx, [esp + 0xc0]
push 0xb
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x2c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x60]
cmove ecx, eax
mov dword [esp + 0x60], ecx
mov edx, 0x517f50
lea ecx, [esp + 0xc0]
push 0xe
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x68], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
mov edx, eax
mov dword [esp + 0x7c], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmove edx, ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x8c], edx
cmove ecx, eax
mov dword [esp + 0x68], ecx
mov edx, 0x517f23
lea ecx, [esp + 0xc0]
push 0xb
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x7c]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x64]
cmove ecx, eax
mov dword [esp + 0x64], ecx
mov edx, 0x517f18
lea ecx, [esp + 0xc0]
push 0xb
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x90], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
mov edx, eax
mov dword [esp + 0x20], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmove edx, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x84], edx
cmove ecx, eax
mov dword [esp + 0x90], ecx
mov edx, 0x517f09
lea ecx, [esp + 0xc0]
push 0xf
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0x20]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x78]
cmove ecx, eax
mov dword [esp + 0x78], ecx
mov edx, 0x517e92
lea ecx, [esp + 0xc0]
push 0xa
call fcn.004dd9f0
add esp, 4
mov dword [esp + 0x88], edx
test eax, eax
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
cmovne ecx, eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x88]
cmove ecx, eax
mov dword [esp + 0x88], ecx
mov edx, 0x517e80
lea ecx, [esp + 0xc0]
push 0x12
call fcn.004dd9f0
add esp, 4
mov esi, eax
mov edi, edx
mov edx, str..debug_types.debug_str_offsets.debug_str.debug_rnglists.debug_ranges.debug_pubtypes.debug_pubnames.debug_macro.debug_macinfo.debug_loclists.debug_loc.debug_line_str.debug_line.debug_info.eh_frame_hdr.eh_frame.debug_frame.debug_aranges.debug_addr.debug_abbrev
lea ecx, [esp + 0xc0]
push 0xc
call fcn.004dd9f0
add esp, 4
test esi, esi
mov ecx, str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_sliceiter.rs
movq xmm0, qword [0x566740]
cmove edi, esi
cmove esi, ecx
test eax, eax
cmovne ecx, eax
cmove edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], edi
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], 0
mov byte [esp + 0x19c], 0
movq qword [esp + 0x128], xmm0
mov eax, dword [0x5880e0]
test eax, eax
jne 0x4dcea0
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4dd716
mov dword [0x5880e0], eax
push 0x78
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x4dd716
lea esi, [esp + 0x128]
mov ecx, 0x1e
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x98]
mov edx, eax
call fcn.004bb330
mov eax, dword [esp + 0x98]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x4dd3d0
mov eax, dword [esp + 0xac]
movq xmm0, qword [esp + 0x9c]
movq xmm1, qword [esp + 0xa4]
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x11c], eax
movq qword [esp + 0x114], xmm1
movq qword [esp + 0x10c], xmm0
mov dword [esp + 0x108], ecx
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], edx
mov edx, dword [edx + 0x70]
test edx, edx
je 0x4dd0f6
lock inc dword [edx]
jle 0x4dd724
lea ecx, [esp + 0x128]
call fcn.004bb330
mov eax, dword [esp + 0x128]
test eax, eax
je 0x4dd3c4
mov ecx, dword [esp + 0x13c]
movq xmm0, qword [esp + 0x12c]
movq xmm1, qword [esp + 0x134]
mov edi, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
mov dword [esp + 0xac], ecx
movq qword [esp + 0xa4], xmm1
movq qword [esp + 0x9c], xmm0
mov dword [esp + 0x98], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], edi
mov eax, dword [0x5880e0]
test eax, eax
jne 0x4dcfdb
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4dd728
mov dword [0x5880e0], eax
push 0x20
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x4dd728
movsd xmm0, qword [esp + 0xb0]
mov edi, eax
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0xa0]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x4dd0f8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*8], esi
mov dword [eax + ecx*8 + 4], edx
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
lea ecx, [ecx + edx + 1]
cmp ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jae 0x4dd4d5
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
lea ecx, [ecx + ecx*8]
movzx esi, byte [edx + ecx*2 + 0x11]
movzx edx, word [edx + ecx*2 + 0xe]
and edx, 0x30
mov dword [esp + 0x28], esi
cmp dx, 0x20
jne 0x4dd046
mov edx, dword [esp + 0xc]
movzx edx, word [edx + ecx*2 + 0xc]
test dx, dx
je 0x4dd046
movzx edx, dx
dec edx
cmp edx, dword [esp + 0x3c]
jae 0x4dd52f
mov esi, dword [esp + 0xc]
lea esi, [esi + ecx*2]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x64], esi
mov esi, dword [esi + 8]
add esi, dword [esp + 0x90]
add esi, dword [edx + ecx*8 + 0xc]
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x12c]
jne 0x4dd02b
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x128]
call fcn.004b18b0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x14], ecx
jmp 0x4dd02b
xor edi, edi
test esi, esi
je 0x4dd111
mov ecx, esi
call fcn.004ab6a0
push esi
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
lea ecx, [esp + 0x10c]
mov dword [esp + 0x124], edi
lea eax, [esp + 0xdc]
movsd xmm2, qword [esp + 0x1b8]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x22c], xmm0
movsd xmm0, qword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
movsd qword [esp + 0x234], xmm1
movsd xmm1, qword [esp + 0xc8]
movsd qword [esp + 0x23c], xmm0
movsd xmm0, qword [esp + 0xc0]
mov dword [esp + 0x244], ecx
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x1d0], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x214], xmm1
movsd xmm1, qword [esp + 0x1d8]
movsd qword [esp + 0x1e0], xmm0
movsd xmm0, qword [eax]
movsd qword [esp + 0x134], xmm1
movsd qword [esp + 0x20c], xmm0
movsd xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x21c], xmm0
movsd xmm0, qword [esp + 0x1d0]
mov dword [esp + 0x224], eax
movsd qword [esp + 0x12c], xmm0
movsd xmm0, qword [esp + 0x1e0]
movsd qword [esp + 0x13c], xmm0
movsd xmm0, qword [esp + 0x128]
mov eax, dword [esp + 0x140]
movsd qword [esp + 0x278], xmm0
movsd xmm0, qword [esp + 0x130]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x1c0]
movsd qword [esp + 0x280], xmm0
movsd xmm0, qword [esp + 0x138]
movsd qword [esp + 0x288], xmm0
movsd xmm1, qword [esp + 0x284]
movq xmm0, qword [esp + 0x28c]
movsd xmm3, qword [esp + 0x27c]
movsd qword [esp + 0x1f8], xmm1
movsd xmm1, qword [esp + 0x2a4]
movq qword [esp + 0x200], xmm0
movsd qword [esp + 0x1f0], xmm3
mov dword [esp + 0x250], eax
movsd qword [esp + 0x248], xmm2
mov eax, dword [esp + 0x2ac]
movq xmm2, qword [esp + 0x294]
movsd qword [esp + 0x264], xmm1
movq xmm1, qword [esp + 0x29c]
mov dword [esp + 0x26c], eax
movq qword [esp + 0x254], xmm2
mov eax, dword [esp + 0x3c]
movq qword [esp + 0x25c], xmm1
mov dword [esp + 0x208], ebx
mov ebx, dword [0x58811c]
mov dword [esp + 0x228], eax
cmp ebx, 4
jne 0x4dd339
mov dword [0x58811c], 3
mov eax, 0x198
add eax, dword [0x588114]
push 0x88
push eax
lea eax, [esp + 0x130]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x148], 0
je 0x4dd334
lea ecx, [esp + 0x130]
call fcn.004ac790
mov ebx, 3
lea edi, [esp + 0x130]
lea esi, [esp + 0x1f0]
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
cmp ebx, dword [0x588118]
mov dword [esp + 0x128], eax
jne 0x4dd457
mov eax, ebx
inc eax
je 0x4dd442
lea ecx, [ebx + ebx]
mov esi, 4
cmp ecx, eax
cmova eax, ecx
cmp eax, 5
cmovae esi, eax
xor eax, eax
cmp esi, 0xf0f0f1
mov ecx, esi
setb al
shl ecx, 7
shl eax, 3
lea edx, [ecx + esi*8]
test ebx, ebx
je 0x4dd3f7
mov ecx, dword [0x588114]
mov edi, ebx
shl edi, 7
lea edi, [edi + ebx*8]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], 8
jmp 0x4dd402
lea ecx, [esp + 0x108]
call fcn.004ab6a0
cmp dword [esp + 0xec], 0
je 0x4d8698
push dword [esp + 0xe8]
push 0
push dword [0x5880e0]
call sub.kernel32.dll_HeapFree
jmp 0x4d8698
mov dword [esp + 0xc8], 0
lea edi, [esp + 0xc0]
lea ecx, [esp + 0x98]
push edi
push eax
call fcn.004b1750
add esp, 8
cmp dword [esp + 0x98], 0
mov eax, dword [esp + 0x9c]
je 0x4dd44c
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x80000001
je 0x4dd457
test ecx, ecx
jne 0x4dd736
call fcn.004085b0
jmp 0x4dd740
mov dword [0x588114], eax
mov dword [0x588118], esi
mov esi, dword [0x588114]
test ebx, ebx
je 0x4dd4b0
mov ecx, ebx
lea eax, [esi + 0x88]
shl ecx, 7
lea ecx, [ecx + ebx*8]
push ecx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
push 0x88
lea eax, [esp + 0x12c]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
inc ebx
mov dword [0x58811c], ebx
jne 0x4d88a5
push 0x5694d8
push 0
push 0
call fcn.00414b90
add esp, 0xc
ud2
push 0x88
lea eax, [esp + 0x12c]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [0x58811c], 1
jmp 0x4d88a5
mov esi, dword [esp + 0x128]
mov dword [esp + 0xc], ebx
jmp 0x4dc9d2
mov esi, 4
mov dword [esp + 0x60], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], 0
jmp 0x4dc9d2
push 0x567470
push dword [esp + 0x18]
push esi
call fcn.00414b90
add esp, 0xc
jmp 0x4dd740
push 0x5672a8
push 8
push ecx
call fcn.00417f20
add esp, 0xc
jmp 0x4dd740
cmp dword [esp + 0x12c], 0
je 0x4d8698
push dword [esp + 0x128]
jmp 0x4dd3e5
push 0x5673a8
push eax
push ebx
call fcn.00417f20
add esp, 0xc
ud2
test eax, eax
jne 0x4dd603
call fcn.004085b0
jmp 0x4dd740
mov dword [esp + 0x38], edx
mov eax, 0x56709c
push eax
push dword [esp + 0x24]
push dword [esp + 0x40]
call fcn.00417f20
add esp, 0xc
jmp 0x4dd740
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov eax, 0x56709c
mov dword [esp + 0x14], ecx
jmp 0x4dd5ed
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov eax, 0x56709c
jmp 0x4dd5d5
mov dword [esp + 0x1c], esi
mov eax, 0x56709c
push eax
push dword [esp + 0x3c]
push dword [esp + 0x24]
call fcn.00417f20
add esp, 0xc
jmp 0x4dd740
mov ecx, dword [esp + 0x18]
mov eax, 0x56707c
push eax
push dword [esp + 0x20]
push ecx
call fcn.00417fa0
add esp, 0xc
jmp 0x4dd740
mov eax, 0x56707c
push eax
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.00417fa0
add esp, 0xc
jmp 0x4dd740
push eax
push ecx
call fcn.004085f0
add esp, 8
jmp 0x4dd740
push 8
push ebx
call fcn.004085f0
add esp, 8
jmp 0x4dd740
push 8
push ebx
call fcn.004085f0
add esp, 8
jmp 0x4dd740
push 0x518004
push 5
push edi
call fcn.00417f20
add esp, 0xc
jmp 0x4dd740
push 0x567480
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772library_alloc_srccollections_btreemapentry.rs
call fcn.00414ad0
add esp, 0xc
ud2
mov ecx, dword [esp + 0x18]
mov eax, 0x56706c
jmp 0x4dd5d5
mov eax, 0x56706c
jmp 0x4dd5b6
mov eax, 0x56706c
jmp 0x4dd5ed
mov eax, 0x56706c
jmp 0x4dd575
dec edx
mov eax, 0x56707c
cmp esi, edx
mov dword [esp + 0x14], edx
jae 0x4dd575
jmp 0x4dd5ed
mov esi, dword [esp + 0x18]
mov eax, 0x56707c
dec esi
mov ecx, esi
cmp edx, esi
jae 0x4dd5b6
jmp 0x4dd5d5
push 0x518004
push 5
push esi
call fcn.00417f20
add esp, 0xc
ud2
push ebx
push esi
call fcn.004085f0
add esp, 8
jmp 0x4dd740
call fcn.004085b0
jmp 0x4dd740
push ebx
push esi
call fcn.004085f0
add esp, 8
jmp 0x4dd740
call fcn.004085b0
jmp 0x4dd740
mov edi, dword [esp + 0xc]
push 8
push esi
call fcn.004085f0
add esp, 8
jmp 0x4dd740
mov esi, dword [esp + 0x14]
push 8
push dword [esp + 0x10]
call fcn.004085f0
add esp, 8
jmp 0x4dd740
push 4
push 0x78
call fcn.004085f0
add esp, 8
jmp 0x4dd740
ud2
push 4
push 0x20
call fcn.004085f0
add esp, 8
jmp 0x4dd740
push ecx
push eax
call fcn.004085f0
add esp, 8
ud2