Function at 0x4832f0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
mov edi, dword [ebp + 8]
call 0x483307
pop eax
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x28]
test eax, eax
je 0x483364
mov edx, dword [esi]
lea edi, [esp + 0x198]
mov ecx, edi
push eax
push dword [esi + 4]
call fcn.004865d0
add esp, 8
lea ecx, [esp + 0xe0]
mov edx, edi
call fcn.00487480
movzx eax, byte [esp + 0xe0]
cmp al, 0x4b
jne 0x4835a0
mov ecx, dword [esp + 0xe4]
mov esi, dword [esp + 0x28]
mov edi, dword [ebp + 8]
mov dword [esp + 0x5c], ebx
jmp 0x483380
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x4835e9
lock inc dword [ecx - 8]
jle 0x484760
mov dword [esp + 0x5c], ebx
add ecx, 0xfffffff8
mov edx, dword [edi + 0x20]
cmp byte [esi + 0x70], 0
movq xmm0, qword [edi + 0x10]
movq xmm1, qword [edi + 0x28]
movsd xmm2, qword [edi + 0x20]
movsd xmm3, qword [edi + 0x18]
movsd xmm4, qword [edi]
movsd xmm5, qword [edi + 8]
mov eax, edx
setne bl
movq qword [esp + 0x268], xmm1
movsd qword [esp + 0x260], xmm2
movsd qword [esp + 0x258], xmm3
movq qword [esp + 0x250], xmm0
movsd qword [esp + 0x248], xmm5
movsd qword [esp + 0x240], xmm4
mov dword [esp + 0x288], ecx
mov dword [esp + 0x270], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x284], 0
shr eax, 0x10
cmp ax, 5
setae bh
and edx, 0xff00
xor eax, eax
cmp edx, 0x800
sete al
xor esi, esi
test bl, bh
lea edx, [eax*8 + 8]
lea eax, [eax*8 + 0xc]
cmove edx, esi
cmove eax, esi
mov esi, dword [edi + 8]
xor ebx, ebx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], 0
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x1a8], 0x2f
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x19c], 0
add esi, 0xfffffffd
cmp esi, 2
lea esi, [esp + 0x240]
setb bl
add ecx, 8
mov dword [esp + 0x198], ebx
movq qword [esp + 0x1a0], xmm0
mov eax, dword [esp + 0x258]
mov edi, dword [esp + 0x25c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xcc], 0
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xa0]
call fcn.00481f30
movzx eax, byte [esp + 0xe0]
cmp al, 0x4b
jne 0x483552
lea esi, [esp + 0xe0]
lea edi, [esp + 0xa0]
nop dword [eax + eax]
cmp byte [esp + 0xe1], 0
mov ebx, dword [esp + 0xb0]
je 0x48364f
test ebx, ebx
jne 0x483657
mov ecx, esi
mov edx, edi
call fcn.00481f30
movzx eax, byte [esp + 0xe0]
cmp al, 0x4b
je 0x483520
mov edx, dword [esp + 0x5c]
movzx ecx, byte [esp + 0xe1]
movzx edi, word [esp + 0xe2]
mov esi, dword [esp + 0xe8]
mov byte [edx + 8], al
mov byte [edx + 9], cl
mov ecx, dword [esp + 0xe4]
mov word [edx + 0xa], di
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0xec]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
mov dword [edx + 4], 0
mov dword [edx], 2
jmp 0x484001
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
movzx edi, word [esp + 0xe1]
mov ah, byte [esp + 0xe3]
mov word [ebx + 9], di
mov byte [ebx + 0xb], ah
mov byte [ebx + 8], al
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x10], edx
mov dword [ebx + 4], 0
mov dword [ebx], 2
jmp 0x4840a4
mov edx, dword [esi]
lea ecx, [esp + 0x198]
push 0
push dword [esi + 4]
call fcn.004865d0
add esp, 8
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x198]
call fcn.00487480
movzx eax, byte [esp + 0xa0]
cmp al, 0x4b
jne 0x483aa6
mov ecx, dword [esp + 0xa4]
xor eax, eax
lea edx, [ecx + 8]
lock cmpxchg dword [esi + 0x6c], edx
mov dword [esp + 0x5c], ebx
jne 0x483c31
lock inc dword [ecx]
mov esi, dword [esp + 0x28]
jg 0x483380
jmp 0x484760
test ebx, ebx
je 0x483c10
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
call fcn.00456370
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x160], ebx
movaps xmm0, xmmword [0x4bb450]
mov edi, edx
mov dword [esp + 0x84], 0
mov dword [esp + 0x15c], 0x2e
mov dword [esp + 0x158], 0
mov dword [esp + 0x20], 0
dec edi
mov dword [esp + 0x164], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], edx
add esi, 0x10
movaps xmmword [esp + 0x2b0], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x7c], eax
jmp 0x483724
add esi, 0x10
dec edi
cmp edi, 0xffffffff
je 0x483a29
lea eax, [esi - 0x10]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esp + 0x170]
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0xe0]
lea ebx, [esp + 0x40]
lea edx, [esp + 0x160]
push ebx
push dword [eax + 0x20]
call fcn.0047bea0
add esp, 8
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x483a71
lea edx, [esp + 0xe8]
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], edi
movsd xmm0, qword [edx]
movq xmm1, qword [edx + 8]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
movq qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd qword [esp + 0x180], xmm0
movq qword [esp + 0x188], xmm1
movzx eax, word [esp + 0xf0]
cmp eax, 0x71
jle 0x483840
cmp eax, 0x2130
jg 0x4838a0
add eax, 0xffffff8e
cmp eax, 0x1a
ja 0x483720
mov eax, dword [eax*4 + 0x485634]
add eax, dword [esp + 0x3c]
jmp eax
add eax, 0xfffffffd
cmp eax, 0x18
ja 0x483720
mov eax, dword [eax*4 + 0x4855d0]
add eax, dword [esp + 0x3c]
jmp eax
cmp eax, 0x2131
je 0x4839b0
cmp eax, 0x2132
je 0x4838ee
cmp eax, 0x2133
jne 0x483720
lea ecx, [esp + 0x40]
lea edx, [esp + 0xe0]
call fcn.0047da20
mov eax, dword [esp + 0x40]
xor eax, 0xb
or eax, dword [esp + 0x44]
jne 0x483720
mov eax, dword [esp + 0x48]
mov dword [esp + 0x290], eax
jmp 0x483720
lea ecx, [esp + 0x40]
lea edx, [esp + 0xe0]
call fcn.0047da20
mov eax, dword [esp + 0x40]
xor eax, 0x17
or eax, dword [esp + 0x44]
jne 0x483720
mov eax, dword [esp + 0x48]
mov dword [esp + 0x298], eax
jmp 0x483720
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x7c]
jne 0x483720
lea ecx, [esp + 0x40]
lea edx, [esp + 0xe0]
call fcn.0047da20
mov eax, dword [esp + 0x40]
mov dword [esp + 0x7c], 0
xor eax, 0x2d
or eax, dword [esp + 0x44]
jne 0x483a1c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a0], eax
jmp 0x483720
mov dword [esp + 0x10], 0
jmp 0x483720
mov eax, dword [esp + 0x170]
cmp dword [eax + 0x14], 0
jne 0x483a49
mov ecx, dword [esp + 0x160]
sub ecx, dword [eax]
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], ecx
movdqa xmm1, xmmword [esp + 0x130]
mov ebx, dword [esp + 0x5c]
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x483adf
xor esi, esi
jmp 0x483b2d
lea eax, [esp + 0xe8]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [esp + 0x5c]
movq qword [esp + 0x180], xmm0
movq qword [esp + 0x188], xmm1
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
jmp 0x483c1f
movzx ecx, byte [esp + 0xa3]
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov byte [esp + 0xe3], cl
movzx ecx, word [esp + 0xa1]
mov word [esp + 0xe1], cx
mov ecx, dword [esp + 0xa4]
jmp 0x4835b5
movzx eax, byte [esp + 0x261]
movdqu xmmword [esp + 0x2e8], xmm1
mov edx, dword [esp + 0x28]
lea esi, [esp + 0x2e8]
lea ecx, [esp + 0xa0]
push esi
push dword [esp + 0x290]
push eax
call fcn.0047afc0
add esp, 0xc
xor esi, esi
cmp byte [esp + 0xa0], 0x4b
jne 0x483b26
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
movdqa xmm1, xmmword [esp + 0x2b0]
mov dword [esp + 0x270], esi
mov dword [esp + 0x130], eax
mov dword [esp + 0x274], eax
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x483b79
xor ecx, ecx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x278], 0
je 0x483c6e
jmp 0x483bec
movzx eax, byte [esp + 0x261]
movdqu xmmword [esp + 0x2f8], xmm1
mov edx, dword [esp + 0x28]
lea edi, [esp + 0x2f8]
lea ecx, [esp + 0xa0]
push edi
push dword [esp + 0x290]
push eax
call fcn.0047afc0
add esp, 0xc
xor edi, edi
cmp byte [esp + 0xa0], 0x4b
mov eax, dword [esp + 0xa8]
mov ecx, 0
jne 0x483bcc
mov ecx, dword [esp + 0xa4]
cmp dword [esp + 0x20], 0
mov dword [esp + 0x278], ecx
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x27c], eax
je 0x483c86
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0x98]
sub edx, ecx
jae 0x483c55
xor edx, edx
mov cl, 0x13
mov ebx, eax
jmp 0x483fdc
mov eax, dword [esp + 0x5c]
mov byte [eax + 8], 0x42
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x484001
lock dec dword [ecx]
mov esi, eax
jne 0x483c3d
call fcn.0047b1e0
lock inc dword [esi - 8]
jle 0x484760
add esi, 0xfffffff8
mov ecx, esi
mov esi, dword [esp + 0x28]
jmp 0x483380
add eax, ecx
cmp edx, 4
jae 0x483f9f
mov ebx, eax
xor edx, edx
mov cl, 0x13
shr ebx, 8
jmp 0x483fd0
xor edi, edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 0x2f
jmp 0x483c92
mov dword [esp + 0x7c], eax
mov dword [esp + 0x10], 0x2f
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x98]
xor eax, 0x2f
or eax, dword [esp + 0x1ac]
je 0x483d44
cmp dword [esp + 0x200], 0
je 0x483cd5
push dword [esp + 0x1fc]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x98]
cmp dword [esp + 0x20c], 0
je 0x483cfa
push dword [esp + 0x208]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x98]
cmp dword [esp + 0x218], 0
je 0x483d1f
push dword [esp + 0x214]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x98]
cmp dword [esp + 0x224], 0
je 0x483d44
push dword [esp + 0x220]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x160]
mov dword [esp + 0x1ac], edi
movq xmm1, qword [esp + 0x168]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [esp + 0x170]
mov eax, dword [esp + 0x12c]
movq qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1d0], xmm0
movsd xmm0, qword [esp + 0x178]
movsd qword [esp + 0x1d8], xmm0
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x154]
movsd xmm0, qword [esp + 0x180]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x1f4], eax
movzx eax, byte [esp + 0x26]
mov byte [esp + 0x1f8], al
movzx eax, byte [esp + 0x27]
mov byte [esp + 0x1f9], al
mov eax, dword [esp + 0x7c]
mov word [esp + 0x1fa], ax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x188]
movsd qword [esp + 0x208], xmm0
movsd xmm0, qword [esp + 0x2a0]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x2a8]
movsd qword [esp + 0x220], xmm0
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x22c], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x10c]
mov edx, ecx
xor edx, 0x2e
or edx, dword [esp + 0x158]
mov dword [esp + 0x234], eax
movzx eax, byte [esp + 0x9c]
mov byte [esp + 0x238], al
movzx eax, byte [esp + 0x9f]
mov byte [esp + 0x239], al
movzx eax, byte [esp + 0x63]
mov byte [esp + 0x23a], al
movzx eax, byte [esp + 0x9e]
mov byte [esp + 0x23b], al
movzx eax, byte [esp + 0x9d]
mov byte [esp + 0x23c], al
movzx eax, byte [esp + 0x62]
mov byte [esp + 0x23d], al
jne 0x483f6a
lea eax, [esp + 0x198]
push 0x108
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4840a4
mov eax, ecx
mov dword [esp + 0x5c], ebx
and al, 0x3f
cmp al, 0xc
je 0x4840c1
and ecx, 0x3f
jne 0x4840ec
mov edi, dword [esp + 0x78]
shr edi, 8
xor esi, esi
mov cl, 1
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x3c], 0
jmp 0x48415d
movzx ecx, byte [esp + 0x260]
lea edi, [edx - 4]
lea ebx, [eax + 4]
mov byte [esp + 0x27], 4
mov byte [esp + 0x26], cl
mov ecx, dword [eax]
cmp ecx, 0xffffffef
jbe 0x4840ac
cmp ecx, 0xffffffff
je 0x4841c0
xor ebx, ebx
mov cl, 0x10
xor edx, edx
shld edx, ebx, 8
movzx eax, al
shl ebx, 8
or ebx, eax
shl esi, 8
movzx eax, cl
or eax, esi
mov esi, dword [esp + 0x5c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edx
mov dword [esi + 4], 0
mov dword [esi], 2
mov eax, dword [esp + 0x288]
lock dec dword [eax]
jne 0x484019
mov ecx, dword [esp + 0x288]
call fcn.0047b1e0
mov eax, dword [esp + 0x1a8]
xor eax, 0x2f
or eax, dword [esp + 0x1ac]
je 0x4840a4
cmp dword [esp + 0x200], 0
je 0x48404a
push dword [esp + 0x1fc]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x20c], 0
je 0x484068
push dword [esp + 0x208]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x218], 0
je 0x484086
push dword [esp + 0x214]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x224], 0
je 0x4840a4
push dword [esp + 0x220]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ecx
cmp edi, eax
jae 0x4842a0
xor edx, edx
mov cl, 0x13
mov edi, ebx
jmp 0x483fdc
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x290]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
sub esi, ebx
jae 0x484102
mov al, 0x13
mov dword [esp + 0xa7], ecx
mov dword [esp + 0xab], 0
jmp 0x48411f
mov dword [esp + 0x78], eax
xor esi, esi
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x3c], 0
xor edx, edx
jmp 0x48415d
movzx eax, byte [esp + 0x260]
mov byte [esp + 0x28], al
movzx edi, al
mov eax, dword [esp + 0x78]
mul edi
jno 0x484225
mov al, 0x35
mov dword [esp + 0x28], eax
movzx ecx, byte [esp + 0xaa]
movzx edi, word [esp + 0xa8]
movzx eax, byte [esp + 0xa7]
xor ebx, ebx
mov esi, 1
shl ecx, 0x10
mov dword [esp + 0x78], eax
or edi, ecx
mov ecx, dword [esp + 0xab]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x28]
mov eax, edx
movzx ecx, cl
shl edi, 8
shl eax, 8
or ecx, eax
movzx eax, byte [esp + 0x78]
or eax, edi
or esi, ebx
je 0x484199
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x3c]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x84]
shld edi, edx, 8
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x483ff4
mov ebx, dword [esp + 0x5c]
cmp ecx, 1
jne 0x483f4f
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], ecx
jmp 0x483f4f
cmp edi, 8
jae 0x48427b
mov dword [esp + 0x47], ebx
xor edx, edx
mov cl, 0x13
movzx eax, byte [esp + 0x4a]
movq xmm0, qword [esp + 0x40]
mov byte [esp + 0xaa], al
movzx eax, word [esp + 0x48]
movd esi, xmm0
mov word [esp + 0xa8], ax
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0xab], 0
shufps xmm0, xmm0, 0x55
mov eax, dword [esp + 0xa7]
movd edi, xmm0
shld edi, esi, 8
mov ebx, eax
shr ebx, 8
jmp 0x483fd0
mov edx, esi
add ecx, ebx
sub edx, eax
jb 0x4840d6
dec edi
cmp edi, 7
ja 0x484466
mov ebx, dword [esp + 0x3c]
add ecx, eax
add ebx, dword [edi*4 + 0x4856fc]
jmp ebx
cmp dword [ebx + 4], 0
jne 0x484316
mov edi, dword [ebx]
add eax, 0xc
add edx, 0xfffffff4
mov byte [esp + 0x27], 8
mov ebx, eax
mov eax, edi
mov edi, edx
cmp edi, eax
jb 0x4840b6
cmp eax, 2
mov edi, ebx
jae 0x4842b2
xor edx, edx
mov cl, 0x13
mov ebx, edi
jmp 0x483fdc
movzx edx, word [edi]
mov dword [esp + 0x114], eax
mov eax, edx
add eax, 0xfffffffa
cmp ax, 0xfffc
jae 0x4842d3
movzx ebx, dx
xor edx, edx
mov cl, 0x11
jmp 0x483c0b
mov eax, dword [esp + 0x114]
add edi, 2
cmp dx, 4
mov dword [esp + 0xc], edi
mov edi, edx
lea eax, [eax - 2]
mov dword [esp + 0x110], eax
jbe 0x484321
cmp dword [esp + 0x110], 0
je 0x484392
cmp dword [esp + 0x114], 3
jne 0x48439b
mov edi, ebx
add edi, 3
jmp 0x4842a7
xor ebx, ebx
mov cl, 0x35
xor edx, edx
jmp 0x483fd0
mov eax, dword [esp + 0x110]
mov ebx, dword [esp + 0xc]
cmp ecx, 0xfffffff0
jb 0x48437d
cmp eax, 8
jae 0x48449d
mov dword [esp + 0xa7], ebx
shr ebx, 8
movq xmm0, qword [esp + 0xa0]
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmm1, xmm0
movd eax, xmm0
movzx ecx, byte [esp + 0x2d7]
shufps xmm1, xmm0, 0x55
movd edi, xmm1
shld edi, eax, 8
mov eax, ebx
mov ebx, ecx
mov cl, 0x13
jmp 0x484586
cmp eax, 4
jae 0x4844b5
mov eax, ebx
mov cl, 0x13
shr eax, 8
jmp 0x484586
mov ebx, dword [esp + 0xc]
jmp 0x484560
lea edx, [ebx + 4]
movzx eax, byte [ebx + 2]
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], edx
cmp byte [ebx + 3], 0
mov byte [esp + 0x26], al
je 0x484597
mov cl, 0x41
jmp 0x4845a8
movzx eax, byte [esp + 0x28]
movzx ecx, word [esp + 0xa4]
mov byte [esp + 0xa0], al
movzx eax, byte [esp + 0xa6]
mov edx, dword [esp + 0xa0]
shl eax, 0x10
or ecx, eax
mov al, 0x17
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], eax
jmp 0x484123
cmp dword [ebx + 4], 0
jne 0x484584
mov ecx, dword [ebx]
add ebx, 8
add eax, 0xfffffff8
mov dword [esp + 0x70], ebx
jmp 0x4844c9
lea ecx, [ebx + 4]
add eax, 0xfffffffc
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x70], ecx
mov ecx, dword [ebx]
sub eax, ecx
jb 0x48455c
test ecx, ecx
mov dword [esp + 0x110], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x10c], ecx
je 0x48455c
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
test al, al
mov byte [esp + 0x9f], al
je 0x4845a6
mov eax, dword [esp + 0x10c]
cmp word [esp + 0x7c], 4
mov byte [esp + 0x63], 1
lea ecx, [eax - 1]
mov eax, dword [esp + 0x70]
lea eax, [eax + 1]
jb 0x484548
test ecx, ecx
je 0x4845b5
mov eax, dword [esp + 0x70]
movzx eax, byte [eax + 1]
test al, al
mov byte [esp + 0x63], al
je 0x4845c0
mov eax, dword [esp + 0x10c]
lea ecx, [eax - 2]
mov eax, dword [esp + 0x70]
add eax, 2
test ecx, ecx
je 0x4845b5
lea edx, [eax + 1]
cmp ecx, 1
mov dword [esp + 0x2c], edx
jne 0x4845ad
mov ebx, edx
jmp 0x484560
mov ebx, dword [esp + 0x70]
xor edx, edx
mov cl, 0x13
jmp 0x483c0b
mov cl, 0x35
shl eax, 8
movzx ebx, bl
movd esi, xmm0
xor edx, edx
jmp 0x483fda
mov eax, dword [esp + 0x114]
add eax, 0xfffffffc
jmp 0x484328
mov cl, 0x1a
jmp 0x483fdc
cmp ecx, 2
jne 0x4845c4
add eax, 2
xor edx, edx
mov cl, 0x13
mov ebx, eax
jmp 0x483fdc
mov cl, 0x1b
jmp 0x4845a8
mov dh, byte [eax + 1]
lea edi, [eax + 3]
mov dl, byte [eax]
mov dword [esp + 0x2c], edi
mov byte [esp + 0x9e], dh
mov dh, byte [eax + 2]
test dh, dh
mov byte [esp + 0x9d], dh
je 0x4845fb
test dl, dl
setne byte [esp + 0x9c]
cmp ecx, 3
jne 0x4845ff
mov ebx, edi
jmp 0x484560
mov cl, 0x1c
jmp 0x4845a8
movzx edx, byte [eax + 3]
test dl, dl
mov byte [esp + 0x62], dl
je 0x48463b
movzx ebx, byte [esp + 0x62]
lea edx, [ecx - 4]
lea edi, [eax + 4]
mov dword [esp + 0x12c], edi
dec bl
movzx ebx, bl
sub edx, ebx
mov edi, ebx
mov dword [esp + 0x154], ebx
jae 0x484642
mov ebx, dword [esp + 0x12c]
jmp 0x4840b6
mov cl, 0x1d
jmp 0x4845a8
mov edi, dword [esp + 0x12c]
mov ebx, dword [esp + 0x154]
cmp word [esp + 0x7c], 4
mov dword [esp + 0x118], 8
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
lea edi, [edi + ebx]
mov dword [esp + 0x2c], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x30], edx
ja 0x484764
test edx, edx
je 0x48489e
add eax, ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x58], 8
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0xc]
xor ebx, ebx
cmp byte [edi + ebx], 0
je 0x4846c4
lea ecx, [edi + ebx + 1]
inc ebx
cmp ecx, eax
jne 0x4846b0
jmp 0x48485e
mov eax, ebx
lea ecx, [edi + ebx + 1]
not eax
mov dword [esp + 0x2c], ecx
add edx, eax
test ebx, ebx
mov dword [esp + 0x30], edx
je 0x484b6b
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x11c]
jne 0x484711
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x118]
call fcn.00488620
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x34], edi
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0x10], ecx
mov dword [edx + eax + 4], 0
mov dword [edx + eax], 0x1f
mov dword [edx + eax + 8], edi
mov dword [edx + eax + 0xc], ebx
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], eax
add eax, edx
test edx, edx
jne 0x4846a6
jmp 0x48489e
ud2
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x2c]
call fcn.00487630
movzx eax, byte [esp + 0xa0]
cmp al, 0x4b
mov dword [esp + 0x18], eax
jne 0x484864
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x58], eax
mov dword [esp + 0xdc], edx
test ecx, ecx
je 0x4848c3
mov eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x108], ecx
lea ecx, [edx + eax]
dec eax
inc edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
xor ecx, ecx
mov eax, dword [esp + 0xc]
cmp ecx, 0x3f
movzx eax, byte [eax - 1]
mov byte [esp + 0x20], al
jne 0x484808
cmp byte [esp + 0x20], 2
jae 0x4848d3
movzx ebx, byte [esp + 0x20]
mov eax, 0
mov dh, bl
and dh, 0x7f
movzx edi, dh
xor edx, edx
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, eax
or dword [esp + 0x74], edx
or dword [esp + 0x54], edi
test bl, bl
jns 0x484943
add ecx, 7
inc dword [esp + 0xc]
add dword [esp + 0x10], 0xffffffff
jb 0x4847ec
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0xc], eax
jmp 0x4848c3
mov dword [esp + 0xc], edi
jmp 0x48489e
movzx eax, byte [esp + 0xa3]
movzx esi, word [esp + 0xa1]
mov bl, 1
shl eax, 0x10
or esi, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
jmp 0x4848f0
mov al, 0x13
mov dword [esp + 0x14], 0
mov dword [esp + 0x58], 2
mov dword [esp + 0xdc], 0
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x4848f0
mov al, 0x13
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
jmp 0x4848e9
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov al, 6
mov dword [esp + 0x18], eax
movzx esi, byte [esp + 0x20]
xor ebx, ebx
cmp dword [esp + 0x11c], 0
je 0x48490e
push dword [esp + 0x118]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xdc], 0
sete al
or bl, al
jne 0x48492e
push dword [esp + 0x58]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
jmp 0x483fdc
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
or ecx, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
je 0x484b46
cmp dword [esp + 0x108], 0
je 0x48549b
movzx eax, byte [esp + 0x27]
movzx ecx, byte [esp + 0x26]
mov dword [esp + 0x80], 0
mov dword [esp + 0x64], 8
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x108]
lea eax, [eax*4]
mov dword [esp + 0x104], eax
add dword [esp + 0x6c], 1
mov dword [esp + 0x20], 0x2e
mov dword [esp + 0x10], 0
adc dword [esp + 0x68], 0
xor edi, edi
mov eax, dword [esp + 0x58]
movzx eax, word [eax + edi + 2]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x2c]
push eax
push dword [esp + 0x98]
call fcn.004879c0
add esp, 8
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb4]
or eax, dword [esp + 0xa4]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0xc], ecx
jne 0x484b3a
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp word [eax + edi], 1
cmove edx, dword [esp + 0x14]
cmove ecx, dword [esp + 0xc]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
cmove edx, dword [esp + 0x34]
cmove ecx, dword [esp + 0x18]
add edi, 4
cmp dword [esp + 0x104], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ecx
jne 0x4849de
mov eax, dword [esp + 0x20]
xor eax, 0x2e
or eax, dword [esp + 0x10]
je 0x48549b
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x11c]
jne 0x484adc
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x118]
call fcn.00488620
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x64], eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x20]
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0x80], ecx
mov dword [edx + eax], edi
mov edi, dword [esp + 0x10]
mov dword [edx + eax + 4], edi
mov edi, dword [esp + 0x38]
mov dword [edx + eax + 0xc], edi
mov edi, dword [esp + 0x1c]
mov dword [edx + eax + 8], edi
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x120], ecx
cmp edi, dword [esp + 0x54]
sbb edx, dword [esp + 0x74]
jb 0x4849c2
mov dword [esp + 0x20], 0
jmp 0x484b89
mov esi, dword [esp + 0x18]
shr esi, 8
jmp 0x4848bf
mov dword [esp + 0x40], 8
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
jmp 0x484daa
mov dword [esp + 0x58], 2
mov dword [esp + 0x108], 0
mov dword [esp + 0xdc], 0
cmp word [esp + 0x7c], 5
mov dword [esp + 0x40], 8
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
jae 0x484daa
test esi, esi
mov eax, 0x2e
mov ecx, 0x1f
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x485401
mov ecx, dword [esp + 0xc]
xor edi, edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x54], 8
add ecx, eax
mov edx, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp byte [edx + ebx], 0
je 0x484c1a
mov edx, dword [esp + 0x1c]
lea edx, [edx + ebx + 1]
inc ebx
cmp edx, ecx
jne 0x484bfe
jmp 0x484eeb
mov ecx, ebx
not ecx
add eax, ecx
mov ecx, dword [esp + 0x1c]
test ebx, ebx
lea ecx, [ecx + ebx + 1]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
je 0x485468
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x2c]
push ebx
push dword [esp + 0x20]
call fcn.0047a1b0
add esp, 8
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x94], eax
xor eax, 0x2e
mov dword [esp + 0x74], ecx
mov dword [esp + 0x14], edx
or eax, ecx
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ecx
je 0x485485
lea eax, [esp + 0xb8]
mov ecx, dword [esp + 0x38]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
cmp ecx, dword [esp + 0x44]
movsd qword [esp + 0xf0], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm2
movq qword [esp + 0xe8], xmm1
jne 0x484d05
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x40]
call fcn.0047a4d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
imul edx, ebx, 0x38
inc ebx
mov dword [eax + edx + 4], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x38], ebx
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + edx + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + edx + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + edx + 0x10], ecx
movsd xmm0, qword [esp + 0xe0]
movq xmm1, qword [esp + 0xe8]
movsd qword [eax + edx + 0x18], xmm0
movq qword [eax + edx + 0x20], xmm1
movsd xmm0, qword [esp + 0xf0]
movsd qword [eax + edx + 0x28], xmm0
movq xmm0, qword [esp + 0xf8]
movq qword [eax + edx + 0x30], xmm0
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], ecx
add ecx, eax
test eax, eax
jne 0x484bec
jmp 0x485401
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x2c]
call fcn.00487630
movzx eax, byte [esp + 0xa0]
cmp al, 0x4b
mov dword [esp + 0x18], eax
jne 0x484e9e
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], edx
test ecx, ecx
je 0x484edb
mov eax, ecx
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x10], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x54], ecx
lea ecx, [ebx + eax]
dec eax
inc ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
xor ecx, ecx
movzx eax, byte [ebx - 1]
cmp ecx, 0x3f
mov edx, ebx
mov byte [esp + 0x130], al
jne 0x484e48
cmp byte [esp + 0x130], 2
jae 0x484ef8
movzx eax, byte [esp + 0x130]
xor edi, edi
mov dh, al
and dh, 0x7f
movzx esi, dh
mov edx, 0
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, edx
or dword [esp + 0x74], edi
or dword [esp + 0x10], esi
test al, al
jns 0x484f19
add ecx, 7
inc ebx
add dword [esp + 0x18], 0xffffffff
jb 0x484e28
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0xc], eax
jmp 0x484edb
movzx eax, byte [esp + 0xa3]
movzx esi, word [esp + 0xa1]
mov bl, 1
shl eax, 0x10
or esi, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
jmp 0x48542a
mov al, 0x13
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
jmp 0x484f0a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
jmp 0x485401
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], eax
mov al, 6
mov dword [esp + 0x18], eax
movzx esi, byte [esp + 0x130]
xor ebx, ebx
jmp 0x48542a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
or ecx, dword [esp + 0x74]
mov dword [esp + 0x30], eax
je 0x485384
cmp dword [esp + 0x54], 0
je 0x4854b4
movzx eax, byte [esp + 0x27]
movzx ecx, byte [esp + 0x26]
mov dword [esp + 0x100], 0
mov dword [esp + 0x148], 8
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0
shl eax, 8
lea edi, [eax + ecx + 0x50000]
mov eax, dword [esp + 0x54]
lea eax, [eax*4]
mov dword [esp + 0x130], eax
add dword [esp + 0x150], 1
pxor xmm0, xmm0
mov dword [esp + 0x94], 0x2e
mov dword [esp + 0x104], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
movdqa xmmword [esp + 0x2c0], xmm0
adc dword [esp + 0x14c], 0
xor esi, esi
jmp 0x485047
add esi, 4
cmp dword [esp + 0x130], esi
je 0x48528e
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + esi + 2]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x2c]
push eax
push edi
call fcn.004879c0
add esp, 8
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb0]
or eax, dword [esp + 0xa4]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ecx
jne 0x485421
mov eax, dword [esp + 0x1c]
movzx ecx, word [eax + esi]
dec ecx
cmp ecx, 4
ja 0x485037
mov ecx, dword [ecx*4 + 0x4856a0]
mov eax, dword [esp + 0xc]
add ecx, dword [esp + 0x3c]
shr eax, 8
jmp ecx
mov eax, dword [esp + 0x94]
xor eax, 0x2e
or eax, dword [esp + 0x104]
je 0x4854b4
mov eax, dword [esp + 0x100]
cmp eax, dword [esp + 0x44]
jne 0x4852d8
mov edx, dword [esp + 0x100]
lea ecx, [esp + 0x40]
call fcn.0047a4d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x148], eax
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x148]
mov esi, dword [esp + 0x104]
movdqa xmm0, xmmword [esp + 0x2c0]
imul eax, ecx, 0x38
inc ecx
mov dword [edx + eax + 4], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x100], ecx
mov dword [edx + eax], esi
mov esi, dword [esp + 0x194]
mov dword [edx + eax + 8], esi
mov esi, dword [esp + 0x80]
mov dword [edx + eax + 0xc], esi
mov esi, dword [esp + 0x88]
mov dword [edx + eax + 0x14], esi
mov esi, dword [esp + 0x8c]
mov dword [edx + eax + 0x10], esi
mov esi, dword [esp + 0x90]
mov dword [edx + eax + 0x1c], esi
mov esi, dword [esp + 0x64]
mov dword [edx + eax + 0x18], esi
mov esi, dword [esp + 0x68]
mov dword [edx + eax + 0x24], esi
mov esi, dword [esp + 0x6c]
mov dword [edx + eax + 0x20], esi
mov esi, dword [esp + 0x150]
movdqu xmmword [edx + eax + 0x28], xmm0
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x48], ecx
cmp esi, dword [esp + 0x10]
sbb edx, dword [esp + 0x74]
jb 0x484f90
xor edi, edi
mov dword [esp + 0x10], 0x2e
mov dword [esp + 0x130], 0
movsd xmm0, qword [esp + 0x118]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x5c]
movsd qword [esp + 0x180], xmm0
movq xmm0, qword [esp + 0x40]
add eax, dword [esp + 0x10c]
mov dword [esp + 0x188], edx
mov dword [esp + 0x2a8], ecx
movq qword [esp + 0x2a0], xmm0
pxor xmm0, xmm0
mov dword [esp + 0x70], eax
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x170], xmm0
jmp 0x483c92
mov al, 0x13
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 2
mov dword [esp + 0x38], 0
mov dword [esp + 0x18], eax
jmp 0x485428
mov esi, dword [esp + 0x18]
shr esi, 8
xor ebx, ebx
cmp dword [esp + 0x44], 0
je 0x485442
push dword [esp + 0x40]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x38], 0
sete al
or bl, al
jne 0x4848bf
push dword [esp + 0x1c]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
jmp 0x4848bf
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 2
mov dword [esp + 0x54], 0
jmp 0x485399
mov esi, dword [esp + 0x18]
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 2
jmp 0x485425
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rs
push 0x4c8108
call fcn.004478a0
add esp, 4
jmp 0x4854cb
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rs
push 0x4c80f8
call fcn.004478a0
add esp, 4
ud2