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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
mov edi, dword [esp + 0xc8]
mov edx, dword [esp + 0xe8]
lea ecx, [esp + 0xd4]
movzx eax, byte [esp + 0xd0]
mov ebp, dword [esp + 0xcc]
movsx ebx, byte [esp + 0xdc]
cmp ebx, 0x63
jne 0x1000d59c
mov byte [ecx + 0xb], 0
mov bh, al
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x80], eax
movdqu xmm0, xmmword [ecx]
movdqu xmmword [esp + 0x70], xmm0
mov byte [esp + 0x28], bh
movzx eax, byte [esp + 0x78]
test eax, eax
je 0x1000d580
cmp eax, 0x3f
je 0x1000d5d8
cmp eax, 0x63
jne 0x1000d626
lea eax, [esp + 0x70]
lea ecx, [esp + 0x28]
push edx
push eax
push 1
push ecx
push ebp
push edi
call fcn.1000df80
add esp, 0x18
jmp 0x1000dc28
mov esi, ebx
mov byte [esp + 3], al
movzx ebx, byte [ecx + 0xa]
test bl, bl
jne 0x1000d5b0
mov byte [ecx + 0xa], 2
mov bl, 2
mov eax, 0xa
mov ecx, esi
lea ecx, [esi - 0x58]
cmp ecx, 0x20
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
ja case.default.0x1000d5c7
jmp dword [ecx*4 + 0x1000dc74]
mov eax, 0x10
jmp case.0x1000d5c7.89
sub esp, 0x28
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
movdqu xmm0, xmmword [ecx]
movdqu xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 0x24], 0x27
mov dword [esp + 0xc], 1
call fcn.1000dd80
add esp, 0x28
jmp 0x1000dc28
mov ecx, esi
cmp esi, 0x42
jne case.0x1000d5c7.89
mov eax, 2
jmp case.0x1000d5c7.89
mov bl, bh
sub esp, 0x24
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
movdqu xmm0, xmmword [ecx]
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], edx
movsx eax, bh
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.1000d510
add esp, 0x24
jmp 0x1000dc28
mov eax, 8
lea ecx, [esp + 0xb1]
mov bh, byte [esp + 3]
movsx edx, bh
lea ebp, [esp + 0x70]
push eax
push edx
push ecx
push ebp
call fcn.1000e420
add esp, 0x10
mov edi, eax
mov dword [esp + 0x14], ebp
sub eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 8], eax
test bh, bh
js 0x1000d6a6
cmp bl, 2
je 0x1000d6ae
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
jmp 0x1000d6ae
lea ebp, [esp + 0x71]
mov dword [esp + 0x14], ebp
mov eax, esi
cmp al, 0x58
jne 0x1000d9bd
cmp ebp, edi
je 0x1000d9bd
mov eax, edi
sub eax, ebp
mov edx, ebp
cmp eax, 8
jb 0x1000dc59
xor ecx, ecx
cmp eax, 0x10
mov dword [esp + 0xc], eax
jae 0x1000d82c
and eax, 0xfffffff8
lea edx, [eax + ebp]
movdqa xmm0, xmmword [0x100b6660]
movdqa xmm1, xmmword [0x100b6670]
pcmpeqd xmm2, xmm2
jmp 0x1000d70b
add ecx, 8
cmp eax, ecx
je 0x1000d81d
movq xmm3, qword [ebp + ecx]
movdqa xmm4, xmm3
paddb xmm4, xmm0
movdqa xmm5, xmm4
pmaxub xmm5, xmm1
pcmpeqb xmm5, xmm4
movd ebx, xmm5
not bl
test bl, 1
je 0x1000d73b
movd ebx, xmm3
add bl, 0xe0
mov byte [ebp + ecx], bl
movdqa xmm4, xmm5
pxor xmm4, xmm2
movdqa xmm6, xmm4
pslld xmm6, 8
movd ebx, xmm6
shr ebx, 0x10
test bl, 1
je 0x1000d763
movd ebx, xmm3
add bh, 0xe0
mov byte [ebp + ecx + 1], bh
pshuflw xmm6, xmm5, 0x55
pxor xmm6, xmm2
pextrw ebx, xmm6, 2
test bl, 1
je 0x1000d784
movd ebx, xmm3
shr ebx, 0x10
add bl, 0xe0
mov byte [ebp + ecx + 2], bl
movdqa xmm6, xmm4
psllq xmm6, 0x18
pextrw ebx, xmm6, 3
test bl, 1
je 0x1000d7a5
movd ebx, xmm3
shr ebx, 0x18
add bl, 0xe0
mov byte [ebp + ecx + 3], bl
pshufd xmm5, xmm5, 0x55
pxor xmm5, xmm2
pextrw ebx, xmm5, 4
test bl, 1
je 0x1000d7c4
pextrw ebx, xmm3, 2
add bl, 0xe0
mov byte [ebp + ecx + 4], bl
movdqa xmm5, xmm4
pslldq xmm5, 5
pextrw ebx, xmm5, 5
test bl, 1
je 0x1000d7e3
pextrw ebx, xmm3, 2
add bh, 0xe0
mov byte [ebp + ecx + 5], bh
pextrw ebx, xmm4, 3
test bl, 1
je 0x1000d7f9
pextrw ebx, xmm3, 3
add bl, 0xe0
mov byte [ebp + ecx + 6], bl
pslldq xmm4, 7
pextrw ebx, xmm4, 7
test bl, 1
je 0x1000d700
pextrw ebx, xmm3, 3
add bh, 0xe0
mov byte [ebp + ecx + 7], bh
jmp 0x1000d700
cmp dword [esp + 0xc], eax
jne 0x1000dc59
jmp 0x1000d9bd
mov ecx, eax
and ecx, 0xfffffff0
xor edx, edx
movdqa xmm0, xmmword [0x100b6640]
movdqa xmm1, xmmword [0x100b6650]
jmp 0x1000d85b
add edx, 0x10
cmp ecx, edx
je 0x1000d9b1
movdqu xmm2, xmmword [ebp + edx]
movdqa xmm4, xmm2
paddb xmm4, xmm0
movdqa xmm3, xmm4
pminub xmm3, xmm1
pcmpeqb xmm3, xmm4
movd eax, xmm3
test al, 1
je 0x1000d888
movd ebx, xmm2
add bl, 0xe0
mov byte [ebp + edx], bl
test ah, 1
je 0x1000d898
movd ebx, xmm2
add bh, 0xe0
mov byte [ebp + edx + 1], bh
mov ebx, eax
shr ebx, 0x10
test bl, 1
je 0x1000d8b0
movd ebx, xmm2
shr ebx, 0x10
add bl, 0xe0
mov byte [ebp + edx + 2], bl
shr eax, 0x18
test al, 1
je 0x1000d8c4
movd eax, xmm2
shr eax, 0x18
add al, 0xe0
mov byte [ebp + edx + 3], al
pextrw eax, xmm3, 2
test al, 1
je 0x1000d8d9
pextrw ebx, xmm2, 2
add bl, 0xe0
mov byte [ebp + edx + 4], bl
test ah, 1
je 0x1000d8ea
pextrw eax, xmm2, 2
add ah, 0xe0
mov byte [ebp + edx + 5], ah
pextrw eax, xmm3, 3
test al, 1
je 0x1000d8ff
pextrw ebx, xmm2, 3
add bl, 0xe0
mov byte [ebp + edx + 6], bl
test ah, 1
je 0x1000d910
pextrw eax, xmm2, 3
add ah, 0xe0
mov byte [ebp + edx + 7], ah
pextrw eax, xmm3, 4
test al, 1
je 0x1000d925
pextrw ebx, xmm2, 4
add bl, 0xe0
mov byte [ebp + edx + 8], bl
test ah, 1
je 0x1000d936
pextrw eax, xmm2, 4
add ah, 0xe0
mov byte [ebp + edx + 9], ah
pextrw eax, xmm3, 5
test al, 1
je 0x1000d94b
pextrw ebx, xmm2, 5
add bl, 0xe0
mov byte [ebp + edx + 0xa], bl
test ah, 1
je 0x1000d95c
pextrw eax, xmm2, 5
add ah, 0xe0
mov byte [ebp + edx + 0xb], ah
pextrw eax, xmm3, 6
test al, 1
je 0x1000d971
pextrw ebx, xmm2, 6
add bl, 0xe0
mov byte [ebp + edx + 0xc], bl
test ah, 1
je 0x1000d982
pextrw eax, xmm2, 6
add ah, 0xe0
mov byte [ebp + edx + 0xd], ah
pextrw eax, xmm3, 7
test al, 1
je 0x1000d997
pextrw ebx, xmm2, 7
add bl, 0xe0
mov byte [ebp + edx + 0xe], bl
test ah, 1
je 0x1000d850
pextrw eax, xmm2, 7
add ah, 0xe0
mov byte [ebp + edx + 0xf], ah
jmp 0x1000d850
mov eax, dword [esp + 0xc]
cmp eax, ecx
jne 0x1000dc35
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
lea edx, [esp + 0xd4]
cmp byte [edx + 0xb], 0
je 0x1000da47
mov eax, 2
mov ecx, dword [esp + 0x50]
cmp ecx, 0x20
ja case.default.0x1000d9e8
jmp dword [ecx*4 + 0x1000dcf8]
mov ecx, 0x1016c93d
jmp 0x1000da31
cmp esi, 0x42
jne case.0x1000d9e8.1
mov ecx, 0x1016c940
jmp 0x1000da31
xor ecx, ecx
xor eax, eax
jmp 0x1000da31
mov ecx, 0x1016c92e
jmp 0x1000da31
xor edx, edx
xor eax, eax
cmp byte [esp + 3], 0
setne al
mov ecx, 0x1016cc7d
cmove ecx, edx
lea edx, [esp + 0xd4]
jmp 0x1000da31
mov ecx, 0x1016c659
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 4]
add ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x58], xmm0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0xf
cmp byte [edx + 0xc], 0
je 0x1000da83
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1000da93
mov ebx, dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
jmp 0x1000da9f
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xcc]
jmp 0x1000db5e
push 1
call fcn.1001a837
add esp, 4
mov ebx, eax
mov dword [esp + 0x1c], ebx
lea eax, [esp + 0x18]
push eax
call fcn.1000d080
add esp, 4
mov edx, dword [eax]
lea esi, [esp + 0x28]
mov ecx, eax
push esi
call dword [edx + 0x14]
mov ecx, dword [esp + 0x1c]
movups xmm0, xmmword [esp + 0x28]
movups xmmword [esp + 0x58], xmm0
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
test ecx, ecx
je 0x1000db00
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x1000db00
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x6c], 0x10
jb 0x1000db11
mov esi, dword [esp + 0x58]
jmp 0x1000db15
lea esi, [esp + 0x58]
xor edx, edx
test eax, eax
je 0x1000db42
mov ebx, edi
sub ebx, ebp
movsx ebp, byte [esi]
cmp ebx, ebp
jbe 0x1000db42
add eax, esi
xor edx, edx
mov ecx, esi
nop dword [eax]
sub ebx, ebp
inc ecx
inc edx
cmp ecx, eax
cmovne esi, ecx
movsx ebp, byte [esi]
mov ecx, esi
cmp ebx, ebp
ja 0x1000db30
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 4]
add ebx, edx
mov dword [esp + 8], ebx
mov esi, dword [esp + 0xcc]
lea edx, [esp + 0xd4]
cmp byte [edx + 0xd], 0
setne cl
cmp byte [edx + 9], 0
sete al
and al, cl
mov byte [esp + 0x18], al
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0xd0]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 8]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x4c], ecx
cmp al, 1
jne 0x1000dbd8
lea ecx, [esp + 0x28]
push esi
mov edi, dword [esp + 0xcc]
push edi
call fcn.1000e070
jmp 0x1000dbf2
lea eax, [esp + 0x28]
push eax
push 2
push edx
push ebx
push esi
mov edi, dword [esp + 0xdc]
push edi
call fcn.1000e290
add esp, 0x18
mov eax, dword [esp + 0x6c]
cmp eax, 0x10
jb 0x1000dc28
mov ecx, dword [esp + 0x58]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000dc1e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000dc6c
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1001a066
add esp, 8
mov eax, edi
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
test al, 8
jne 0x1000d6de
add ecx, ebp
mov edx, ecx
jmp 0x1000dc59
inc edx
cmp edx, edi
je 0x1000d9bd
movzx eax, byte [edx]
mov ecx, eax
add cl, 0x9f
cmp cl, 0x19
ja 0x1000dc50
add al, 0xe0
mov byte [edx], al
jmp 0x1000dc50
call fcn.100986ad
nop dword [eax]
into
aad 0
adc byte [eax - 0x2a], ah
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pop ds
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pop ebx
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
pushal
salc
add byte [eax], dl
into
aad 0
adc bh, ch
fld dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [eax], cl
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edi], cl
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx], al
fiadd dword [eax]
adc byte [edx + ebx*8], ch
add byte [eax], dl
int3