Function at 0x100a52d0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x100a5df0
mov dword [ebp - 0x20], edx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
cmp dword [esi + 0x3c], 1
jne 0x100a533a
mov edx, dword [esi + 0x40]
mov edi, dword [esi]
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x20]
test edx, edx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], eax
je 0x100a5335
cmp eax, edx
je 0x100a5335
jbe 0x100a5534
cmp byte [edi + edx], 0xbf
jle 0x100a5534
mov dword [ebp - 0x28], edi
jmp 0x100a5345
mov eax, dword [esi]
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], 0
sub eax, dword [ebp + 0xc]
add eax, edx
push eax
push ecx
push esi
call fcn.1000f580
add esp, 0xc
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
push dword [eax + 8]
push eax
call fcn.1000f580
add esp, 0xc
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov eax, dword [esi + 8]
lea ecx, [eax + edx]
mov dword [esi + 8], ecx
add eax, dword [esi]
push edx
push dword [ebp - 0x28]
push edx
push eax
call fcn.100a6bd0
add esp, 0x10
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 8]
mov edx, ecx
cmp eax, dword [ecx + 4]
jne 0x100a53b7
push 1
push eax
push edx
call fcn.1000f580
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 8]
mov edx, ecx
mov ecx, dword [edx]
mov edi, dword [ebp + 0x10]
mov byte [ecx + eax], 0x23
mov eax, dword [ebp + 0xc]
inc dword [edx + 8]
mov ecx, edi
cmp eax, edi
je 0x100a54aa
movzx ebx, byte [eax]
lea ecx, [eax + 1]
movzx edx, bl
test bl, bl
jns 0x100a542f
cmp ecx, edi
je 0x100a541e
movzx esi, byte [eax + 1]
add eax, 2
mov ecx, eax
and esi, 0x3f
and edx, 0x1f
cmp bl, 0xdf
jbe 0x100a542a
cmp ecx, edi
je 0x100a5457
movzx edi, byte [ecx]
inc ecx
mov eax, ecx
and edi, 0x3f
shl esi, 6
or esi, edi
cmp bl, 0xf0
jb 0x100a5465
mov ebx, dword [ebp + 0x10]
cmp eax, ebx
je 0x100a548c
movzx edi, byte [eax]
inc eax
mov ecx, eax
and edi, 0x3f
jmp 0x100a5490
xor esi, esi
mov ecx, edi
and edx, 0x1f
cmp bl, 0xdf
ja 0x100a53f5
shl edx, 6
or edx, esi
mov eax, ecx
cmp edx, 0xd
ja 0x100a5480
mov ebx, 0x2600
mov esi, 0x110000
bt ebx, edx
jae 0x100a5480
cmp esi, 0x110000
jne 0x100a54aa
cmp eax, edi
jne 0x100a53d0
jmp 0x100a54aa
mov eax, edi
xor edi, edi
shl esi, 6
or esi, edi
cmp bl, 0xf0
jae 0x100a540c
mov edi, dword [ebp + 0x10]
shl edx, 0xc
or edx, esi
cmp edx, 0xd
jbe 0x100a5436
nop word cs:[eax + eax]
nop dword [eax]
mov esi, edx
cmp esi, 0x110000
je 0x100a544d
jmp 0x100a54aa
xor edi, edi
mov eax, ebx
and edx, 7
shl esi, 6
shl edx, 0x12
or esi, edx
or esi, edi
mov edi, dword [ebp + 0x10]
cmp esi, 0x110000
mov edx, esi
jne 0x100a5431
mov dword [ebp - 0x10], 0
push edi
push ecx
push dword [ebp - 0x20]
call fcn.100a5570
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, eax
movups xmm0, xmmword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov esi, dword [edx + 0x2c]
mov edi, dword [edx + 0x30]
movsd xmm1, qword [eax]
mov eax, dword [eax + 8]
movsd qword [ecx + 4], xmm1
mov dword [ecx + 0xc], eax
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x30], esi
movsd xmm0, qword [edx + 0x1c]
movsd xmm1, qword [edx + 0x24]
mov esi, dword [edx + 0x34]
movsd qword [ecx + 0x20], xmm0
movsd qword [ecx + 0x28], xmm1
mov dword [ecx + 0x34], edi
mov dword [ecx + 0x38], esi
mov edi, dword [edx + 0x38]
mov esi, dword [ebp - 0x24]
mov edx, dword [edx + 0x44]
mov dword [ecx + 0x3c], edi
mov dword [ecx + 0x40], 1
mov dword [ecx + 0x44], esi
mov dword [ecx + 0x48], edx
mov byte [ecx], 0
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x10], 0
call fcn.100034a0
ud2