Function at 0x55da20
Capabilities:
Encrypt data using rc4 ksa
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1000
call fcn.00526390
mov ecx, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
test ebx, ebx
je 0x55da56
lea ecx, [ebx - 1]
mov eax, ebx
and eax, 3
cmp ecx, 3
jae 0x55da69
xor ecx, ecx
xor edi, edi
jmp 0x55da95
mov dword [esp + 0x40], 0
mov dword [ecx], 1
jmp SetFilePointerEx
mov edx, ebx
and edx, 0xfffffffc
add esi, 0x30
xor ecx, ecx
xor edi, edi
nop word cs:[eax + eax]
add edi, dword [esi - 0x30]
add edi, dword [esi - 0x20]
add edi, dword [esi - 0x10]
add edi, dword [esi]
add ecx, 4
add esi, 0x40
cmp edx, ecx
jne 0x55da80
test eax, eax
mov esi, dword [ebp + 0xc]
je 0x55daba
shl ecx, 4
add ecx, esi
shl eax, 4
xor edx, edx
nop word cs:[eax + eax]
add edi, dword [ecx + edx]
add edx, 0x10
cmp eax, edx
jne 0x55dab0
mov dword [esp + 8], 0
mov dword [esp + 0x40], 0
test edi, edi
je 0x55dade
push edi
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], edi
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [esp + 0x10], eax
lea edx, [esi + 4]
mov eax, ebx
jmp 0x55db1b
add esi, edi
mov edx, dword [esp + 0x28]
mov edi, dword [edx]
mov eax, 0x1ffffff
and edi, eax
add edi, esi
add edx, 0x10
mov eax, dword [esp + 0x58]
dec eax
je 0x55db87
mov dword [esp + 0x58], eax
mov ecx, dword [ebp + 0x1c]
and edi, ecx
mov esi, dword [edx - 4]
lea eax, [esi + edi]
cmp eax, ecx
mov dword [esp + 0x28], edx
jbe 0x55db5b
mov ebx, dword [esp + 0x10]
sub ebx, edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 8]
add eax, ecx
add edi, dword [ebp + 0x14]
push ebx
push edi
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add dword [esp + 8], ebx
sub esi, ebx
mov ebx, dword [ebp + 0x10]
xor edi, edi
test esi, esi
je 0x55db00
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 8]
add eax, ebx
mov ecx, dword [ebp + 0x14]
add ecx, edi
push esi
push ecx
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add ebx, esi
mov dword [esp + 8], ebx
mov ebx, dword [ebp + 0x10]
jmp 0x55db00
mov ecx, 0xf0f0f0f1
mov esi, dword [esp + 0x34]
mov eax, esi
mul ecx
shr edx, 9
inc edx
cmp esi, 0xd480
mov eax, 0x64
cmovb eax, edx
mov dword [esp + 0x18], eax
test esi, esi
je 0x55dbf9
cmp esi, 0x7f
ja 0x55dc0a
mov esi, dword [ebp + 0x24]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp ecx, eax
jae 0x55f19a
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x55dbd0
test edi, edi
je 0x55f15f
push edi
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov edx, eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x10]
jmp 0x55f161
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x24]
mov dword [ecx], 1
jmp SetFilePointerEx
mov esi, dword [esp + 0x18]
imul eax, esi, 0x410
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov dword [esp + 4], eax
mov eax, esi
and eax, 3
mov dword [esp + 8], eax
xor edi, edi
cmp esi, 4
jb 0x55dd03
mov ebx, dword [esp + 0x18]
and ebx, 0xfffffffc
xor edi, edi
mov esi, dword [esp + 4]
nop word cs:[eax + eax]
push 0x404
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x40c], 0x7ff00000
mov dword [esi + 0x408], 0
lea eax, [esi + 0x410]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x81c], 0x7ff00000
mov dword [esi + 0x818], 0
lea eax, [esi + 0x820]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0xc2c], 0x7ff00000
mov dword [esi + 0xc28], 0
lea eax, [esi + 0xc30]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x103c], 0x7ff00000
mov dword [esi + 0x1038], 0
add edi, 4
add esi, 0x1040
cmp ebx, edi
jne 0x55dc50
mov eax, dword [esp + 8]
test eax, eax
je 0x55dd53
imul esi, edi, 0x410
add esi, dword [esp + 4]
imul edi, eax, 0x410
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0x40c], 0x7ff00000
mov dword [esi + ebx + 0x408], 0
add ebx, 0x410
cmp edi, ebx
jne 0x55dd20
xor ebx, ebx
mov ecx, dword [esp + 0x34]
mov eax, ecx
xor edx, edx
mov edi, dword [esp + 0x18]
div edi
mov dword [esp + 0x28], eax
lea eax, [ecx - 0x47]
mov dword [esp + 8], eax
mov esi, 7
nop word cs:[eax + eax]
mov eax, ebx
imul eax, dword [esp + 0x34]
xor edx, edx
div edi
mov edi, eax
test ebx, ebx
je 0x55dda1
imul esi, esi, 0x41a7
mov eax, esi
xor edx, edx
div dword [esp + 0x28]
add edi, edx
lea eax, [edi + 0x46]
cmp eax, dword [esp + 0x34]
cmovae edi, dword [esp + 8]
imul edx, ebx, 0x410
mov ecx, dword [esp + 4]
lea eax, [ecx + edx]
add edi, dword [esp + 0x40]
add dword [ecx + edx + 0x400], 0x46
mov edx, 0xffffffba
nop dword [eax + eax]
movzx ecx, byte [edi + edx + 0x46]
inc dword [eax + ecx*4]
movzx ecx, byte [edi + edx + 0x47]
inc dword [eax + ecx*4]
add edx, 2
jne 0x55ddd0
inc ebx
mov edi, dword [esp + 0x18]
cmp ebx, edi
jne 0x55dd80
mov eax, dword [esp + 0x34]
and eax, 0x7fffffff
mov ecx, 0xea0ea0eb
mul ecx
shr edx, 5
lea ecx, [edx + edi]
add ecx, 0x63
xor esi, esi
mov eax, ecx
xor edx, edx
div edi
sub ecx, edx
je 0x55df63
mov eax, dword [esp + 0x34]
add eax, 0xffffffbb
mov dword [esp + 8], eax
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
mov dword [esp + 0x28], eax
mov edi, 7
nop word cs:[eax + eax]
push 0x408
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x8f4], 0x7ff00000
mov dword [esp + 0x8f0], 0
imul edi, edi, 0x41a7
mov eax, edi
xor edx, edx
div dword [esp + 8]
add edx, dword [esp + 0x40]
mov dword [esp + 0x8e8], 0x46
mov eax, 0xffffffba
mov ebx, dword [esp + 4]
nop word cs:[eax + eax]
movzx ecx, byte [edx]
inc dword [esp + ecx*4 + 0x4e8]
movzx ecx, byte [edx + 1]
inc dword [esp + ecx*4 + 0x4e8]
add edx, 2
add eax, 2
jne 0x55dea0
xor ecx, ecx
mov eax, esi
xor edx, edx
div dword [esp + 0x18]
imul edx, edx, 0x410
lea eax, [ebx + edx]
add dword [ebx + edx + 0x400], 0x46
mov edx, 0xc
nop dword [eax]
movdqu xmm0, xmmword [esp + edx*4 + 0x4b8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4c8]
lea ebx, [ecx*4]
movdqu xmm2, xmmword [eax + ecx*4]
paddd xmm2, xmm0
movdqu xmm0, xmmword [eax + ecx*4 + 0x10]
paddd xmm0, xmm1
movdqu xmmword [eax + ecx*4], xmm2
movdqu xmmword [eax + ecx*4 + 0x10], xmm0
movdqu xmm0, xmmword [esp + edx*4 + 0x4d8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4e8]
or ebx, 0x20
movdqu xmm2, xmmword [eax + ebx]
paddd xmm2, xmm0
movdqu xmm0, xmmword [eax + ebx + 0x10]
paddd xmm0, xmm1
movdqu xmmword [eax + ebx], xmm2
movdqu xmmword [eax + ebx + 0x10], xmm0
add ecx, 0x10
add edx, 0x10
cmp edx, 0x10c
jne 0x55dee0
inc esi
cmp esi, dword [esp + 0x28]
jne 0x55de40
mov ebx, dword [esp + 0x34]
push ebx
mov edi, dword [ebp + 8]
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x18]
lea esi, [edi + 7]
shr esi, 3
mov eax, edi
shl eax, 0xb
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov dword [esp + 0x1c], eax
lea eax, [edi*8]
push eax
mov eax, dword [ebp + 8]
mov edi, eax
push eax
call fcn.00554f90
add esp, 8
mov dword [esp + 0x58], eax
imul esi, ebx
mov dword [esp + 0x60], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x55dfd6
push esi
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x18]
lea eax, [esi + esi]
push eax
push edi
call fcn.00554f90
add esp, 8
mov edx, eax
mov eax, dword [ebp + 0x20]
cmp dword [eax + 4], 0xb
mov eax, 0xa
mov ecx, 3
cmovge ecx, eax
mov dword [esp + 0x68], ecx
mov eax, ebx
and eax, 0xfffffffe
mov dword [esp + 0x4c], eax
mov eax, ebx
and eax, 3
mov dword [esp + 0x6c], eax
mov eax, ebx
and eax, 0xfffffffc
mov dword [esp + 0x24], eax
mov eax, edx
add eax, 0x10
mov dword [esp + 0x78], eax
lea eax, [ebx - 1]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 4]
lea ecx, [eax + 0x400]
mov dword [esp + 0x74], ecx
add eax, 0x3fc
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 8]
mov dword [esp + 0x54], eax
lea eax, [ebx - 2]
mov dword [esp + 0x7c], eax
mov ebx, esi
mov edi, edx
mov dword [esp + 0x64], edx
jmp 0x55e07f
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
je 0x55e85d
cmp ebx, 1
mov dword [esp + 0x18], ebx
ja 0x55e0a0
push dword [esp + 0x34]
push 0
mov ebx, dword [esp + 0x44]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
jmp 0x55e490
lea eax, [ebx + 7]
shr eax, 3
mov dword [esp + 0x48], eax
mov eax, ebx
shl eax, 0xb
push eax
push 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, dword [esp + 0x28]
add esp, 0xc
xor esi, esi
mov edi, dword [esp + 0x74]
jmp 0x55e118
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0058e124
mov ecx, dword [esp + 0x24]
add esp, 8
fstp qword [esp + 0xd8]
movq xmm0, qword [esp + 0xd8]
movq qword [ecx + esi*8], xmm0
inc esi
add edi, 0x410
cmp ebx, esi
je 0x55e130
mov eax, dword [edi]
cmp eax, 0xff
ja 0x55e0d0
mov edx, dword [0x86baec]
movq xmm0, qword [edx + eax*8]
jmp 0x55e108
cmp ebx, 2
mov eax, 1
cmovae eax, ebx
mov dword [esp + 8], eax
imul edi, ebx, 0x7f8
add edi, ecx
lea eax, [ebx*8]
mov dword [esp + 0x50], eax
neg eax
mov dword [esp + 0x14], eax
mov eax, 0x100
mov ebx, dword [esp + 0x70]
movsd xmm1, qword [0x8b5f98]
jmp 0x55e187
add edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x38]
add ebx, 0xfffffffc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x55e230
dec eax
mov dword [esp + 0x20], eax
xor esi, esi
mov dword [esp + 0x38], ebx
jmp 0x55e206
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
movsd qword [esp + 0x30], xmm2
call fcn.0058e124
movsd xmm2, qword [esp + 0x30]
movsd xmm1, qword [0x8b5f98]
mov ecx, dword [esp + 0x24]
add esp, 8
fstp qword [esp + 0xd0]
movsd xmm0, qword [esp + 0xd0]
subsd xmm2, xmm0
movsd qword [edi + esi*8], xmm2
inc esi
add ebx, 0x410
cmp dword [esp + 8], esi
je 0x55e170
movsd xmm2, qword [ecx + esi*8]
mov eax, dword [ebx]
movapd xmm0, xmm1
test eax, eax
je 0x55e1ec
cmp eax, 0xff
ja 0x55e1a0
mov edx, dword [0x86baec]
movsd xmm0, qword [edx + eax*8]
jmp 0x55e1ec
push dword [esp + 0x50]
push 0
push dword [esp + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x34]
push eax
push 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 8]
and eax, 0xfffffffe
mov dword [esp + 0x20], eax
xor edx, edx
xorpd xmm0, xmm0
movsd xmm4, qword [0x8b5fa0]
movsd xmm5, qword [0x8b5fa8]
movsd xmm6, qword [0x8b5fb0]
movsd xmm7, qword [0x8b5fb8]
jmp 0x55e2a3
addsd xmm0, qword [0x8b5fc8]
inc edx
cmp edx, dword [esp + 0x34]
je 0x55e410
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + edx]
mov dword [esp + 0x28], eax
mov ecx, 0
movapd xmm1, xmm4
mov ebx, dword [esp + 0x18]
cmp ebx, 2
mov esi, dword [esp + 0x3c]
jae 0x55e390
test byte [esp + 8], 1
mov edi, dword [esp + 0x58]
je 0x55e2ff
mov eax, ebx
mov ebx, dword [esp + 0x28]
imul ebx, eax
add ebx, ecx
mov eax, dword [esp + 0x1c]
movsd xmm2, qword [eax + ebx*8]
addsd xmm2, qword [edi + ecx*8]
movsd qword [edi + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x55e2ff
mov byte [esi + edx], cl
movapd xmm1, xmm2
movapd xmm2, xmm5
cmp edx, 0x7cf
ja 0x55e323
movapd xmm2, xmm0
mulsd xmm2, xmm6
divsd xmm2, xmm7
addsd xmm2, qword [0x8b5fc0]
mulsd xmm2, xmm5
mov eax, edx
imul eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
xor ebx, ebx
jmp 0x55e34b
inc ebx
cmp dword [esp + 8], ebx
je 0x55e290
movsd xmm3, qword [edi + ebx*8]
subsd xmm3, xmm1
movsd qword [edi + ebx*8], xmm3
ucomisd xmm3, xmm2
jb 0x55e340
mov ecx, ebx
and cl, 7
mov eax, 1
shl eax, cl
movsd qword [edi + ebx*8], xmm2
mov ecx, ebx
shr ecx, 3
add ecx, dword [esp + 0x28]
mov esi, edx
mov edx, dword [esp + 0x10]
or byte [edx + ecx], al
mov edx, esi
jmp 0x55e340
mov edi, dword [esp + 0x50]
imul edi, dword [esp + 0x28]
add edi, dword [esp + 0x54]
xor ecx, ecx
movapd xmm1, xmm4
jmp 0x55e3bd
add ecx, 2
cmp dword [esp + 0x20], ecx
je 0x55e2c9
movsd xmm2, qword [edi + ecx*8 - 8]
mov eax, dword [esp + 0x58]
addsd xmm2, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x55e3de
mov byte [esi + edx], cl
movapd xmm1, xmm2
movsd xmm2, qword [edi + ecx*8]
addsd xmm2, qword [eax + ecx*8 + 8]
movsd qword [eax + ecx*8 + 8], xmm2
ucomisd xmm1, xmm2
jbe 0x55e3b0
mov eax, ecx
inc al
mov byte [esi + edx], al
movapd xmm1, xmm2
jmp 0x55e3b0
mov eax, dword [esp + 0x44]
test eax, eax
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x64]
je 0x55e490
movzx ecx, byte [ebx + eax]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
imul eax, edx
add eax, dword [esp + 0x10]
neg edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x34]
movdqa xmm0, xmmword [0x8b5fd0]
jmp 0x55e462
mov edi, dword [esp + 0x64]
mov byte [ebx + edx - 2], cl
add eax, dword [esp + 0x48]
dec edx
cmp edx, 1
je 0x55e4a0
movzx esi, cl
mov edi, esi
shr edi, 3
movzx edi, byte [eax + edi]
and esi, 7
bt edi, esi
jae 0x55e450
mov ch, byte [ebx + edx - 2]
xor ebx, ebx
cmp cl, ch
setne bl
add dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x3c]
mov cl, ch
jmp 0x55e450
mov dword [esp + 0x14], 1
movdqa xmm0, xmmword [0x8b5fd0]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x55e55b
xor ecx, ecx
cmp eax, 0x10
jb 0x55e550
lea esi, [eax - 0x10]
mov ecx, esi
shr ecx, 4
inc ecx
mov eax, ecx
and eax, 3
xor edx, edx
cmp esi, 0x30
jb 0x55e517
and ecx, 0xfffffffc
xor edx, edx
nop word cs:[eax + eax]
movdqu xmmword [edi + edx*2], xmm0
movdqu xmmword [edi + edx*2 + 0x10], xmm0
movdqu xmmword [edi + edx*2 + 0x20], xmm0
movdqu xmmword [edi + edx*2 + 0x30], xmm0
movdqu xmmword [edi + edx*2 + 0x40], xmm0
movdqu xmmword [edi + edx*2 + 0x50], xmm0
movdqu xmmword [edi + edx*2 + 0x60], xmm0
movdqu xmmword [edi + edx*2 + 0x70], xmm0
add edx, 0x40
add ecx, 0xfffffffc
jne 0x55e4e0
mov ecx, dword [esp + 0x18]
and ecx, 0xfffffff0
test eax, eax
je 0x55e542
mov esi, dword [esp + 0x78]
lea edx, [esi + edx*2]
shl eax, 5
xor esi, esi
nop
movdqu xmmword [edx + esi - 0x10], xmm0
movdqu xmmword [edx + esi], xmm0
add esi, 0x20
cmp eax, esi
jne 0x55e530
mov eax, dword [esp + 0x18]
jmp 0x55e557
mov word [edi + ecx*2], 0x100
inc ecx
cmp eax, ecx
jne 0x55e550
cmp dword [esp + 0x44], 0
je 0x55e5c0
xor ecx, ecx
mov dword [esp + 8], 0
jmp 0x55e57d
mov eax, dword [esp + 0x24]
add ecx, 2
cmp dword [esp + 0x4c], ecx
je 0x55e5ce
movzx edx, byte [ebx + ecx]
movzx esi, word [edi + edx*2]
cmp esi, 0x100
jne 0x55e59a
mov eax, dword [esp + 8]
mov word [edi + edx*2], ax
inc eax
mov dword [esp + 8], eax
movzx edx, byte [ebx + ecx + 1]
movzx esi, word [edi + edx*2]
cmp esi, 0x100
jne 0x55e570
mov eax, dword [esp + 8]
mov word [edi + edx*2], ax
inc eax
mov dword [esp + 8], eax
jmp 0x55e570
xor ecx, ecx
mov dword [esp + 8], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
test dl, 1
je 0x55e5fc
movzx ecx, byte [ebx + ecx]
movzx edx, word [edi + ecx*2]
cmp edx, 0x100
jne 0x55e5f8
mov eax, dword [esp + 8]
mov word [edi + ecx*2], ax
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
xor ecx, ecx
cmp edx, 4
jb 0x55e649
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [ebx + ecx]
movzx edx, byte [edi + edx*2]
mov byte [ebx + ecx], dl
movzx edx, byte [ebx + ecx + 1]
movzx edx, byte [edi + edx*2]
mov byte [ebx + ecx + 1], dl
movzx edx, byte [ebx + ecx + 2]
movzx edx, byte [edi + edx*2]
mov byte [ebx + ecx + 2], dl
movzx edx, byte [ebx + ecx + 3]
movzx edx, byte [edi + edx*2]
mov byte [ebx + ecx + 3], dl
add ecx, 4
cmp eax, ecx
jne 0x55e610
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x55e670
add ecx, dword [esp + 0x3c]
xor edx, edx
nop word [eax + eax]
movzx esi, byte [ecx + edx]
movzx ebx, byte [edi + esi*2]
mov byte [ecx + edx], bl
inc edx
cmp eax, edx
jne 0x55e660
movzx eax, word [esp + 8]
mov dword [esp + 0x18], eax
test ax, ax
je 0x55e7b3
mov eax, dword [esp + 0x18]
mov ecx, eax
and ecx, 3
mov dword [esp + 8], ecx
xor ebx, ebx
cmp ax, 4
jb 0x55e763
mov edi, dword [esp + 0x18]
and edi, 0xfffffffc
xor ebx, ebx
mov esi, dword [esp + 4]
nop dword [eax + eax]
push 0x404
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x40c], 0x7ff00000
mov dword [esi + 0x408], 0
lea eax, [esi + 0x410]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x81c], 0x7ff00000
mov dword [esi + 0x818], 0
lea eax, [esi + 0x820]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0xc2c], 0x7ff00000
mov dword [esi + 0xc28], 0
lea eax, [esi + 0xc30]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x103c], 0x7ff00000
mov dword [esi + 0x1038], 0
add ebx, 4
add esi, 0x1040
cmp edi, ebx
jne 0x55e6b0
mov eax, dword [esp + 8]
test eax, eax
je 0x55e7b3
imul esi, ebx, 0x410
add esi, dword [esp + 4]
imul edi, eax, 0x410
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push 0x404
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0x40c], 0x7ff00000
mov dword [esi + ebx + 0x408], 0
add ebx, 0x410
cmp edi, ebx
jne 0x55e780
cmp dword [esp + 0x44], 0
je 0x55e820
xor eax, eax
nop dword [eax]
mov ecx, dword [esp + 0x3c]
movzx ecx, byte [ecx + eax]
imul ecx, ecx, 0x410
mov edx, dword [esp + 4]
lea esi, [edx + ecx]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x40]
movzx esi, byte [edi + eax]
mov ebx, dword [esp + 8]
inc dword [ebx + esi*4]
inc dword [edx + ecx + 0x400]
mov ecx, dword [esp + 0x3c]
movzx ecx, byte [ecx + eax + 1]
imul ecx, ecx, 0x410
lea ebx, [edx + ecx]
movzx esi, byte [edi + eax + 1]
inc dword [ebx + esi*4]
inc dword [edx + ecx + 0x400]
add eax, 2
cmp dword [esp + 0x4c], eax
jne 0x55e7c0
jmp 0x55e822
xor eax, eax
test byte [esp + 0x34], 1
mov ebx, dword [esp + 0x18]
je 0x55e060
mov ecx, dword [esp + 0x3c]
movzx ecx, byte [ecx + eax]
imul ecx, ecx, 0x410
mov esi, dword [esp + 4]
lea edx, [esi + ecx]
mov edi, dword [esp + 0x40]
movzx eax, byte [edi + eax]
inc dword [edx + eax*4]
inc dword [esi + ecx + 0x400]
jmp 0x55e060
push ecx
mov esi, eax
mov ebx, edi
mov edi, dword [ebp + 8]
push edi
call fcn.00554fb0
add esp, 8
push esi
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x10]
push edi
call fcn.00554fb0
add esp, 8
push ebx
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 4]
push edi
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x55e8fc
lea esi, [eax*4]
push esi
push edi
mov ebx, eax
call fcn.00554f90
add esp, 8
mov dword [esp + 0x24], eax
push esi
push edi
call fcn.00554f90
add esp, 8
mov ecx, ebx
shl ecx, 4
add ecx, 0x3f0
mov edx, ecx
shr edx, 6
cmp ecx, 0x40
mov dword [esp + 0x1c], eax
jae 0x55e91c
mov dword [esp + 0x6c], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
jmp 0x55e956
mov edi, 0xf
mov dword [esp + 0x24], 0
mov eax, 0x3cf0
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x4c]
jmp 0x55e928
imul eax, edx, 0x410
mov ebx, dword [esp + 0x4c]
mov edi, edx
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x6c], edi
lea eax, [edi*4]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
cmp eax, 0x40
mov ecx, eax
mov eax, 0x40
cmovb eax, ecx
xor edi, edi
mov dword [esp + 0x20], 0
test eax, eax
mov esi, dword [ebp + 8]
je 0x55e988
imul eax, eax, 0x410
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x20], eax
push 0xc018
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x70], eax
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4d0], xmm0
movdqa xmmword [esp + 0x4c0], xmm0
movdqa xmmword [esp + 0x4b0], xmm0
movdqa xmmword [esp + 0x4a0], xmm0
movdqa xmmword [esp + 0x490], xmm0
movdqa xmmword [esp + 0x480], xmm0
movdqa xmmword [esp + 0x470], xmm0
movdqa xmmword [esp + 0x460], xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
movdqa xmmword [esp + 0x3d0], xmm0
movdqa xmmword [esp + 0x3c0], xmm0
movdqa xmmword [esp + 0x3b0], xmm0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
movdqa xmmword [esp + 0x340], xmm0
movdqa xmmword [esp + 0x330], xmm0
movdqa xmmword [esp + 0x320], xmm0
movdqa xmmword [esp + 0x310], xmm0
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movdqa xmmword [esp + 0x2a0], xmm0
movdqa xmmword [esp + 0x290], xmm0
movdqa xmmword [esp + 0x280], xmm0
movdqa xmmword [esp + 0x270], xmm0
movdqa xmmword [esp + 0x260], xmm0
movdqa xmmword [esp + 0x250], xmm0
movdqa xmmword [esp + 0x240], xmm0
movdqa xmmword [esp + 0x230], xmm0
movdqa xmmword [esp + 0x220], xmm0
movdqa xmmword [esp + 0x210], xmm0
movdqa xmmword [esp + 0x200], xmm0
movdqa xmmword [esp + 0x1f0], xmm0
movdqa xmmword [esp + 0x1e0], xmm0
mov eax, dword [esp + 0x14]
lea eax, [eax*4]
push eax
push 0
mov esi, dword [esp + 0x24]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x44], 0
je 0x55ec5d
mov eax, dword [esp + 0x34]
neg eax
mov dword [esp + 8], eax
xor edi, edi
xor ecx, ecx
jmp 0x55ec1b
inc edi
mov ecx, edx
cmp ebx, edx
mov esi, dword [esp + 0x1c]
je 0x55ec5d
inc dword [esi + edi*4]
mov eax, dword [esp + 8]
lea esi, [eax + ecx]
cmp esi, 0xffffffff
je 0x55ec38
mov eax, dword [esp + 0x3c]
movzx edx, byte [eax + ecx]
cmp dl, byte [eax + ecx + 1]
je 0x55ec39
inc edi
mov eax, dword [esp + 0x1c]
inc dword [eax + edi*4]
lea edx, [ecx + 2]
cmp esi, 0xfffffffe
je 0x55ec10
mov eax, dword [esp + 0x3c]
movzx ebx, byte [eax + ecx + 1]
cmp bl, byte [eax + ecx + 2]
mov ebx, dword [esp + 0x4c]
jne 0x55ec10
jmp 0x55ec11
test byte [esp + 0x34], 1
je 0x55ec67
inc dword [esi + edi*4]
mov eax, dword [esp + 0x14]
test eax, eax
mov ebx, dword [esp + 0x20]
je 0x55f09b
mov ecx, dword [esp + 0x24]
lea edx, [ecx + 4]
mov dword [esp + 0x48], 0
mov ecx, eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x44], 0
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], ebx
jmp 0x55ece8
add dword [esp + 0x68], ecx
mov edi, dword [esp + 0x48]
add edi, 0x40
mov ecx, dword [esp + 0x74]
add ecx, 0xffffffc0
add edx, 0x100
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], edi
cmp edi, eax
jae FindFirstVolumeW
mov dword [esp + 0x64], edx
cmp ecx, 0x40
mov edx, eax
mov eax, 0x40
mov dword [esp + 0x74], ecx
cmovb eax, ecx
mov dword [esp + 4], eax
mov ecx, edx
sub ecx, dword [esp + 0x48]
cmp ecx, 0x40
mov eax, 0x40
cmovae ecx, eax
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x55ee30
xor eax, eax
jmp 0x55ed74
mov ecx, dword [esp + 8]
lea esi, [ebx + edi]
add esi, 0x408
push ecx
call fcn.007168c0
add esp, 4
fstp qword [esi]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2e0], eax
mov dword [esp + eax*4 + 0xe0], eax
mov dword [esp + eax*4 + 0x3e0], 1
inc eax
cmp eax, dword [esp + 4]
mov esi, dword [esp + 0x1c]
je 0x55ee30
mov dword [esp + 0x10], eax
imul edi, eax, 0x410
lea eax, [ebx + edi]
push 0x404
push 0
mov dword [esp + 0x10], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [ebx + edi + 0x40c], 0x7ff00000
mov dword [ebx + edi + 0x408], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
add eax, ecx
cmp dword [esi + eax*4], 0
je 0x55ed30
lea ecx, [ebx + edi]
add ecx, 0x400
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edi
mov edx, dword [ebx + edi + 0x400]
inc edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
lea edi, [ecx + eax]
mov eax, esi
xor esi, esi
nop dword [eax + eax]
movzx ebx, byte [edi + esi]
mov ecx, dword [esp + 8]
inc dword [ecx + ebx*4]
lea ebx, [edx + esi]
mov ecx, dword [esp + 0x28]
mov dword [ecx], ebx
inc esi
mov ecx, dword [esp + 0x58]
cmp esi, dword [eax + ecx*4]
jb 0x55edf0
add dword [esp + 0x4c], esi
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x38]
jmp 0x55ed34
push 0x800
push 0x40
mov eax, dword [esp + 0x3c]
push eax
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x2f4]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x3fc]
push eax
push ebx
call fcn.00712f30
add esp, 0x24
mov ecx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], ecx
add eax, ecx
mov edx, dword [esp + 0x54]
cmp edx, eax
jae 0x55eee0
test edx, edx
mov ecx, edx
cmove ecx, eax
mov ebx, ecx
add ecx, ecx
cmp ebx, eax
jb 0x55ee80
test ebx, ebx
je EnumServicesStatusA
imul eax, ebx, 0x410
push eax
push dword [ebp + 8]
call fcn.00554f90
mov edx, dword [esp + 0x5c]
add esp, 8
jmp 0x55eea6
xor eax, eax
mov dword [esp + 0x28], eax
test edx, edx
mov edi, dword [esp + 0x18]
je OpenSCManagerA
imul eax, edx, 0x410
push eax
push edi
push dword [esp + 0x30]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push edi
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov edx, ebx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 8]
add eax, ecx
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
mov dword [esp + 0x54], edx
jae 0x55ef30
test ecx, ecx
cmove ecx, eax
nop dword [eax + eax]
mov ebx, ecx
add ecx, ecx
cmp ebx, eax
jb 0x55ef00
test ebx, ebx
je 0x55ef36
lea eax, [ebx*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov edi, eax
jmp 0x55ef38
mov edi, dword [esp + 0x50]
jmp CancelWaitableTimer
xor edi, edi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x55ef56
shl ecx, 2
push ecx
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [esp + 0x5c]
add esp, 0xc
push eax
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 8]
test ecx, ecx
mov dword [esp + 0x50], edi
je 0x55efff
mov ecx, dword [esp + 0x44]
lea eax, [edi + ecx*4]
mov dword [esp + 0x28], eax
imul edi, dword [esp + 0x60], 0x410
add edi, dword [esp + 0x18]
xor esi, esi
nop word [eax + eax]
mov ebx, dword [esp + esi*4 + 0x2e0]
imul eax, ebx, 0x410
add eax, dword [esp + 0x20]
push 0x410
push eax
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov eax, dword [esp + ebx*4 + 0x3e0]
mov edx, dword [esp + 0x28]
mov dword [edx + esi*4], eax
mov eax, dword [esp + esi*4 + 0x2e0]
mov dword [esp + eax*4 + 0x1e0], esi
inc esi
add edi, 0x410
cmp ecx, esi
jne 0x55efa0
add dword [esp + 0x44], esi
add dword [esp + 0x60], esi
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
cmp dword [esp + 0x34], 0
je 0x55ecc0
xor eax, eax
cmp dword [esp + 4], 1
mov edi, dword [esp + 0x68]
mov ecx, edx
je reloc.KERNEL32.dll_DuplicateHandle
mov eax, dword [esp + 4]
and eax, 0x7e
mov dword [esp + 0x28], eax
xor eax, eax
nop word cs:[eax + eax]
mov edx, dword [esp + eax*4 + 0xe0]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, edi
mov dword [ecx + eax*4 - 4], edx
mov edx, dword [esp + eax*4 + 0xe4]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, edi
mov dword [ecx + eax*4], edx
add eax, 2
cmp dword [esp + 0x28], eax
jne 0x55f030
test byte [esp + 4], 1
mov edx, ecx
mov ecx, dword [esp + 8]
je 0x55ecc0
mov ecx, dword [esp + eax*4 + 0xe0]
mov ecx, dword [esp + ecx*4 + 0x1e0]
add ecx, dword [esp + 0x68]
add eax, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x64]
jmp FindFirstFileW
mov dword [esp + 0x68], 0
push ebx
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
mov ecx, dword [esp + 0x68]
mov eax, ecx
shl eax, 6
mov ebx, ecx
shr ebx, 1
imul ebx, ecx
cmp eax, ebx
cmovb ebx, eax
cmp ebx, 0x801
jb FindNextVolumeW
push dword [esp + 0x70]
push esi
call fcn.00554fb0
add esp, 8
lea eax, [ebx + ebx*2]
lea eax, [eax*8 + 0x18]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x10], 0
mov ecx, FlsSetValue
test esi, esi
je 0x55f36e
mov edi, edx
lea eax, [esi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, eax
xor edx, edx
cmp esi, 8
jb 0x55f360
mov dword [esp + 0x58], ecx
lea ecx, [esi - 8]
mov edx, ecx
shr edx, 3
inc edx
mov eax, edx
and eax, 3
cmp ecx, 0x18
jae GetComputerNameW
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
jmp GetConsoleMode
xor edx, edx
mov dword [esp + 8], edx
test ecx, ecx
mov esi, dword [ebp + 0x24]
je 0x55f17c
push ecx
push dword [esi + 8]
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 8]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 8]
mov dword [esi + 8], eax
mov dword [esi + 0x10], edi
mov edx, dword [esi + 4]
lea eax, [edx + 1]
mov ecx, dword [esi + 0x14]
cmp ecx, eax
jae 0x55f214
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop dword [eax + eax]
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x55f1b0
test edi, edi
je GetCurrentProcessId
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov edx, eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x14]
jmp 0x55f1db
xor edx, edx
mov dword [esp + 8], edx
test ecx, ecx
mov esi, dword [ebp + 0x24]
je GetCurrentThreadId
shl ecx, 2
push ecx
push dword [esi + 0xc]
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 0xc]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], edi
mov edx, dword [esi + 4]
mov dword [esi], 1
mov eax, dword [esi + 8]
mov byte [eax + edx], 0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
mov dword [ecx + eax*4], edx
inc dword [esi + 4]
mov eax, dword [ebp + 8]
jmp SetFilePointerEx
and edx, 0xfffffffc
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
movdqa xmm3, xmmword [0x8b6010]
movdqa xmm4, xmmword [0x8b6020]
movdqa xmm5, xmmword [0x8b6030]
movdqa xmm6, xmmword [0x8b6040]
movdqa xmm7, xmmword [0x8b6050]
movdqa xmm1, xmmword [0x8b6060]
mov edi, dword [esp + 0x58]
nop word [eax + eax]
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b5ff0]
movdqu xmmword [edi + ecx*4], xmm0
movdqu xmmword [edi + ecx*4 + 0x10], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b6000]
movdqu xmmword [edi + ecx*4 + 0x20], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm3
movdqu xmmword [edi + ecx*4 + 0x30], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm4
movdqu xmmword [edi + ecx*4 + 0x40], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm5
movdqu xmmword [edi + ecx*4 + 0x50], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm6
movdqu xmmword [edi + ecx*4 + 0x60], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm7
movdqu xmmword [edi + ecx*4 + 0x70], xmm2
add ecx, 0x20
paddd xmm0, xmm1
add edx, 0xfffffffc
jne GetOverlappedResult
mov edx, esi
and edx, 0xfffffff8
test eax, eax
je 0x55f34e
mov esi, dword [esp + 0x58]
lea ecx, [esi + ecx*4]
add ecx, 0x10
shl eax, 5
xor esi, esi
movdqa xmm1, xmmword [0x8b5ff0]
movdqa xmm2, xmmword [0x8b6000]
nop word cs:[eax + eax]
movdqa xmm3, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + esi - 0x10], xmm0
movdqu xmmword [ecx + esi], xmm3
paddd xmm0, xmm2
add esi, 0x20
cmp eax, esi
jne 0x55f330
mov esi, dword [esp + 0x68]
cmp esi, edx
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
je 0x55f368
nop
mov dword [ecx + edx*4], edx
inc edx
cmp esi, edx
jne 0x55f360
mov eax, dword [esp + 0x14]
mov edx, edi
mov dword [esp + 0x68], esi
push ebx
push 0x100
push eax
push esi
mov esi, dword [esp + 0x80]
push esi
mov dword [esp + 0x6c], ecx
push ecx
mov ebx, dword [esp + 0x3c]
push ebx
mov edi, dword [esp + 0x6c]
push edi
push edx
call fcn.00712f30
add esp, 0x24
mov dword [esp + 0x28], eax
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push edi
mov edi, dword [esp + 0x6c]
push esi
call fcn.00554fb0
add esp, 8
test edi, edi
je GetThreadId
shl edi, 2
push edi
push esi
call fcn.00554f90
add esp, 8
push edi
push 0xff
mov dword [esp + 0x18], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x40]
je 0x55f551
mov dword [esp + GetThreadPriorityx4c], 0
xor edi, edi
mov dword [esp + 0x20], 0
jmp reloc.KERNEL32.dll_GetVersionExA
mov eax, dword [esp + 0x24]
mov dword [eax + edi*4], ebx
mov eax, dword [esp + 0x10]
cmp dword [eax + ebx*4], 0xffffffff
je reloc.KERNEL32.dll_PostQueuedCompletionStatus
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
inc edi
cmp edi, eax
mov ebx, dword [esp + 0x24]
je 0x55f551
push GetVersionExA
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x8f4], 0x7ff00000
mov dword [esp + InitOnceExecuteOncex8f0], 0
mov eax, dword [esp + 0x1c]
cmp dword [eax + edi*4], 0
je 0x55f48c
mov eax, dword [esp + 0x20]
lea ecx, [esi + eax]
xor eax, eax
mov esi, dword [esp + 0x1c]
nop
movzx edx, byte [ecx + eax]
inc dword [esp + edx*4 + 0x4e8]
inc eax
mov dword [esp + 0x8e8], eax
cmp eax, dword [esi + edi*4]
jb InitializeCriticalSection
add dword [esp + 0x20], eax
mov eax, edi
sub eax, 1
mov ecx, 0
cmovb eax, ecx
mov ebx, dword [ebx + eax*4]
imul eax, ebx, 0x410
add eax, dword [esp + 0x18]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00713420
add esp, 8
fstp qword [esp + 0xc8]
cmp dword [esp + 0x28], 0
je reloc.KERNEL32.dll_GetTickCount
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 8], xmm0
xor esi, esi
mov eax, dword [esp + 0x58]
jmp 0x55f4eb
inc esi
cmp dword [esp + 0x28], esi
je reloc.KERNEL32.dll_GetTickCount
imul eax, dword [eax + esi*4], 0x410
add eax, dword [esp + 0x18]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00713420
mov eax, dword [esp + 0x60]
add esp, 8
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 8]
ucomisd xmm1, xmm0
jbe 0x55f4e0
mov ebx, dword [eax + esi*4]
movsd qword [esp + 8], xmm0
jmp 0x55f4e0
mov ecx, dword [esp + 0x4c]
mov dword [eax + ebx*4], ecx
inc ecx
mov dword [esp + 0x4c], ecx
jmp 0x55f415
push dword [esp + 0x58]
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x18]
push esi
call fcn.00554fb0
add esp, 8
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
cmp eax, edx
jae 0x55f5dd
test eax, eax
mov ecx, eax
cmove ecx, edx
nop word cs:[eax + eax]
mov ebx, ecx
add ecx, ecx
cmp ebx, edx
jb 0x55f590
test ebx, ebx
je 0x55f5af
push ebx
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x10]
jmp 0x55f5b1
xor edi, edi
test eax, eax
mov esi, dword [ebp + 0x24]
je ReleaseMutex
push eax
push dword [esi + 8]
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 8]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [esi + 8], edi
mov dword [esi + 0x10], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, edx
jae 0x55f61d
test eax, eax
mov ecx, eax
cmove ecx, edx
nop dword [eax + eax]
mov ebx, ecx
add ecx, ecx
cmp ebx, edx
jb reloc.KERNEL32.dll_ReleaseSemaphore
test ebx, ebx
je 0x560e41
lea eax, [ebx*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x14]
jmp 0x560e43
test edx, edx
mov eax, edx
jne ResetEvent
mov dword [esp + 0x28], 0
xor ecx, ecx
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [edx + 4], eax
movzx eax, cl
inc eax
mov dword [edx], eax
push dword [esp + 0x10]
mov edi, esi
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push edi
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x24]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x3c]
push esi
call fcn.00554fb0
mov eax, esi
add esp, 8
mov ebx, dword [ebp + 0x10]
push dword [esp + 0x40]
push eax
mov esi, eax
call fcn.00554fb0
add esp, 8
xor edi, edi
mov eax, 0
test ebx, ebx
je SetHandleInformation
lea eax, [ebx + ebx]
mov dword [esp + 0x78], eax
push eax
push esi
call fcn.00554f90
add esp, 8
mov edi, eax
xor eax, eax
cmp ebx, 0x10
mov dword [esp + 0x38], edi
jae 0x55f6c4
mov esi, dword [ebp + 0xc]
jmp SetProcessAffinityMask
mov ecx, ebx
shl ecx, 4
mov esi, dword [ebp + 0xc]
add ecx, esi
add ecx, 0xfffffffe
cmp edi, ecx
jae 0x55f6e3
lea ecx, [edi + ebx*2]
lea edx, [esi + 0xc]
cmp edx, ecx
jb 0x55f7b0
mov eax, ebx
and eax, 0xfffffff0
lea ecx, [esi + 0xfc]
xor edx, edx
movd xmm0, dword [ecx - 0x80]
movd xmm1, dword [ecx - 0x90]
punpcklwd xmm1, xmm0
movd xmm0, dword [ecx - 0xa0]
movd xmm2, dword [ecx - 0xb0]
punpcklwd xmm2, xmm0
punpckldq xmm2, xmm1
movd xmm0, dword [ecx - 0xc0]
movd xmm1, dword [ecx - 0xd0]
punpcklwd xmm1, xmm0
movd xmm3, dword [ecx - 0xe0]
movd xmm0, dword [ecx - 0xf0]
punpcklwd xmm0, xmm3
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
movd xmm1, dword [ecx]
movd xmm2, dword [ecx - 0x10]
punpcklwd xmm2, xmm1
movd xmm1, dword [ecx - 0x20]
movd xmm3, dword [ecx - 0x30]
punpcklwd xmm3, xmm1
punpckldq xmm3, xmm2
movd xmm1, dword [ecx - 0x40]
movd xmm2, dword [ecx - 0x50]
punpcklwd xmm2, xmm1
movd xmm1, dword [ecx - 0x60]
movd xmm4, dword [ecx - 0x70]
punpcklwd xmm4, xmm1
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm3
movdqu xmmword [edi + edx*2], xmm0
movdqu xmmword [edi + edx*2 + 0x10], xmm4
add edx, 0x10
add ecx, 0x100
cmp eax, edx
jne SwitchToThread
cmp eax, ebx
je 0x55f83c
mov ecx, eax
not ecx
add ecx, ebx
mov edx, ebx
and edx, 3
mov dword [esp + 8], ecx
je 0x55f7f2
mov edi, esi
mov esi, eax
shl esi, 4
lea ecx, [esi + edi]
add ecx, 0xc
add edx, edx
xor edi, edi
mov esi, dword [esp + 0x38]
nop word cs:[eax + eax]
movzx ebx, word [ecx + edi*8]
mov word [esi + eax*2], bx
inc eax
add edi, 2
cmp edx, edi
jne reloc.KERNEL32.dll_TlsGetValue
jmp 0x55f7f6
mov esi, dword [esp + 0x38]
cmp dword [esp + 8], 3
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
jb 0x55f83c
mov ecx, eax
shl ecx, 4
add ecx, edx
add ecx, 0x3c
nop dword [eax]
movzx edx, word [ecx - 0x30]
mov word [esi + eax*2], dx
movzx edx, word [ecx - 0x20]
mov word [esi + eax*2 + 2], dx
movzx edx, word [ecx - 0x10]
mov word [esi + eax*2 + 4], dx
movzx edx, word [ecx]
mov word [esi + eax*2 + 6], dx
add eax, 4
add ecx, 0x40
cmp ebx, eax
jne 0x55f810
mov ecx, 0xf74e3fc3
mov eax, ebx
mul ecx
shr edx, 9
inc edx
cmp ebx, 0x6784
mov eax, 0x32
cmovb eax, edx
mov dword [esp + 4], eax
test ebx, ebx
je 0x55f8a4
cmp ebx, 0x7f
ja VerSetConditionMask
mov esi, dword [ebp + 0x28]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp ecx, eax
jae 0x560f36
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x55f880
test edi, edi
je VirtualProtect
push edi
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, dword [esi + 0x10]
jmp VirtualQuery
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [ebp + 0x28]
mov dword [ecx], 1
push eax
push esi
call fcn.00554fb0
add esp, 8
jmp 0x56151c
mov esi, dword [esp + 4]
imul eax, esi, 0xb10
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, esi
and eax, 3
mov dword [esp + 8], eax
xor edi, edi
cmp esi, 4
jb 0x55f9b3
mov ebx, dword [esp + 4]
and ebx, 0xfffffffc
xor edi, edi
mov esi, dword [esp + 0x3c]
push 0xb04
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0xb0c], 0x7ff00000
mov dword [esi + 0xb08], 0
lea eax, [esi + 0xb10]
push WideCharToMultiByte
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x161c], 0x7ff00000
mov dword [esi + 0x1618], 0
lea eax, [esi + 0x1620]
push WriteConsoleW
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x212c], 0x7ff00000
mov dword [esi + _strtod_lx2128], 0
lea eax, [esi + 0x2130]
push _strtoi64_l
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x2c3c], 0x7ff00000
mov dword [esi + _ultoax2c38], 0
add edi, 4
add esi, 0x2c40
cmp ebx, edi
jne mbstowcs
mov eax, dword [esp + 8]
test eax, eax
je 0x55fa03
imul esi, edi, 0xb10
add esi, dword [esp + 0x3c]
imul edi, eax, 0xb10
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push 0xb04
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0xb0c], 0x7ff00000
mov dword [esi + ebx + wcstoulxb08], 0
add ebx, 0xb10
cmp edi, ebx
jne reloc.api_ms_win_crt_convert_l1_1_0.dll_wcrtomb_s
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, ecx
xor edx, edx
mov edi, dword [esp + 4]
div edi
mov dword [esp + 0x58], eax
lea eax, [ecx - 0x29]
mov dword [esp + 0x28], eax
mov dword [esp + 8], 7
mov esi, dword [esp + 0x3c]
nop dword [eax]
mov eax, ebx
imul eax, dword [ebp + 0x10]
xor edx, edx
div edi
mov edi, eax
test ebx, ebx
je 0x55fa56
mov eax, dword [esp + 8]
imul eax, eax, 0x41a7
mov dword [esp + 8], eax
xor edx, edx
div dword [esp + 0x58]
add edi, edx
lea eax, [edi + 0x28]
cmp eax, dword [ebp + 0x10]
cmovae edi, dword [esp + 0x28]
imul ecx, ebx, 0xb10
lea eax, [esi + ecx]
mov edx, dword [esp + 0x38]
lea edx, [edx + edi*2]
add dword [esi + ecx + 0xb00], 0x28
xor edi, edi
nop dword [eax + eax]
movzx ecx, word [edx + edi*2]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 2]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 4]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 6]
inc dword [eax + ecx*4]
add edi, 4
cmp edi, 0x28
jne 0x55fa80
inc ebx
mov edi, dword [esp + 4]
cmp ebx, edi
jne 0x55fa30
mov ecx, 0xcccccccd
mov eax, dword [esp + 0x78]
mul ecx
shr edx, 5
lea ecx, [edx + edi]
add ecx, 0x63
xor esi, esi
mov eax, ecx
xor edx, edx
div edi
sub ecx, edx
je _wchmod
mov eax, dword [ebp + 0x10]
add eax, 0xffffffd9
mov dword [esp + 8], eax
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
mov dword [esp + 0x28], eax
mov edi, 7
nop word cs:[eax + eax]
push 0xb08
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xff4], 0x7ff00000
mov dword [esp + _wstat32i64xff0], 0
imul edi, edi, 0x41a7
mov eax, edi
xor edx, edx
div dword [esp + 8]
mov eax, dword [esp + 0x38]
lea eax, [eax + edx*2]
mov dword [esp + 0xfe8], 0x28
mov ecx, 0xffffffd8
mov ebx, dword [esp + 4]
nop word cs:[eax + eax]
movzx edx, word [eax]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 2]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 4]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 6]
inc dword [esp + edx*4 + 0x4e8]
add eax, 8
add ecx, 4
jne reloc.api_ms_win_crt_heap_l1_1_0.dll__aligned_free
mov eax, esi
xor edx, edx
div ebx
imul ecx, edx, 0xb10
mov eax, dword [esp + 0xfe8]
mov edx, dword [esp + 0x3c]
add dword [edx + ecx + 0xb00], eax
xor eax, eax
add ecx, edx
mov edx, 0xc
nop word [eax + eax]
movdqu xmm0, xmmword [esp + edx*4 + 0x4b8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4c8]
lea ebx, [eax*4]
movdqu xmm2, xmmword [ecx + eax*4]
paddd xmm2, xmm0
movdqu xmm0, xmmword [ecx + eax*4 + 0x10]
paddd xmm0, xmm1
movdqu xmmword [ecx + eax*4], xmm2
movdqu xmmword [ecx + eax*4 + 0x10], xmm0
movdqu xmm0, xmmword [esp + edx*4 + 0x4d8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4e8]
or ebx, 0x20
movdqu xmm2, xmmword [ecx + ebx]
paddd xmm2, xmm0
movdqu xmm0, xmmword [ecx + ebx + 0x10]
paddd xmm0, xmm1
movdqu xmmword [ecx + ebx], xmm2
movdqu xmmword [ecx + ebx + 0x10], xmm0
add eax, 0x10
add edx, 0x10
cmp edx, 0x2cc
jne __stdio_common_vsscanf
inc esi
cmp esi, dword [esp + 0x28]
jne 0x55fb00
mov ebx, dword [ebp + 0x10]
push ebx
mov edi, dword [ebp + 8]
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 4]
lea esi, [ebx + 7]
shr esi, 3
imul eax, ebx, 0x1600
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x20], eax
lea eax, [ebx*8]
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x28], eax
imul esi, dword [ebp + 0x10]
mov dword [esp + 0x44], 0
mov dword [esp + _open_osfhandlex10], 0
test esi, esi
je 0x55fcb0
push esi
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x10], eax
lea eax, [ebx + ebx]
push eax
push edi
call fcn.00554f90
add esp, 8
mov ecx, eax
mov eax, dword [ebp + 0x20]
cmp dword [eax + 4], 0xb
mov eax, 0xa
mov edx, 3
cmovge edx, eax
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0x10]
mov ebx, edx
and ebx, 0xfffffffe
mov eax, edx
and eax, 3
mov dword [esp + 0x68], eax
mov eax, edx
and eax, 0xfffffffc
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], ecx
add ecx, 0x10
mov dword [esp + 0x7c], ecx
lea eax, [edx - 1]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 0xb00]
mov dword [esp + 0x6c], ecx
add eax, 0xafc
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 8]
mov dword [esp + 0x64], eax
lea eax, [edx - 2]
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], ebx
jmp 0x55fd5b
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
je reloc.AdbWinApi.dll_AdbCreateInterfaceByName
mov eax, dword [esp + 4]
cmp eax, 1
ja 0x55fd80
push dword [ebp + 0x10]
push 0
push dword [esp + 0x24]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
jmp 0x560190
mov ebx, eax
add eax, 7
shr eax, 3
mov dword [esp + 0x18], eax
imul eax, ebx, 0x1600
push eax
push 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, dword [esp + 0x2c]
add esp, 0xc
xor esi, esi
mov edi, dword [esp + 0x6c]
jmp 0x55fdf8
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0058e124
mov ecx, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0xb8]
movq xmm0, qword [esp + 0xb8]
movq qword [ecx + esi*8], xmm0
inc esi
add edi, 0xb10
cmp ebx, esi
je ___mb_cur_max_func
mov eax, dword [edi]
cmp eax, 0xff
ja 0x55fdb0
mov edx, dword [0x86baec]
movq xmm0, qword [edx + eax*8]
jmp __pctype_func
cmp ebx, 2
mov eax, 1
cmovae eax, ebx
mov dword [esp + 8], eax
imul edi, ebx, 0x15f8
add edi, ecx
lea eax, [ebx*8]
mov dword [esp + 0x14], eax
neg eax
mov dword [esp + 0x24], eax
mov eax, 0x2c0
mov ebx, dword [esp + 0x74]
movsd xmm1, qword [0x8b5f98]
jmp 0x55fe67
add edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x4c]
add ebx, 0xfffffffc
mov eax, dword [esp + 0x40]
test eax, eax
je setlocale
dec eax
mov dword [esp + 0x40], eax
xor esi, esi
mov dword [esp + 0x4c], ebx
jmp 0x55fee6
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
movsd qword [esp + 0x60], xmm2
call fcn.0058e124
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [0x8b5f98]
mov ecx, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xb0]
subsd xmm2, xmm0
movsd qword [edi + esi*8], xmm2
inc esi
add ebx, 0xb10
cmp dword [esp + 8], esi
je localeconv
movsd xmm2, qword [ecx + esi*8]
mov eax, dword [ebx]
movapd xmm0, xmm1
test eax, eax
je 0x55fecc
cmp eax, 0xff
ja 0x55fe80
mov edx, dword [0x86baec]
movsd xmm0, qword [edx + eax*8]
jmp 0x55fecc
push dword [esp + 0x14]
push 0
mov esi, dword [esp + 0x30]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x18]
imul eax, dword [ebp + 0x10]
push eax
push 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov eax, esi
add esp, 0xc
mov ecx, dword [esp + 8]
and ecx, 0xfffffffe
mov dword [esp + 0x58], ecx
xor edx, edx
xorpd xmm0, xmm0
mov ecx, dword [esp + 0x38]
movsd xmm4, qword [0x8b5fa0]
movsd xmm5, qword [0x8b6070]
movsd xmm6, qword [0x8b5fb0]
movsd xmm7, qword [0x8b5fb8]
jmp 0x55ff98
addsd xmm0, qword [0x8b5fc8]
inc edx
mov ebx, dword [ebp + 0x10]
cmp edx, ebx
mov ecx, dword [esp + 0x38]
je _wcsxfrm_l
movzx ecx, word [ecx + edx*2]
mov dword [esp + 0x40], ecx
mov ecx, isalnum
movapd xmm1, xmm4
mov ebx, dword [esp + 4]
cmp ebx, 2
mov esi, dword [esp + 0x1c]
jae reloc.api_ms_win_crt_string_l1_1_0.dll_wcscpy
test byte [esp + 8], 1
je 0x55ffee
mov edi, dword [esp + 0x40]
imul edi, ebx
add edi, ecx
mov eax, dword [esp + 0x20]
movsd xmm2, qword [eax + edi*8]
mov eax, dword [esp + 0x28]
addsd xmm2, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x55ffee
mov byte [esi + edx], cl
movapd xmm1, xmm2
movapd xmm2, xmm5
cmp edx, 0x7cf
ja 0x560012
movapd xmm2, xmm0
mulsd xmm2, xmm6
divsd xmm2, xmm7
addsd xmm2, qword [0x8b5fc0]
mulsd xmm2, xmm5
mov esi, edx
imul esi, dword [esp + 0x18]
xor ebx, ebx
jmp 0x56002b
inc ebx
cmp dword [esp + 8], ebx
je strlen
movsd xmm3, qword [eax + ebx*8]
subsd xmm3, xmm1
movsd qword [eax + ebx*8], xmm3
ucomisd xmm3, xmm2
jb strpbrk
mov ecx, ebx
and cl, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x28]
movsd qword [ecx + ebx*8], xmm2
mov ecx, ebx
shr ecx, 3
add ecx, esi
mov edi, dword [esp + 0x10]
or byte [edi + ecx], al
mov eax, dword [esp + 0x28]
jmp wcscat
mov edi, dword [esp + 0x14]
imul edi, dword [esp + 0x40]
add edi, dword [esp + 0x64]
xor ecx, ecx
movapd xmm1, xmm4
jmp _wcsicmp
add ecx, 2
cmp dword [esp + 0x58], ecx
je _strdup
movsd xmm2, qword [edi + ecx*8 - 8]
addsd xmm2, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x5600ba
mov byte [esi + edx], cl
movapd xmm1, xmm2
movsd xmm2, qword [edi + ecx*8]
addsd xmm2, qword [eax + ecx*8 + 8]
movsd qword [eax + ecx*8 + 8], xmm2
ucomisd xmm1, xmm2
jbe reloc.api_ms_win_crt_string_l1_1_0.dll__stricmp
mov eax, ecx
inc al
mov byte [esi + edx], al
mov eax, dword [esp + 0x28]
movapd xmm1, xmm2
jmp reloc.api_ms_win_crt_string_l1_1_0.dll__stricmp
mov ecx, dword [esp + 0x50]
test ecx, ecx
mov ebx, dword [esp + 0x48]
je 0x560190
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
imul eax, edx
add eax, dword [esp + 0x10]
neg edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], 1
mov edx, dword [ebp + 0x10]
movdqa xmm0, xmmword [0x8b5fd0]
jmp __timezone
mov esi, dword [esp + 0x1c]
mov ch, byte [esi + edx - 2]
xor ebx, ebx
cmp cl, ch
setne bl
add dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x48]
mov cl, ch
mov byte [esi + edx - 2], cl
add eax, dword [esp + 0x18]
dec edx
cmp edx, 1
je 0x5601a0
movzx esi, cl
mov edi, esi
shr edi, 3
movzx edi, byte [eax + edi]
and esi, 7
bt edi, esi
jb 0x560140
mov esi, dword [esp + 0x1c]
jmp 0x560159
mov dword [esp + 0x24], 1
movdqa xmm0, xmmword [0x8b5fd0]
mov eax, dword [esp + 4]
test eax, eax
mov esi, dword [esp + 0x54]
je qsort
xor ecx, ecx
cmp eax, 0x10
jb rand_s
lea esi, [eax - 0x10]
mov ecx, esi
shr ecx, 4
inc ecx
mov eax, ecx
and eax, 3
xor edx, edx
cmp esi, 0x30
mov esi, dword [esp + 0x54]
jb 0x560217
and ecx, 0xfffffffc
xor edx, edx
nop dword [eax]
movdqu xmmword [esi + edx*2], xmm0
movdqu xmmword [esi + edx*2 + 0x10], xmm0
movdqu xmmword [esi + edx*2 + 0x20], xmm0
movdqu xmmword [esi + edx*2 + 0x30], xmm0
movdqu xmmword [esi + edx*2 + 0x40], xmm0
movdqu xmmword [esi + edx*2 + 0x50], xmm0
movdqu xmmword [esi + edx*2 + 0x60], xmm0
movdqu xmmword [esi + edx*2 + 0x70], xmm0
add edx, 0x40
add ecx, 0xfffffffc
jne _beginthreadex
mov ecx, dword [esp + 4]
and ecx, 0xfffffff0
test eax, eax
je 0x560242
mov esi, dword [esp + 0x7c]
lea edx, [esi + edx*2]
shl eax, 5
xor esi, esi
nop
movdqu xmmword [edx + esi - 0x10], xmm0
movdqu xmmword [edx + esi], xmm0
add esi, 0x20
cmp eax, esi
jne 0x560230
mov eax, dword [esp + 4]
cmp eax, ecx
mov esi, dword [esp + 0x54]
je _configure_wide_argv
nop
mov word [esi + ecx*2], 0x100
inc ecx
cmp eax, ecx
jne 0x560250
cmp dword [esp + 0x50], 0
je 0x5602d0
xor ecx, ecx
mov dword [esp + 8], _crt_atexit
jmp 0x56027d
mov esi, edi
mov eax, dword [esp + 0x34]
add ecx, 2
cmp ebx, ecx
je 0x5602de
mov edx, dword [esp + 0x1c]
movzx edx, byte [edx + ecx]
mov edi, esi
movzx esi, word [esi + edx*2]
cmp esi, 0x100
jne 0x5602a0
mov eax, dword [esp + 8]
mov word [edi + edx*2], ax
inc eax
mov dword [esp + 8], eax
mov edx, dword [esp + 0x1c]
movzx edx, byte [edx + ecx + 1]
movzx esi, word [edi + edx*2]
cmp esi, 0x100
jne 0x560270
mov eax, dword [esp + 8]
mov word [edi + edx*2], ax
inc eax
mov dword [esp + 8], eax
jmp 0x560270
xor ecx, ecx
mov dword [esp + 8], _initterm
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x10]
test dl, 1
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
je 0x560313
movzx ecx, byte [esi + ecx]
mov edi, dword [esp + 0x54]
movzx edx, word [edi + ecx*2]
cmp edx, 0x100
jne 0x560313
mov eax, dword [esp + 8]
mov word [edi + ecx*2], ax
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp dword [esp + 0x50], 3
mov edi, dword [esp + 0x54]
jb 0x560369
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [esi + ecx]
movzx edx, byte [edi + edx*2]
mov byte [esi + ecx], dl
movzx edx, byte [esi + ecx + 1]
movzx edx, byte [edi + edx*2]
mov byte [esi + ecx + 1], dl
movzx edx, byte [esi + ecx + 2]
movzx edx, byte [edi + edx*2]
mov byte [esi + ecx + 2], dl
movzx edx, byte [esi + ecx + 3]
movzx edx, byte [edi + edx*2]
mov byte [esi + ecx + 3], dl
add ecx, 4
cmp eax, ecx
jne 0x560330
test ebx, ebx
je SHGetFolderPathW
mov eax, ebx
add ecx, dword [esp + 0x1c]
xor edx, edx
nop word cs:[eax + eax]
movzx esi, byte [ecx + edx]
movzx ebx, byte [edi + esi*2]
mov byte [ecx + edx], bl
inc edx
cmp eax, edx
jne reloc.USER32.dll_CreateWindowExW
movzx eax, word [esp + 8]
mov dword [esp + 4], eax
test ax, ax
je htons
mov eax, dword [esp + 4]
mov ecx, eax
and ecx, 3
mov dword [esp + 8], ecx
xor ebx, ebx
cmp ax, 4
jb GetMessageW
mov edi, dword [esp + 4]
and edi, 0xfffffffc
xor ebx, ebx
mov esi, dword [esp + 0x3c]
nop dword [eax + eax]
push 0xb04
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0xb0c], 0x7ff00000
mov dword [esi + ToAsciixb08], 0
lea eax, [esi + 0xb10]
push 0xb04
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x161c], 0x7ff00000
mov dword [esi + WSAIoctlx1618], 0
lea eax, [esi + 0x1620]
push WSAPoll
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x212c], 0x7ff00000
mov dword [esi + 0x2128], 0
lea eax, [esi + 0x2130]
push 0xb04
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x2c3c], 0x7ff00000
mov dword [esi + acceptx2c38], 0
add ebx, 4
add esi, 0x2c40
cmp edi, ebx
jne 0x5603d0
mov eax, dword [esp + 8]
test eax, eax
je connect
imul esi, ebx, 0xb10
add esi, dword [esp + 0x3c]
imul edi, eax, 0xb10
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push getaddrinfo
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0xb0c], 0x7ff00000
mov dword [esi + ebx + getsockoptxb08], 0
add ebx, 0xb10
cmp edi, ebx
jne 0x5604a0
cmp dword [esp + 0x50], 0
je 0x560540
xor eax, eax
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
nop dword [eax + eax]
movzx ecx, byte [ebx + eax]
imul ecx, ecx, 0xb10
lea edx, [esi + ecx]
movzx esi, word [edi + eax*2]
inc dword [edx + esi*4]
mov edx, dword [esp + 0x3c]
inc dword [edx + ecx + 0xb00]
movzx ecx, byte [ebx + eax + 1]
imul ecx, ecx, 0xb10
mov edx, dword [esp + 0x3c]
add edx, ecx
movzx esi, word [edi + eax*2 + 2]
inc dword [edx + esi*4]
mov esi, dword [esp + 0x3c]
inc dword [esi + ecx + 0xb00]
add eax, 2
cmp dword [esp + 0x48], eax
jne 0x5604f0
jmp send
xor eax, eax
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x10]
test cl, 1
je shutdown
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax]
imul ecx, ecx, 0xb10
lea edx, [esi + ecx]
movzx eax, word [edi + eax*2]
inc dword [edx + eax*4]
inc dword [esi + ecx + 0xb00]
jmp fseek
push ecx
mov edi, dword [ebp + 8]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x28]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x10]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x54]
push edi
call fcn.00554fb0
add esp, 8
push esi
push edi
call fcn.00554fb0
add esp, 8
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x560611
lea esi, [ebx*4]
push esi
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x18], eax
push esi
push edi
call fcn.00554f90
add esp, 8
mov ecx, eax
mov eax, ebx
shl eax, 4
add eax, 0x3f0
mov edx, eax
shr edx, 6
cmp eax, 0x40
jae 0x560627
mov dword [esp + 0x60], edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x64], 0
mov eax, dword [esp + 0x24]
mov ebx, ecx
jmp 0x56065f
mov edi, 0xf
mov dword [esp + 0x18], 0
mov eax, 0xa5f0
xor ebx, ebx
jmp 0x560631
imul eax, edx, 0xb10
mov edi, edx
mov ebx, ecx
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x4c], eax
mov dword [esp + 0x60], edi
lea eax, [edi*4]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
cmp eax, 0x40
mov ecx, eax
mov eax, 0x40
cmovb eax, ecx
xor esi, esi
mov dword [esp + 0x20], 0
test eax, eax
mov edi, dword [ebp + 8]
je 0x560691
imul eax, eax, 0xb10
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x20], eax
push 0xc018
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x6c], eax
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4d0], xmm0
movdqa xmmword [esp + 0x4c0], xmm0
movdqa xmmword [esp + 0x4b0], xmm0
movdqa xmmword [esp + 0x4a0], xmm0
movdqa xmmword [esp + 0x490], xmm0
movdqa xmmword [esp + 0x480], xmm0
movdqa xmmword [esp + 0x470], xmm0
movdqa xmmword [esp + 0x460], xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
movdqa xmmword [esp + 0x3d0], xmm0
movdqa xmmword [esp + 0x3c0], xmm0
movdqa xmmword [esp + 0x3b0], xmm0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
movdqa xmmword [esp + 0x340], xmm0
movdqa xmmword [esp + 0x330], xmm0
movdqa xmmword [esp + 0x320], xmm0
movdqa xmmword [esp + 0x310], xmm0
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movdqa xmmword [esp + 0x2a0], xmm0
movdqa xmmword [esp + 0x290], xmm0
movdqa xmmword [esp + 0x280], xmm0
movdqa xmmword [esp + 0x270], xmm0
movdqa xmmword [esp + 0x260], xmm0
movdqa xmmword [esp + 0x250], xmm0
movdqa xmmword [esp + 0x240], xmm0
movdqa xmmword [esp + 0x230], xmm0
movdqa xmmword [esp + 0x220], xmm0
movdqa xmmword [esp + 0x210], xmm0
movdqa xmmword [esp + 0x200], xmm0
movdqa xmmword [esp + 0x1f0], xmm0
movdqa xmmword [esp + 0x1e0], xmm0
mov eax, dword [esp + 0x24]
lea eax, [eax*4]
push eax
push 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x50], 0
mov dword [esp + 8], ebx
je 0x560967
mov eax, dword [ebp + 0x10]
neg eax
xor esi, esi
xor ecx, ecx
jmp 0x560929
inc esi
mov ecx, edx
cmp dword [esp + 0x48], edx
je 0x560967
inc dword [ebx + esi*4]
lea edi, [eax + ecx]
cmp edi, 0xffffffff
je 0x560946
mov ebx, dword [esp + 0x1c]
movzx edx, byte [ebx + ecx]
cmp dl, byte [ebx + ecx + 1]
mov ebx, dword [esp + 8]
je 0x560947
inc esi
inc dword [ebx + esi*4]
lea edx, [ecx + 2]
cmp edi, 0xfffffffe
je 0x560920
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + ecx + 1]
cmp bl, byte [edi + ecx + 2]
mov ebx, dword [esp + 8]
jne 0x560920
jmp 0x560921
mov eax, dword [ebp + 0x10]
test al, 1
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
je 0x560979
inc dword [ebx + esi*4]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x560d81
add ecx, 4
xor esi, esi
mov ebx, eax
mov edx, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], 0
jmp 0x5609e2
add dword [esp + 0x44], edi
add esi, 0x40
add edx, 0xffffffc0
add ecx, 0x100
mov eax, dword [esp + 0x24]
mov ebx, eax
cmp esi, eax
mov edi, dword [esp + 0x20]
jae 0x560d89
mov dword [esp + 0x14], ecx
cmp edx, 0x40
mov eax, 0x40
mov dword [esp + 4], edx
cmovb eax, edx
mov dword [esp + 0x48], eax
sub ebx, esi
cmp ebx, 0x40
mov eax, 0x40
cmovae ebx, eax
mov dword [esp + 0x34], ebx
test ebx, ebx
mov dword [esp + 0x28], esi
je 0x560b10
xor eax, eax
mov ebx, edi
jmp 0x560a64
mov edi, dword [esp + 0x10]
lea esi, [ebx + ecx]
add esi, 0xb08
push edi
call fcn.00716e90
add esp, 4
fstp qword [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + eax*4 + 0x2e0], eax
mov dword [esp + eax*4 + 0xe0], eax
mov dword [esp + eax*4 + 0x3e0], 1
inc eax
cmp eax, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
je 0x560b12
imul edi, eax, 0xb10
lea ecx, [ebx + edi]
push 0xb04
push 0
mov dword [esp + 0x18], ecx
push ecx
mov esi, eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, edi
add esp, 0xc
mov dword [ebx + edi + 0xb0c], 0x7ff00000
mov dword [ebx + edi + 0xb08], 0
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x28]
add eax, esi
mov esi, dword [esp + 8]
cmp dword [esi + eax*4], 0
je 0x560a20
mov dword [esp + 0x40], ecx
lea edx, [ebx + ecx]
add edx, 0xb00
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
lea ebx, [ecx + esi*2]
xor ecx, ecx
mov edi, dword [esp + 0x10]
nop word cs:[eax + eax]
movzx esi, word [ebx + ecx*2]
inc dword [edi + esi*4]
inc dword [edx]
inc ecx
mov esi, dword [esp + 8]
cmp ecx, dword [esi + eax*4]
jb 0x560ae0
add dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
jmp 0x560a24
mov ebx, edi
push 0x800
push 0x40
mov eax, dword [esp + 0x3c]
push eax
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x2f4]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x3fc]
push eax
push ebx
call fcn.00714380
add esp, 0x24
mov edi, eax
mov eax, dword [esp + 0x54]
add eax, edi
mov edx, dword [esp + 0x68]
cmp edx, eax
mov dword [esp + 0x58], edi
jae 0x560b90
test edx, edx
mov ecx, edx
cmove ecx, eax
nop
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x560b60
test esi, esi
je 0x560b96
imul eax, esi, 0xb10
push eax
push dword [ebp + 8]
call fcn.00554f90
mov edx, dword [esp + 0x70]
add esp, 8
jmp 0x560b98
mov edx, dword [esp + 4]
jmp 0x560bdc
xor eax, eax
mov dword [esp + 0x10], eax
test edx, edx
mov edi, dword [esp + 0x4c]
je 0x560bb8
imul eax, edx, 0xb10
push eax
push edi
push dword [esp + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push edi
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
add eax, edi
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jae 0x560c20
test ecx, ecx
cmove ecx, eax
nop
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x560bf0
test esi, esi
je 0x560c2a
lea eax, [esi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ebx, eax
jmp 0x560c2c
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
jmp 0x560c68
xor ebx, ebx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x560c4a
shl ecx, 2
push ecx
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [esp + 0x60], esi
mov eax, ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 4]
test edi, edi
mov dword [esp + 0x64], eax
je 0x560cef
mov ecx, dword [esp + 0x50]
lea eax, [eax + ecx*4]
mov dword [esp + 0x10], eax
imul ebx, dword [esp + 0x54], 0xb10
add ebx, dword [esp + 0x4c]
xor esi, esi
nop dword [eax]
mov edi, dword [esp + esi*4 + 0x2e0]
imul eax, edi, 0xb10
add eax, dword [esp + 0x20]
push 0xb10
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + edi*4 + 0x3e0]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + esi*4 + 0x2e0]
mov dword [esp + eax*4 + 0x1e0], esi
inc esi
add ebx, 0xb10
cmp edi, esi
jne 0x560c90
add dword [esp + 0x50], esi
add dword [esp + 0x54], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 4]
cmp dword [esp + 0x34], 0
je 0x5609c0
xor eax, eax
cmp dword [esp + 0x48], 1
mov esi, dword [esp + 0x44]
je 0x560d3e
mov ebx, dword [esp + 0x48]
and ebx, 0x7e
xor eax, eax
mov edx, dword [esp + eax*4 + 0xe0]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, esi
mov dword [ecx + eax*4 - 4], edx
mov edx, dword [esp + eax*4 + 0xe4]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, esi
mov dword [ecx + eax*4], edx
add eax, 2
cmp ebx, eax
jne 0x560d10
test byte [esp + 0x48], 1
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x58]
je 0x5609c0
mov ecx, dword [esp + eax*4 + 0xe0]
mov ecx, dword [esp + ecx*4 + 0x1e0]
add ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
add eax, esi
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [ecx + eax*4], ebx
mov ecx, dword [esp + 0x14]
jmp 0x5609c0
mov dword [esp + 0x44], 0
push edi
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
mov ecx, dword [esp + 0x44]
mov eax, ecx
shl eax, 6
mov edi, ecx
shr edi, 1
imul edi, ecx
cmp eax, edi
cmovb edi, eax
cmp edi, 0x801
mov dword [esp + 0x28], edi
jb 0x560ddc
push dword [esp + 0x6c]
push esi
call fcn.00554fb0
add esp, 8
lea eax, [edi + edi*2]
lea eax, [eax*8 + 0x18]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0
mov ecx, 0
mov edi, dword [esp + 0x44]
test edi, edi
je 0x56110c
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, eax
xor edx, edx
cmp edi, 8
jb 0x561100
mov ebx, ecx
lea ecx, [edi - 8]
mov edx, ecx
shr edx, 3
inc edx
mov eax, edx
and eax, 3
cmp ecx, 0x18
jae 0x560fd4
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
jmp 0x56109b
xor edi, edi
test eax, eax
mov esi, dword [ebp + 0x24]
je 0x560e5a
shl eax, 2
push eax
push dword [esi + 0xc]
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 0xc]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], ebx
mov eax, dword [esp + 0x14]
neg eax
xor ecx, ecx
mov dword [esp + 0x28], 0
xor edx, edx
xor ebx, ebx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x560ed3
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + esi*4]
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x28]
mov byte [eax + edx], bl
cmp cl, bl
movzx ecx, cl
cmovbe ecx, ebx
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 8]
mov dword [eax + edx*4], esi
inc edx
mov dword [esp + 0x28], edx
xor edx, edx
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ebx, edi
add eax, edi
mov eax, dword [esp + 0x14]
je 0x55f635
add edx, dword [esi + ebx*4]
mov dword [esp + 8], edx
lea edi, [ebx + 1]
add eax, ebx
mov edx, dword [esp + 0x24]
mov esi, dword [edx + ebx*4]
cmp eax, 0xffffffff
je 0x560e90
cmp esi, dword [edx + ebx*4 + 4]
jne 0x560e90
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 8]
jmp 0x560ec1
xor eax, eax
mov dword [esp + 8], eax
test ecx, ecx
mov esi, dword [ebp + 0x28]
je 0x560f18
push ecx
push dword [esi + 8]
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 8]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 8]
mov dword [esi + 8], eax
mov dword [esi + 0x10], edi
mov edx, dword [esi + 4]
lea eax, [edx + 1]
mov edi, dword [esp + 0x38]
mov ecx, dword [esi + 0x14]
cmp ecx, eax
jae 0x560fb3
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop dword [eax + eax]
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x560f50
test edi, edi
je 0x560f74
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, dword [esi + 0x14]
jmp 0x560f76
xor eax, eax
mov dword [esp + 8], eax
test ecx, ecx
mov esi, dword [ebp + 0x28]
je 0x560f94
shl ecx, 2
push ecx
push dword [esi + 0xc]
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi + 0xc]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], edi
mov edx, dword [esi + 4]
mov edi, dword [esp + 0x38]
mov dword [esi], 1
mov eax, dword [esi + 8]
mov byte [eax + edx], 0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], ebx
inc dword [esi + 4]
mov esi, dword [ebp + 8]
jmp 0x56143d
and edx, 0xfffffffc
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
movdqa xmm3, xmmword [0x8b6010]
movdqa xmm4, xmmword [0x8b6020]
movdqa xmm5, xmmword [0x8b6030]
movdqa xmm6, xmmword [0x8b6040]
movdqa xmm7, xmmword [0x8b6050]
movdqa xmm1, xmmword [0x8b6060]
mov esi, ebx
nop word cs:[eax + eax]
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b5ff0]
movdqu xmmword [esi + ecx*4], xmm0
movdqu xmmword [esi + ecx*4 + 0x10], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b6000]
movdqu xmmword [esi + ecx*4 + 0x20], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm3
movdqu xmmword [esi + ecx*4 + 0x30], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm4
movdqu xmmword [esi + ecx*4 + 0x40], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm5
movdqu xmmword [esi + ecx*4 + 0x50], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm6
movdqu xmmword [esi + ecx*4 + 0x60], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm7
movdqu xmmword [esi + ecx*4 + 0x70], xmm2
add ecx, 0x20
paddd xmm0, xmm1
add edx, 0xfffffffc
jne 0x561020
mov edx, dword [esp + 0x44]
and edx, 0xfffffff8
test eax, eax
je 0x5610ee
lea ecx, [ebx + ecx*4]
add ecx, 0x10
shl eax, 5
xor esi, esi
movdqa xmm1, xmmword [0x8b5ff0]
movdqa xmm2, xmmword [0x8b6000]
nop word cs:[eax + eax]
movdqa xmm3, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + esi - 0x10], xmm0
movdqu xmmword [ecx + esi], xmm3
paddd xmm0, xmm2
add esi, 0x20
cmp eax, esi
jne 0x5610d0
mov edi, dword [esp + 0x44]
cmp edi, edx
mov ecx, ebx
je 0x561108
nop dword [eax + eax]
mov dword [ecx + edx*4], edx
inc edx
cmp edi, edx
jne 0x561100
mov eax, dword [esp + 0x24]
push dword [esp + 0x28]
push 0x100
push eax
push edi
mov esi, dword [esp + 0x7c]
push esi
mov dword [esp + 0x24], ecx
push ecx
push dword [esp + 0x30]
mov ebx, dword [esp + 0x80]
push ebx
push dword [esp + 0x6c]
call fcn.00714380
add esp, 0x24
mov dword [esp + 0x58], eax
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push ebx
push esi
call fcn.00554fb0
add esp, 8
test edi, edi
je 0x561178
shl edi, 2
push edi
push esi
call fcn.00554f90
add esp, 8
push edi
push 0xff
mov dword [esp + 0x28], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x38]
je 0x561301
mov dword [esp + 0x40], 0
xor esi, esi
mov dword [esp + 0x3c], 0
jmp 0x5611c6
mov eax, dword [esp + 0x18]
mov dword [eax + esi*4], ebx
mov eax, dword [esp + 0x20]
cmp dword [eax + ebx*4], 0xffffffff
je 0x5612f0
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
inc esi
cmp esi, eax
je 0x561301
push 0xb08
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xff4], 0x7ff00000
mov dword [esp + 0xff0], 0
mov eax, dword [esp + 8]
cmp dword [eax + esi*4], 0
je 0x56122c
mov eax, dword [esp + 0x3c]
lea ecx, [edi + eax*2]
xor eax, eax
mov edi, dword [esp + 8]
nop word [eax + eax]
movzx edx, word [ecx + eax*2]
inc dword [esp + edx*4 + 0x4e8]
inc dword [esp + 0xfe8]
inc eax
cmp eax, dword [edi + esi*4]
jb 0x561210
add dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x18]
mov eax, esi
sub eax, 1
mov edx, 0
cmovb eax, edx
mov eax, dword [ecx + eax*4]
mov ebx, eax
imul eax, eax, 0xb10
add eax, dword [esp + 0x4c]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00714860
add esp, 8
fstp qword [esp + 0xa8]
cmp dword [esp + 0x58], 0
je 0x5611a0
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x28], xmm0
xor edi, edi
mov eax, dword [esp + 0x10]
jmp 0x56129b
inc edi
cmp dword [esp + 0x58], edi
je 0x5611a0
imul eax, dword [eax + edi*4], 0xb10
add eax, dword [esp + 0x4c]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00714860
mov eax, dword [esp + 0x18]
add esp, 8
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0x28]
ucomisd xmm1, xmm0
jbe 0x561290
mov ebx, dword [eax + edi*4]
movsd qword [esp + 0x28], xmm0
jmp 0x561290
mov ecx, dword [esp + 0x40]
mov dword [eax + ebx*4], ecx
inc ecx
mov dword [esp + 0x40], ecx
jmp 0x5611b5
push dword [esp + 0x10]
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x4c]
push esi
call fcn.00554fb0
add esp, 8
mov esi, dword [ebp + 0x28]
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x24]
cmp eax, edx
jae 0x561395
test eax, eax
mov ecx, eax
cmove ecx, edx
nop word cs:[eax + eax]
mov edi, ecx
add ecx, ecx
cmp edi, edx
jb 0x561340
test edi, edi
je 0x561361
push edi
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, esi
mov esi, eax
mov eax, dword [ecx + 0x10]
jmp 0x561363
xor esi, esi
test eax, eax
mov ebx, dword [ebp + 0x28]
je 0x561377
push eax
push dword [ebx + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [ebx + 8]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], edi
mov edi, dword [esp + 0x38]
mov esi, ebx
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x14]
cmp eax, edx
jae 0x5613df
test eax, eax
mov ecx, eax
cmove ecx, edx
nop word cs:[eax + eax]
mov edi, ecx
add ecx, ecx
cmp edi, edx
jb 0x5613b0
test edi, edi
je 0x562276
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, esi
mov esi, eax
mov eax, dword [ecx + 0x14]
jmp 0x562278
test edx, edx
mov eax, edx
jne 0x5622a7
mov dword [esp + 0x58], 0
xor ecx, ecx
mov edx, dword [ebp + 0x28]
mov eax, dword [esp + 0x58]
mov dword [edx + 4], eax
movzx eax, cl
inc eax
mov dword [edx], eax
push dword [esp + 0x20]
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x18]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x1c]
push esi
call fcn.00554fb0
add esp, 8
mov ebx, dword [ebp + 0x10]
push edi
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x78]
push esi
call fcn.00554f90
add esp, 8
mov edi, eax
test ebx, ebx
je 0x561519
mov ecx, dword [ebp + 0xc]
add ecx, 0xe
mov dword [esp + 4], 0
jmp 0x561476
add ecx, 0x10
dec ebx
je 0x5614a1
test dword [ecx - 0xa], 0x1ffffff
je 0x561470
movzx eax, word [ecx - 2]
cmp eax, 0x80
jb 0x561470
movzx eax, word [ecx]
and eax, 0x3ff
mov edx, dword [esp + 4]
mov word [edi + edx*2], ax
inc edx
mov dword [esp + 4], edx
jmp 0x561470
mov ecx, 0xf0f0f0f1
mov esi, dword [esp + 4]
mov eax, esi
mul ecx
shr edx, 9
inc edx
cmp esi, 0x6a40
mov ebx, 0x32
cmovb ebx, edx
test esi, esi
je 0x561519
cmp esi, 0x7f
mov dword [esp + 0x18], edi
ja 0x561537
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0x10]
lea eax, [edx + 1]
cmp ecx, eax
jae 0x56226e
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop dword [eax + eax]
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x5614f0
test edi, edi
je 0x562b61
push edi
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov esi, eax
mov ebx, dword [ebp + 0x2c]
mov ecx, dword [ebx + 0x10]
jmp 0x562b66
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x2c]
mov dword [eax], 1
push edi
push esi
call fcn.00554fb0
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
imul eax, ebx, 0x890
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov dword [esp + 0x34], eax
mov eax, ebx
and eax, 3
mov dword [esp + 8], eax
xor edi, edi
mov dword [esp + 0x38], ebx
cmp ebx, 4
jb 0x561633
mov ebx, dword [esp + 0x38]
and ebx, 0xfffffffc
xor edi, edi
mov esi, dword [esp + 0x34]
nop word cs:[eax + eax]
push 0x884
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x88c], 0x7ff00000
mov dword [esi + 0x888], 0
lea eax, [esi + 0x890]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x111c], 0x7ff00000
mov dword [esi + 0x1118], 0
lea eax, [esi + 0x1120]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x19ac], 0x7ff00000
mov dword [esi + 0x19a8], 0
lea eax, [esi + 0x19b0]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + 0x223c], 0x7ff00000
mov dword [esi + 0x2238], 0
add edi, 4
add esi, 0x2240
cmp ebx, edi
jne 0x561580
mov eax, dword [esp + 8]
test eax, eax
je 0x561683
imul esi, edi, 0x890
add esi, dword [esp + 0x34]
imul edi, eax, 0x890
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0x88c], 0x7ff00000
mov dword [esi + ebx + 0x888], 0
add ebx, 0x890
cmp edi, ebx
jne 0x561650
xor ebx, ebx
mov ecx, dword [esp + 4]
mov eax, ecx
xor edx, edx
mov edi, dword [esp + 0x38]
div edi
mov dword [esp + 0x58], eax
lea eax, [ecx - 0x29]
mov dword [esp + 0x28], eax
mov dword [esp + 8], 7
mov esi, dword [esp + 0x34]
nop word [eax + eax]
mov eax, ebx
imul eax, dword [esp + 4]
xor edx, edx
div edi
mov edi, eax
test ebx, ebx
je 0x5616d7
mov eax, dword [esp + 8]
imul eax, eax, 0x41a7
mov dword [esp + 8], eax
xor edx, edx
div dword [esp + 0x58]
add edi, edx
lea eax, [edi + 0x28]
cmp eax, dword [esp + 4]
cmovae edi, dword [esp + 0x28]
imul ecx, ebx, 0x890
lea eax, [esi + ecx]
mov edx, dword [esp + 0x18]
lea edx, [edx + edi*2]
add dword [esi + ecx + 0x880], 0x28
xor edi, edi
nop dword [eax]
movzx ecx, word [edx + edi*2]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 2]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 4]
inc dword [eax + ecx*4]
movzx ecx, word [edx + edi*2 + 6]
inc dword [eax + ecx*4]
add edi, 4
cmp edi, 0x28
jne 0x561700
inc ebx
mov edi, dword [esp + 0x38]
cmp ebx, edi
jne 0x5616b0
mov eax, dword [esp + 4]
add eax, eax
mov ecx, 0xcccccccd
mul ecx
shr edx, 5
lea ecx, [edx + edi]
add ecx, 0x63
xor esi, esi
mov eax, ecx
xor edx, edx
div edi
sub ecx, edx
je 0x5618c3
mov eax, dword [esp + 4]
add eax, 0xffffffd9
mov dword [esp + 8], eax
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
mov dword [esp + 0x28], eax
mov edi, 7
nop word cs:[eax + eax]
push 0x888
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xd74], 0x7ff00000
mov dword [esp + 0xd70], 0
imul edi, edi, 0x41a7
mov eax, edi
xor edx, edx
div dword [esp + 8]
mov eax, dword [esp + 0x18]
lea eax, [eax + edx*2]
mov dword [esp + 0xd68], 0x28
mov ecx, 0xffffffd8
mov ebx, dword [esp + 0x34]
nop word cs:[eax + eax]
movzx edx, word [eax]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 2]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 4]
inc dword [esp + edx*4 + 0x4e8]
movzx edx, word [eax + 6]
inc dword [esp + edx*4 + 0x4e8]
add eax, 8
add ecx, 4
jne 0x5617e0
mov eax, esi
xor edx, edx
div dword [esp + 0x38]
imul ecx, edx, 0x890
mov eax, dword [esp + 0xd68]
add dword [ebx + ecx + 0x880], eax
xor eax, eax
add ecx, ebx
mov edx, 0xc
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + edx*4 + 0x4b8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4c8]
lea ebx, [eax*4]
movdqu xmm2, xmmword [ecx + eax*4]
paddd xmm2, xmm0
movdqu xmm0, xmmword [ecx + eax*4 + 0x10]
paddd xmm0, xmm1
movdqu xmmword [ecx + eax*4], xmm2
movdqu xmmword [ecx + eax*4 + 0x10], xmm0
movdqu xmm0, xmmword [esp + edx*4 + 0x4d8]
movdqu xmm1, xmmword [esp + edx*4 + 0x4e8]
or ebx, 0x20
movdqu xmm2, xmmword [ecx + ebx]
paddd xmm2, xmm0
movdqu xmm0, xmmword [ecx + ebx + 0x10]
paddd xmm0, xmm1
movdqu xmmword [ecx + ebx], xmm2
movdqu xmmword [ecx + ebx + 0x10], xmm0
add eax, 0x10
add edx, 0x10
cmp edx, 0x22c
jne 0x561840
inc esi
cmp esi, dword [esp + 0x28]
jne 0x561780
push dword [esp + 4]
mov edi, dword [ebp + 8]
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x38]
lea esi, [ebx + 7]
shr esi, 3
imul eax, ebx, 0x1100
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x20], eax
lea eax, [ebx*8]
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 8], eax
imul esi, dword [esp + 4]
mov dword [esp + 0x60], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x561931
push esi
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x10], eax
lea eax, [ebx + ebx]
push eax
push edi
call fcn.00554f90
add esp, 8
mov ecx, eax
mov eax, dword [ebp + 0x20]
cmp dword [eax + 4], 0xb
mov eax, 0xa
mov edx, 3
cmovge edx, eax
mov dword [esp + 0x68], edx
mov eax, dword [esp + 4]
mov esi, eax
and esi, 0xfffffffe
mov edx, eax
and edx, 3
mov dword [esp + 0x6c], edx
mov edx, eax
and edx, 0xfffffffc
mov dword [esp + 0x24], edx
mov dword [esp + 0x54], ecx
add ecx, 0x10
mov dword [esp + 0x78], ecx
lea ecx, [eax - 1]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 0x880]
mov dword [esp + 0x74], edx
add ecx, 0x87c
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 8]
mov dword [esp + 0x50], edx
add eax, 0xfffffffe
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], esi
jmp 0x5619d7
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
je 0x5621cb
mov ebx, dword [esp + 0x38]
cmp ebx, 1
mov edi, dword [esp + 0x1c]
ja 0x561a10
push dword [esp + 4]
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x14], 1
mov ebx, dword [esp + 0x54]
jmp 0x561dfd
lea eax, [ebx + 7]
shr eax, 3
mov dword [esp + 0x48], eax
imul eax, ebx, 0x1100
push eax
push 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, dword [esp + 0x2c]
add esp, 0xc
xor esi, esi
mov edi, dword [esp + 0x74]
jmp 0x561a88
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
call fcn.0058e124
mov ecx, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x98]
movq xmm0, qword [esp + 0x98]
movq qword [ecx + esi*8], xmm0
inc esi
add edi, 0x890
cmp ebx, esi
je 0x561aa0
mov eax, dword [edi]
cmp eax, 0xff
ja 0x561a40
mov edx, dword [0x86baec]
movq xmm0, qword [edx + eax*8]
jmp 0x561a78
cmp ebx, 2
mov eax, 1
cmovae eax, ebx
mov dword [esp + 0x28], eax
imul esi, ebx, 0x10f8
add esi, ecx
lea eax, [ebx*8]
mov dword [esp + 0x64], eax
neg eax
mov dword [esp + 0x14], eax
mov eax, 0x220
mov ebx, dword [esp + 0x70]
movsd xmm1, qword [0x8b5f98]
jmp 0x561af7
add esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
add ebx, 0xfffffffc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x561ba0
dec eax
mov dword [esp + 0x40], eax
xor edi, edi
mov dword [esp + 0x4c], ebx
jmp 0x561b76
movd xmm0, eax
por xmm0, xmmword [0x8b5f80]
subsd xmm0, qword [0x8b5f90]
sub esp, 8
movsd qword [esp], xmm0
movsd qword [esp + 0x60], xmm2
call fcn.0058e124
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [0x8b5f98]
mov ecx, dword [esp + 0x28]
add esp, 8
fstp qword [esp + 0x90]
movsd xmm0, qword [esp + 0x90]
subsd xmm2, xmm0
movsd qword [esi + edi*8], xmm2
inc edi
add ebx, 0x890
cmp dword [esp + 0x28], edi
je 0x561ae0
movsd xmm2, qword [ecx + edi*8]
mov eax, dword [ebx]
movapd xmm0, xmm1
test eax, eax
je 0x561b5c
cmp eax, 0xff
ja 0x561b10
mov edx, dword [0x86baec]
movsd xmm0, qword [edx + eax*8]
jmp 0x561b5c
push dword [esp + 0x64]
push 0
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 4]
push eax
push 0
push dword [esp + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x28]
and eax, 0xfffffffe
mov dword [esp + 0x58], eax
xor edx, edx
xorpd xmm0, xmm0
movsd xmm4, qword [0x8b5fa0]
movsd xmm5, qword [0x8b6078]
movsd xmm6, qword [0x8b5fb0]
movsd xmm7, qword [0x8b5fb8]
jmp 0x561c13
addsd xmm0, qword [0x8b5fc8]
inc edx
cmp edx, dword [esp + 4]
je 0x561d70
mov eax, dword [esp + 0x18]
movzx edi, word [eax + edx*2]
mov ecx, 0
movapd xmm1, xmm4
cmp dword [esp + 0x38], 2
mov ebx, dword [esp + 0x1c]
jae 0x561cf0
test byte [esp + 0x28], 1
je 0x561c65
imul edi, dword [esp + 0x38]
add edi, ecx
mov eax, dword [esp + 0x20]
movsd xmm2, qword [eax + edi*8]
mov eax, dword [esp + 8]
addsd xmm2, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x561c65
mov byte [ebx + edx], cl
movapd xmm1, xmm2
movapd xmm2, xmm5
cmp edx, 0x7cf
ja 0x561c89
movapd xmm2, xmm0
mulsd xmm2, xmm6
divsd xmm2, xmm7
addsd xmm2, qword [0x8b5fc0]
mulsd xmm2, xmm5
mov esi, edx
imul esi, dword [esp + 0x48]
xor ebx, ebx
jmp 0x561cab
inc ebx
cmp dword [esp + 0x28], ebx
je 0x561c00
mov eax, dword [esp + 8]
movsd xmm3, qword [eax + ebx*8]
subsd xmm3, xmm1
movsd qword [eax + ebx*8], xmm3
ucomisd xmm3, xmm2
jb 0x561ca0
mov ecx, ebx
and cl, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 8]
movsd qword [ecx + ebx*8], xmm2
mov ecx, ebx
shr ecx, 3
add ecx, esi
mov edi, dword [esp + 0x10]
or byte [edi + ecx], al
jmp 0x561ca0
mov esi, dword [esp + 0x64]
imul esi, edi
add esi, dword [esp + 0x50]
xor ecx, ecx
movapd xmm1, xmm4
jmp 0x561d1d
add ecx, 2
cmp dword [esp + 0x58], ecx
je 0x561c33
movsd xmm2, qword [esi + ecx*8 - 8]
mov eax, dword [esp + 8]
addsd xmm2, qword [eax + ecx*8]
movsd qword [eax + ecx*8], xmm2
ucomisd xmm1, xmm2
jbe 0x561d3e
mov byte [ebx + edx], cl
movapd xmm1, xmm2
movsd xmm2, qword [esi + ecx*8]
mov eax, dword [esp + 8]
addsd xmm2, qword [eax + ecx*8 + 8]
movsd qword [eax + ecx*8 + 8], xmm2
ucomisd xmm1, xmm2
jbe 0x561d10
mov eax, ecx
inc al
mov byte [ebx + edx], al
movapd xmm1, xmm2
jmp 0x561d10
mov eax, dword [esp + 0x44]
test eax, eax
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
je 0x561df5
movzx ecx, byte [edi + eax]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
imul eax, edx
add eax, dword [esp + 0x10]
neg edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], 1
mov edx, dword [esp + 4]
movdqa xmm0, xmmword [0x8b5fd0]
jmp 0x561ddb
mov esi, dword [esp + 0x1c]
mov ch, byte [esi + edx - 2]
xor ebx, ebx
cmp cl, ch
setne bl
add dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x1c]
mov cl, ch
mov byte [edi + edx - 2], cl
add eax, dword [esp + 0x48]
dec edx
cmp edx, 1
je 0x561e05
movzx esi, cl
mov edi, esi
shr edi, 3
movzx edi, byte [eax + edi]
and esi, 7
bt edi, esi
jb 0x561db0
mov edi, dword [esp + 0x1c]
jmp 0x561dcd
mov dword [esp + 0x14], 1
movdqa xmm0, xmmword [0x8b5fd0]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x561ebb
xor ecx, ecx
cmp eax, 0x10
jb 0x561eb0
lea esi, [eax - 0x10]
mov ecx, esi
shr ecx, 4
inc ecx
mov eax, ecx
and eax, 3
xor edx, edx
cmp esi, 0x30
jb 0x561e77
and ecx, 0xfffffffc
xor edx, edx
nop word cs:[eax + eax]
movdqu xmmword [ebx + edx*2], xmm0
movdqu xmmword [ebx + edx*2 + 0x10], xmm0
movdqu xmmword [ebx + edx*2 + 0x20], xmm0
movdqu xmmword [ebx + edx*2 + 0x30], xmm0
movdqu xmmword [ebx + edx*2 + 0x40], xmm0
movdqu xmmword [ebx + edx*2 + 0x50], xmm0
movdqu xmmword [ebx + edx*2 + 0x60], xmm0
movdqu xmmword [ebx + edx*2 + 0x70], xmm0
add edx, 0x40
add ecx, 0xfffffffc
jne 0x561e40
mov ecx, dword [esp + 0x38]
and ecx, 0xfffffff0
test eax, eax
je 0x561ea2
mov esi, dword [esp + 0x78]
lea edx, [esi + edx*2]
shl eax, 5
xor esi, esi
nop
movdqu xmmword [edx + esi - 0x10], xmm0
movdqu xmmword [edx + esi], xmm0
add esi, 0x20
cmp eax, esi
jne 0x561e90
mov eax, dword [esp + 0x38]
jmp 0x561eb7
mov word [ebx + ecx*2], 0x100
inc ecx
cmp eax, ecx
jne 0x561eb0
cmp dword [esp + 0x44], 0
je 0x561f20
xor ecx, ecx
mov dword [esp + 0x28], 0
jmp 0x561edd
mov eax, dword [esp + 0x24]
add ecx, 2
cmp dword [esp + 0x3c], ecx
je 0x561f2e
movzx edx, byte [edi + ecx]
movzx esi, word [ebx + edx*2]
cmp esi, 0x100
jne 0x561efa
mov eax, dword [esp + 0x28]
mov word [ebx + edx*2], ax
inc eax
mov dword [esp + 0x28], eax
movzx edx, byte [edi + ecx + 1]
movzx esi, word [ebx + edx*2]
cmp esi, 0x100
jne 0x561ed0
mov eax, dword [esp + 0x28]
mov word [ebx + edx*2], ax
inc eax
mov dword [esp + 0x28], eax
jmp 0x561ed0
xor ecx, ecx
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 4]
test dl, 1
je 0x561f5c
movzx ecx, byte [edi + ecx]
movzx edx, word [ebx + ecx*2]
cmp edx, 0x100
jne 0x561f58
mov eax, dword [esp + 0x28]
mov word [ebx + ecx*2], ax
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 4]
xor ecx, ecx
cmp edx, 4
jb 0x561fa9
xor ecx, ecx
nop word cs:[eax + eax]
movzx edx, byte [edi + ecx]
movzx edx, byte [ebx + edx*2]
mov byte [edi + ecx], dl
movzx edx, byte [edi + ecx + 1]
movzx edx, byte [ebx + edx*2]
mov byte [edi + ecx + 1], dl
movzx edx, byte [edi + ecx + 2]
movzx edx, byte [ebx + edx*2]
mov byte [edi + ecx + 2], dl
movzx edx, byte [edi + ecx + 3]
movzx edx, byte [ebx + edx*2]
mov byte [edi + ecx + 3], dl
add ecx, 4
cmp eax, ecx
jne 0x561f70
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x561fd0
mov eax, ebx
add ecx, dword [esp + 0x1c]
xor edx, edx
nop dword [eax]
movzx esi, byte [ecx + edx]
movzx ebx, byte [eax + esi*2]
mov byte [ecx + edx], bl
inc edx
cmp edi, edx
jne 0x561fc0
movzx eax, word [esp + 0x28]
mov dword [esp + 0x38], eax
test ax, ax
je 0x562113
mov eax, dword [esp + 0x38]
mov ecx, eax
and ecx, 3
mov dword [esp + 0x28], ecx
xor ebx, ebx
cmp ax, 4
jb 0x5620c3
mov esi, dword [esp + 0x38]
and esi, 0xfffffffc
xor ebx, ebx
mov edi, dword [esp + 0x34]
nop dword [eax + eax]
push 0x884
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [edi + 0x88c], 0x7ff00000
mov dword [edi + 0x888], 0
lea eax, [edi + 0x890]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [edi + 0x111c], 0x7ff00000
mov dword [edi + 0x1118], 0
lea eax, [edi + 0x1120]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [edi + 0x19ac], 0x7ff00000
mov dword [edi + 0x19a8], 0
lea eax, [edi + 0x19b0]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [edi + 0x223c], 0x7ff00000
mov dword [edi + 0x2238], 0
add ebx, 4
add edi, 0x2240
cmp esi, ebx
jne 0x562010
mov eax, dword [esp + 0x28]
test eax, eax
je 0x562113
imul esi, ebx, 0x890
add esi, dword [esp + 0x34]
imul edi, eax, 0x890
xor ebx, ebx
nop dword [eax]
lea eax, [esi + ebx]
push 0x884
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esi + ebx + 0x88c], 0x7ff00000
mov dword [esi + ebx + 0x888], 0
add ebx, 0x890
cmp edi, ebx
jne 0x5620e0
cmp dword [esp + 0x44], 0
je 0x562190
xor eax, eax
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax]
imul ecx, ecx, 0x890
mov edx, dword [esp + 0x34]
lea edi, [edx + ecx]
mov dword [esp + 0x28], edi
mov edi, esi
movzx esi, word [esi + eax*2]
mov ebx, dword [esp + 0x28]
inc dword [ebx + esi*4]
inc dword [edx + ecx + 0x880]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax + 1]
imul ecx, ecx, 0x890
lea ebx, [edx + ecx]
movzx esi, word [edi + eax*2 + 2]
inc dword [ebx + esi*4]
mov esi, edi
inc dword [edx + ecx + 0x880]
add eax, 2
cmp dword [esp + 0x3c], eax
jne 0x562120
test byte [esp + 4], 1
je 0x5619c0
jmp 0x5621a1
xor eax, eax
mov esi, dword [esp + 0x18]
test byte [esp + 4], 1
je 0x5619c0
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx + eax]
imul ecx, ecx, 0x890
mov edi, esi
mov esi, dword [esp + 0x34]
lea edx, [esi + ecx]
movzx eax, word [edi + eax*2]
inc dword [edx + eax*4]
inc dword [esi + ecx + 0x880]
jmp 0x5619c0
push ecx
mov edi, dword [ebp + 8]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 8]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x10]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x54]
push edi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x34]
push edi
call fcn.00554fb0
add esp, 8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x562327
lea esi, [eax*4]
push esi
push edi
mov ebx, eax
call fcn.00554f90
add esp, 8
mov dword [esp + 0x50], eax
push esi
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 8], eax
mov eax, ebx
shl eax, 4
add eax, 0x3f0
mov ecx, eax
shr ecx, 6
mov dword [esp + 0x40], 0
cmp eax, 0x40
jae 0x562343
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], 0
jmp 0x562375
mov ebx, dword [ebp + 0x2c]
jmp 0x562b98
xor esi, esi
test eax, eax
mov ebx, dword [ebp + 0x28]
je 0x56228f
shl eax, 2
push eax
push dword [ebx + 0xc]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [ebx + 0xc]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x14], edi
mov eax, dword [esp + 0x24]
neg eax
xor ecx, ecx
mov dword [esp + 0x58], 0
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x24], eax
jmp 0x562303
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + edi*4]
mov edi, dword [ebp + 0x28]
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x58]
mov byte [eax + edx], bl
cmp cl, bl
movzx ecx, cl
cmovbe ecx, ebx
mov eax, dword [edi + 0xc]
mov dword [eax + edx*4], esi
inc edx
mov dword [esp + 0x58], edx
xor esi, esi
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ebx, edx
add eax, edx
mov eax, dword [esp + 0x24]
je 0x5613f3
mov edx, dword [esp + 8]
add esi, dword [edx + ebx*4]
lea edx, [ebx + 1]
mov dword [esp + 0x28], edx
add eax, ebx
mov edx, dword [esp + 0x18]
mov edi, dword [edx + ebx*4]
cmp eax, 0xffffffff
je 0x5622c0
cmp edi, dword [edx + ebx*4 + 4]
jne 0x5622c0
jmp 0x5622e9
mov edi, 0xf
mov dword [esp + 0x50], 0
mov eax, 0x8070
mov dword [esp + 8], 0
jmp 0x56234b
imul eax, ecx, 0x890
mov edi, ecx
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], edi
lea eax, [edi*4]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x14]
cmp ecx, 0x40
mov eax, 0x40
cmovb eax, ecx
xor esi, esi
mov dword [esp + 0x10], 0
test eax, eax
mov edi, dword [ebp + 8]
je 0x5623a9
imul eax, eax, 0x890
push eax
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x10], eax
push 0xc018
push edi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x6c], eax
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4d0], xmm0
movdqa xmmword [esp + 0x4c0], xmm0
movdqa xmmword [esp + 0x4b0], xmm0
movdqa xmmword [esp + 0x4a0], xmm0
movdqa xmmword [esp + 0x490], xmm0
movdqa xmmword [esp + 0x480], xmm0
movdqa xmmword [esp + 0x470], xmm0
movdqa xmmword [esp + 0x460], xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
movdqa xmmword [esp + 0x3d0], xmm0
movdqa xmmword [esp + 0x3c0], xmm0
movdqa xmmword [esp + 0x3b0], xmm0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
movdqa xmmword [esp + 0x340], xmm0
movdqa xmmword [esp + 0x330], xmm0
movdqa xmmword [esp + 0x320], xmm0
movdqa xmmword [esp + 0x310], xmm0
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movdqa xmmword [esp + 0x2a0], xmm0
movdqa xmmword [esp + 0x290], xmm0
movdqa xmmword [esp + 0x280], xmm0
movdqa xmmword [esp + 0x270], xmm0
movdqa xmmword [esp + 0x260], xmm0
movdqa xmmword [esp + 0x250], xmm0
movdqa xmmword [esp + 0x240], xmm0
movdqa xmmword [esp + 0x230], xmm0
movdqa xmmword [esp + 0x220], xmm0
movdqa xmmword [esp + 0x210], xmm0
movdqa xmmword [esp + 0x200], xmm0
movdqa xmmword [esp + 0x1f0], xmm0
movdqa xmmword [esp + 0x1e0], xmm0
mov eax, dword [esp + 0x14]
lea eax, [eax*4]
push eax
push 0
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x44], 0
je 0x56267b
mov eax, dword [esp + 4]
neg eax
xor esi, esi
xor ecx, ecx
jmp 0x562639
inc esi
mov ecx, edx
cmp dword [esp + 0x3c], edx
je 0x56267b
mov edx, dword [esp + 8]
inc dword [edx + esi*4]
lea edi, [eax + ecx]
cmp edi, 0xffffffff
je 0x562656
mov ebx, dword [esp + 0x1c]
movzx edx, byte [ebx + ecx]
cmp dl, byte [ebx + ecx + 1]
je 0x562657
inc esi
mov edx, dword [esp + 8]
inc dword [edx + esi*4]
lea edx, [ecx + 2]
cmp edi, 0xfffffffe
je 0x562630
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + ecx + 1]
mov edi, dword [esp + 0x1c]
cmp bl, byte [edi + ecx + 2]
jne 0x562630
jmp 0x562631
test byte [esp + 4], 1
mov eax, dword [esp + 8]
je 0x562689
inc dword [eax + esi*4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
test eax, eax
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
je 0x562aa3
add ecx, 4
mov esi, edx
xor edx, edx
mov ebx, eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x64], 0
jmp 0x562707
add dword [esp + 0x44], esi
mov edx, dword [esp + 0x38]
add edx, 0x40
mov ebx, dword [esp + 0x68]
add ebx, 0xffffffc0
add ecx, 0x100
mov eax, dword [esp + 0x14]
cmp edx, eax
mov esi, dword [ebp + 8]
jae 0x562aab
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], ecx
cmp ebx, 0x40
mov esi, 0x40
cmovb esi, ebx
mov dword [esp + 0x4c], esi
mov esi, eax
sub esi, edx
cmp esi, 0x40
mov eax, 0x40
cmovae esi, eax
mov dword [esp + 4], esi
test esi, esi
mov dword [esp + 0x68], ebx
je 0x562830
xor esi, esi
mov ebx, dword [esp + 0x10]
jmp 0x562792
mov edi, dword [esp + 0x58]
lea esi, [ecx + edx]
add esi, 0x888
push edi
mov ebx, ecx
call fcn.00717470
add esp, 4
fstp qword [esi]
mov esi, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x2e0], esi
mov dword [esp + esi*4 + 0xe0], esi
mov dword [esp + esi*4 + 0x3e0], 1
inc esi
cmp esi, dword [esp + 0x4c]
je 0x562834
imul edi, esi, 0x890
lea eax, [ebx + edi]
push 0x884
push 0
mov dword [esp + 0x60], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
mov ecx, ebx
add esp, 0xc
mov dword [ebx + edi + 0x88c], 0x7ff00000
mov dword [ebx + edi + 0x888], 0
mov eax, dword [esp + 0x38]
add eax, esi
mov ebx, dword [esp + 8]
cmp dword [ebx + eax*4], 0
mov dword [esp + 0x28], esi
je 0x562750
mov dword [esp + 0x3c], edx
add edx, ecx
add edx, 0x880
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea ebx, [ecx + esi*2]
xor ecx, ecx
mov edi, dword [esp + 0x58]
nop
movzx esi, word [ebx + ecx*2]
inc dword [edi + esi*4]
inc dword [edx]
inc ecx
mov esi, dword [esp + 8]
cmp ecx, dword [esi + eax*4]
jb 0x562800
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
jmp 0x562754
mov ebx, dword [esp + 0x10]
push 0x800
push 0x40
mov eax, dword [esp + 0xc]
push eax
push eax
push dword [esp + 0x7c]
lea eax, [esp + 0x2f4]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x3fc]
push eax
push ebx
call fcn.007157b0
add esp, 0x24
mov esi, eax
mov eax, dword [esp + 0x64]
add eax, esi
mov edx, dword [esp + 0x34]
cmp edx, eax
mov dword [esp + 0x28], esi
jae 0x5628c0
test edx, edx
mov ecx, edx
cmove ecx, eax
nop word cs:[eax + eax]
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x562890
test esi, esi
je 0x5628ce
imul eax, esi, 0x890
push eax
push dword [ebp + 8]
call fcn.00554f90
mov edx, dword [esp + 0x3c]
add esp, 8
mov ebx, eax
jmp 0x5628d0
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
jmp 0x562907
xor ebx, ebx
test edx, edx
mov edi, dword [esp + 0x40]
je 0x5628e9
imul eax, edx, 0x890
push eax
push edi
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push edi
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov edx, esi
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x24]
add eax, esi
cmp ecx, eax
mov edx, ecx
jae 0x562950
test edx, edx
mov ecx, edx
cmove ecx, eax
nop
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x562920
test esi, esi
je 0x562958
lea eax, [esi*4]
push eax
push dword [ebp + 8]
mov edi, edx
call fcn.00554f90
mov edx, edi
add esp, 8
mov edi, eax
jmp 0x56295a
mov eax, dword [esp + 0x40]
mov ecx, ebx
jmp 0x562992
xor edi, edi
mov ecx, dword [esp + 0x60]
test edx, edx
je 0x562974
shl edx, 2
push edx
push ecx
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [esp + 0x6c]
add esp, 0xc
push ecx
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov edx, esi
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
test esi, esi
mov dword [esp + 0x54], edx
je 0x562a19
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x24]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x58], ecx
imul ebx, dword [esp + 0x64], 0x890
add ebx, eax
xor esi, esi
nop word cs:[eax + eax]
mov edi, dword [esp + esi*4 + 0x2e0]
imul eax, edi, 0x890
add eax, dword [esp + 0x10]
push 0x890
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + edi*4 + 0x3e0]
mov ecx, dword [esp + 0x58]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + esi*4 + 0x2e0]
mov dword [esp + eax*4 + 0x1e0], esi
inc esi
add ebx, 0x890
cmp dword [esp + 0x28], esi
jne 0x5629c0
add dword [esp + 0x24], esi
add dword [esp + 0x64], esi
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
cmp dword [esp + 4], 0
je 0x5626e0
xor eax, eax
cmp dword [esp + 0x4c], 1
mov edi, dword [esp + 0x44]
je 0x562a6e
mov ebx, dword [esp + 0x4c]
and ebx, 0x7e
xor eax, eax
nop word [eax + eax]
mov edx, dword [esp + eax*4 + 0xe0]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, edi
mov dword [ecx + eax*4 - 4], edx
mov edx, dword [esp + eax*4 + 0xe4]
mov edx, dword [esp + edx*4 + 0x1e0]
add edx, edi
mov dword [ecx + eax*4], edx
add eax, 2
cmp ebx, eax
jne 0x562a40
test byte [esp + 0x4c], 1
mov esi, dword [esp + 0x28]
je 0x5626e0
mov ecx, dword [esp + eax*4 + 0xe0]
mov edi, dword [esp + ecx*4 + 0x1e0]
add edi, dword [esp + 0x44]
add eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x48]
jmp 0x5626e0
mov dword [esp + 0x44], 0
push dword [esp + 0x10]
push esi
call fcn.00554fb0
add esp, 8
mov ecx, dword [esp + 0x44]
mov eax, ecx
shl eax, 6
mov edi, ecx
shr edi, 1
imul edi, ecx
cmp eax, edi
cmovb edi, eax
cmp edi, 0x801
jb 0x562afa
push dword [esp + 0x6c]
push esi
call fcn.00554fb0
add esp, 8
lea eax, [edi + edi*2]
lea eax, [eax*8 + 0x18]
push eax
push esi
call fcn.00554f90
add esp, 8
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x20], 0
mov ecx, 0
test esi, esi
je 0x562d6c
lea eax, [esi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov ecx, eax
xor edx, edx
cmp esi, 8
jb 0x562d60
mov dword [esp + 0x10], ecx
lea ecx, [esi - 8]
mov edx, ecx
shr edx, 3
inc edx
mov eax, edx
and eax, 3
cmp ecx, 0x18
jae 0x562c35
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
jmp 0x562cfb
xor esi, esi
mov ebx, dword [ebp + 0x2c]
test ecx, ecx
je 0x562b7a
push ecx
push dword [ebx + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ebx, dword [ebp + 0x2c]
add esp, 0xc
push dword [ebx + 8]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], edi
mov edx, dword [ebx + 4]
lea eax, [edx + 1]
mov edi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x14]
cmp ecx, eax
jae 0x562c10
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop word cs:[eax + eax]
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x562bb0
test edi, edi
je 0x562bd9
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
add esp, 8
mov esi, eax
mov ebx, dword [ebp + 0x2c]
mov ecx, dword [ebx + 0x14]
jmp 0x562bde
xor esi, esi
mov ebx, dword [ebp + 0x2c]
test ecx, ecx
je 0x562bf5
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ebx, dword [ebp + 0x2c]
add esp, 0xc
push dword [ebx + 0xc]
push dword [ebp + 8]
call fcn.00554fb0
add esp, 8
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x14], edi
mov edx, dword [ebx + 4]
mov edi, dword [esp + 0x18]
mov dword [ebx], 1
mov eax, dword [ebx + 8]
mov byte [eax + edx], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 4]
mov dword [ecx + eax*4], edx
inc dword [ebx + 4]
mov esi, dword [ebp + 8]
jmp 0x561525
and edx, 0xfffffffc
movdqa xmm0, xmmword [0x8b5fe0]
xor ecx, ecx
movdqa xmm3, xmmword [0x8b6010]
movdqa xmm4, xmmword [0x8b6020]
movdqa xmm5, xmmword [0x8b6030]
movdqa xmm6, xmmword [0x8b6040]
movdqa xmm7, xmmword [0x8b6050]
movdqa xmm1, xmmword [0x8b6060]
mov ebx, dword [esp + 0x10]
nop word cs:[eax + eax]
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b5ff0]
movdqu xmmword [ebx + ecx*4], xmm0
movdqu xmmword [ebx + ecx*4 + 0x10], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x8b6000]
movdqu xmmword [ebx + ecx*4 + 0x20], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm3
movdqu xmmword [ebx + ecx*4 + 0x30], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm4
movdqu xmmword [ebx + ecx*4 + 0x40], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm5
movdqu xmmword [ebx + ecx*4 + 0x50], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm6
movdqu xmmword [ebx + ecx*4 + 0x60], xmm2
movdqa xmm2, xmm0
paddd xmm2, xmm7
movdqu xmmword [ebx + ecx*4 + 0x70], xmm2
add ecx, 0x20
paddd xmm0, xmm1
add edx, 0xfffffffc
jne 0x562c80
mov edx, esi
and edx, 0xfffffff8
test eax, eax
je 0x562d4e
mov esi, dword [esp + 0x10]
lea ecx, [esi + ecx*4]
add ecx, 0x10
shl eax, 5
xor esi, esi
movdqa xmm1, xmmword [0x8b5ff0]
movdqa xmm2, xmmword [0x8b6000]
nop word cs:[eax + eax]
movdqa xmm3, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + esi - 0x10], xmm0
movdqu xmmword [ecx + esi], xmm3
paddd xmm0, xmm2
add esi, 0x20
cmp eax, esi
jne 0x562d30
mov esi, dword [esp + 0x44]
cmp esi, edx
mov ecx, dword [esp + 0x10]
je 0x562d68
nop word [eax + eax]
mov dword [ecx + edx*4], edx
inc edx
cmp esi, edx
jne 0x562d60
mov eax, dword [esp + 0x14]
push edi
push 0x100
push eax
push esi
mov ebx, esi
mov esi, dword [esp + 0x7c]
push esi
mov dword [esp + 0x24], ecx
push ecx
mov edi, dword [esp + 0x68]
push edi
push dword [esp + 0x7c]
push dword [esp + 0x60]
call fcn.007157b0
add esp, 0x24
mov dword [esp + 0x58], eax
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x60]
push esi
call fcn.00554fb0
add esp, 8
test ebx, ebx
je 0x562dd7
shl ebx, 2
push ebx
push esi
call fcn.00554f90
add esp, 8
push ebx
push 0xff
mov dword [esp + 0x28], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
cmp dword [esp + 0x14], 0
je 0x562f61
mov dword [esp + 0x4c], 0
xor esi, esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], edi
jmp 0x562e22
mov edi, dword [esp + 0x50]
mov dword [edi + esi*4], ebx
mov eax, dword [esp + 0x20]
cmp dword [eax + ebx*4], 0xffffffff
je 0x562f50
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
je 0x562f61
push 0x888
push 0
lea eax, [esp + 0x4f0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xd74], 0x7ff00000
mov dword [esp + 0xd70], 0
mov eax, dword [esp + 8]
cmp dword [eax + esi*4], 0
je 0x562e90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
lea ecx, [eax + ecx*2]
xor eax, eax
mov edi, dword [esp + 8]
nop word [eax + eax]
movzx edx, word [ecx + eax*2]
inc dword [esp + edx*4 + 0x4e8]
inc dword [esp + 0xd68]
inc eax
cmp eax, dword [edi + esi*4]
jb 0x562e70
add dword [esp + 0x3c], eax
mov edi, dword [esp + 0x50]
mov eax, esi
sub eax, 1
mov ecx, 0
cmovb eax, ecx
mov ebx, dword [edi + eax*4]
imul eax, ebx, 0x890
add eax, dword [esp + 0x40]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00715c90
add esp, 8
fstp qword [esp + 0x88]
cmp dword [esp + 0x58], 0
je 0x562e00
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x28], xmm0
xor edi, edi
mov eax, dword [esp + 0x10]
jmp 0x562efb
inc edi
cmp dword [esp + 0x58], edi
je 0x562e00
imul eax, dword [eax + edi*4], 0x890
add eax, dword [esp + 0x40]
push eax
lea eax, [esp + 0x4ec]
push eax
call fcn.00715c90
mov eax, dword [esp + 0x18]
add esp, 8
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x28]
ucomisd xmm1, xmm0
jbe 0x562ef0
mov ebx, dword [eax + edi*4]
movsd qword [esp + 0x28], xmm0
jmp 0x562ef0
mov ecx, dword [esp + 0x4c]
mov dword [eax + ebx*4], ecx
inc ecx
mov dword [esp + 0x4c], ecx
jmp 0x562e15
push dword [esp + 0x10]
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x40]
push esi
call fcn.00554fb0
add esp, 8
mov edx, dword [ebp + 0x2c]
mov eax, dword [edx + 0x10]
mov esi, dword [esp + 0x14]
cmp eax, esi
jae 0x562ff7
test eax, eax
mov ecx, eax
cmove ecx, esi
nop word cs:[eax + eax]
mov edi, ecx
add ecx, ecx
cmp edi, esi
jb 0x562fa0
test edi, edi
je 0x562fc2
push edi
push dword [ebp + 8]
call fcn.00554f90
mov edx, dword [ebp + 0x2c]
add esp, 8
mov esi, eax
mov eax, dword [edx + 0x10]
jmp 0x562fc4
xor esi, esi
test eax, eax
je 0x562fd8
push eax
push dword [edx + 8]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [ebp + 0x2c]
add esp, 0xc
push dword [edx + 8]
push dword [ebp + 8]
call fcn.00554fb0
mov edx, dword [ebp + 0x2c]
add esp, 8
mov dword [edx + 8], esi
mov dword [edx + 0x10], edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
mov eax, dword [edx + 0x14]
cmp eax, esi
jae 0x563039
test eax, eax
mov ecx, eax
cmove ecx, esi
nop word cs:[eax + eax]
mov edi, ecx
add ecx, ecx
cmp edi, esi
jb 0x563010
test edi, edi
je 0x56309a
lea eax, [edi*4]
push eax
push dword [ebp + 8]
call fcn.00554f90
mov edx, dword [ebp + 0x2c]
add esp, 8
mov esi, eax
mov eax, dword [edx + 0x14]
jmp 0x56309c
test esi, esi
mov eax, esi
jne 0x5630d1
mov dword [esp + 0x58], 0
xor ecx, ecx
mov edx, dword [ebp + 0x2c]
mov eax, dword [esp + 0x58]
mov dword [edx + 4], eax
movzx eax, cl
inc eax
mov dword [edx], eax
push dword [esp + 0x20]
mov esi, dword [ebp + 8]
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 8]
push esi
call fcn.00554fb0
add esp, 8
push edi
push esi
call fcn.00554fb0
add esp, 8
push dword [esp + 0x1c]
push esi
call fcn.00554fb0
add esp, 8
mov edi, dword [esp + 0x18]
jmp 0x561525
xor esi, esi
test eax, eax
je 0x5630b3
shl eax, 2
push eax
push dword [edx + 0xc]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, dword [ebp + 0x2c]
add esp, 0xc
push dword [edx + 0xc]
push dword [ebp + 8]
mov ebx, edx
call fcn.00554fb0
add esp, 8
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x14], edi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
neg eax
xor ecx, ecx
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], 0
xor ebx, ebx
mov dword [esp + 0x14], eax
jmp 0x56313f
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + edi*4]
mov edi, dword [ebp + 0x2c]
mov eax, dword [edi + 8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x58]
mov byte [eax + esi], bl
cmp cl, bl
movzx ecx, cl
cmovbe ecx, ebx
mov eax, dword [edi + 0xc]
mov edi, dword [esp + 0x28]
mov dword [eax + esi*4], edi
inc esi
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], 0
mov edi, edx
mov eax, dword [esp + 0x14]
mov ebx, esi
add eax, esi
mov eax, dword [esp + 0x14]
je 0x56304d
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x28]
add esi, dword [edx + ebx*4]
mov dword [esp + 0x28], esi
lea esi, [ebx + 1]
add eax, ebx
mov edx, edi
mov edi, dword [edi + ebx*4]
cmp eax, 0xffffffff
je 0x5630f0
cmp edi, dword [edx + ebx*4 + 4]
jne 0x5630f0
jmp 0x56312b