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

Disassembly:
sub esp, 0x54
mov eax, dword [0x10291440]
xor eax, esp
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x5c]
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
mov ebp, dword [esp + 0x68]
push esi
mov eax, dword [ebx]
xor esi, esi
mov dword [esp + 0xc], ecx
push edi
mov edi, dword [ebx + 0xd8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x14]
movups xmm0, xmmword [edi + 0x28]
mov dword [esp + 0x14], eax
movzx eax, word [edi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x1c], eax
movups xmmword [esp + 0x34], xmm0
cmp ebp, eax
je 0x10155e10
lea eax, [esp + 0x50]
push eax
push 3
push 1
push ebp
push esi
push ebx
call fcn.101594c0
mov esi, eax
add esp, 0x18
cmp esi, 0xffff86ef
je 0x10155eb6
cmp esi, 0xffff86ee
je 0x10155eb6
test esi, esi
jne 0x101561a8
mov eax, dword [edi + 8]
test eax, eax
je 0x10155db8
push esi
push dword [ebx + 0x14]
push 1
push eax
push dword [edi + 0x14]
push ebx
call fcn.1010b6f0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x101561a8
lea eax, [esp + 0x24]
mov dword [edi + 8], 0
push eax
push 0
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.10156550
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10155e86
cmp dword [esp + 0x24], eax
jne 0x10155e86
cmp dword [esp + 0x50], eax
je 0x10155e82
lea eax, [esp + 0x50]
push eax
push dword [ebx + 8]
call fcn.100f5d40
mov esi, eax
add esp, 8
test esi, esi
jne 0x101561a8
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x4c]
xor eax, eax
cmp ebp, edx
mov dword [esp + 0x48], edx
mov edx, dword [ecx + 0x5c]
mov dword [esp + 0x28], 1
cmova eax, dword [esp + 0x28]
imul edx, dword [ecx + 0x58]
mov dword [esp + 0x2c], eax
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
nop
test edx, edx
je 0x10155f90
xor edx, edx
mov eax, ebp
div dword [esp + 0x28]
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], eax
test edx, edx
je 0x10155ed3
xor edx, edx
mov eax, ebp
div dword [ecx + 0x58]
test edx, edx
je 0x10155ecd
lea ecx, [edi + 8]
mov eax, ecx
mov dword [esp + 0x20], eax
cmp ebp, 0xffffffff
jne 0x10155f93
jmp 0x10155ef6
xor esi, esi
jmp 0x10155e0c
cmp dword [esp + 0x50], 0
je 0x101561a8
lea eax, [esp + 0x50]
push eax
push dword [ebx + 8]
call fcn.100f5d40
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.1021eb98
add esp, 0x54
ret
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.1021eb98
add esp, 0x54
ret
mov eax, dword [esp + 0x20]
jmp 0x10155ef6
lea eax, [edi + 0x28]
push eax
push 0
push 2
push dword [edi + 0x14]
push 0
push ebx
call fcn.101594c0
mov esi, eax
add esp, 0x18
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
test esi, esi
jne 0x10155f59
mov eax, dword [eax]
test eax, eax
je 0x10155f15
push 0
push 1
push 1
push eax
push dword [edi + 0x14]
push ebx
call fcn.1010b6f0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10155f59
cmp dword [esp + 0x44], 1
mov eax, dword [esp + 0x20]
mov dword [eax], 0
jne 0x10155faf
push dword [edi + 0x14]
push dword [esp + 0x34]
call fcn.1010beb0
mov esi, eax
add esp, 8
cmp dword [edi + 0x28], 0
lea eax, [edi + 0x28]
je 0x10155faf
push eax
push dword [ebx + 8]
call fcn.100f5d40
add esp, 8
test eax, eax
je 0x10155faf
test esi, esi
cmove esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movups xmm0, xmmword [esp + 0x34]
mov dword [edi + 0x14], eax
movzx eax, cx
mov word [edi + 0x18], ax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x3c], eax
mov eax, esi
movups xmmword [edi + 0x28], xmm0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.1021eb98
add esp, 0x54
ret
lea ecx, [edi + 8]
mov eax, dword [ecx]
test eax, eax
je 0x10155fb3
push 0
push dword [ebx + 0x14]
push 1
push eax
push dword [edi + 0x14]
push ebx
call fcn.1010b6f0
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x10155f59
lea eax, [edi + 8]
mov dword [edi + 8], 0
add ebp, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ebp
mov eax, ebp
jne 0x10155fdd
inc ebp
mov dword [esp + 0x2c], 0
mov dword [esp + 0x70], ebp
mov eax, ebp
jmp 0x10155fe4
cmp dword [esp + 0x2c], 0
jne 0x10155fee
cmp eax, dword [esp + 0x48]
jae 0x10156085
lea eax, [esp + 0x50]
push eax
push 3
push 1
push ebp
push 0
push ebx
call fcn.101594c0
mov esi, eax
add esp, 0x18
cmp esi, 0xffff86ef
je 0x101560e4
cmp esi, 0xffff86ee
je 0x101560e4
test esi, esi
jne 0x10155f59
lea eax, [esp + 0x24]
push eax
push esi
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.10156550
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x101560c4
cmp dword [esp + 0x50], eax
je 0x101560ae
lea eax, [esp + 0x50]
push eax
push dword [ebx + 8]
call fcn.100f5d40
mov esi, eax
add esp, 8
test esi, esi
je 0x101560b0
push 0
push dword [ebx + 0x14]
push 1
push dword [edi + 8]
push dword [edi + 0x14]
push ebx
call fcn.1010b6f0
add esp, 0x18
test eax, eax
je 0x1015607e
test esi, esi
cmove esi, eax
mov dword [edi + 8], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1c]
mov word [edi + 0x18], cx
mov dword [edi + 0x3c], eax
movups xmm0, xmmword [esp + 0x34]
movups xmmword [edi + 0x28], xmm0
test esi, esi
jne 0x101561a8
jmp 0x10156108
xor esi, esi
cmp dword [esp + 0x24], 0
jne 0x1015605f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
jmp 0x10155e40
cmp dword [esp + 0x50], 0
je 0x10155f59
lea eax, [esp + 0x50]
push eax
push dword [ebx + 8]
call fcn.100f5d40
add esp, 8
jmp 0x10155f59
mov eax, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [esp + 0x18]
movups xmm0, xmmword [esp + 0x34]
mov dword [edi + 0x14], eax
movzx eax, cx
mov word [edi + 0x18], ax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x3c], eax
movups xmmword [edi + 0x28], xmm0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x48], ebp
je 0x101561a8
push 0
push dword [ebx + 0x14]
lea eax, [esp + 0x18]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push eax
push dword [esp + 0x60]
call fcn.101703a0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x101561a8
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x1015618c
mov eax, dword [ebx + 8]
cmp dword [eax + 0x74], esi
je 0x1015618c
test dword [ebx + 0x13c], 0x2000
jne 0x1015618c
mov eax, dword [eax + 0x80]
test eax, eax
je 0x1015616c
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x1015616c
test byte [eax + 0x31c], 8
jne 0x1015618c
push 0
push dword [edi + 0x3c]
push 0
push dword [esp + 0x1c]
push ecx
push dword [esp + 0x44]
call fcn.101a0500
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x101561a8
jmp 0x101561a1
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 1
mov eax, dword [esp + 0x10]
mov dword [eax + 0x48], ebp
mov ecx, dword [esp + 0x60]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1021eb98
add esp, 0x54
ret