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

Disassembly:
mov eax, 0x10222732
call fcn.10210210
sub esp, 0x4c
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
push edi
sub esp, 0x10
mov ebp, ecx
mov edx, esp
mov dword [esp + 0x40], ebp
sub esp, 0x10
mov ecx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x9c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [edx + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp + 0x16c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x170]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x174]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x178]
mov dword [ecx + 0xc], eax
call fcn.1003cdf7
add esp, 0x20
test al, al
je 0x10158a02
mov ebx, dword [esp + 0x70]
mov ecx, ebx
push 0x102b8c00
mov eax, dword [ebx]
call dword [eax + 0xc]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x134]
push eax
mov eax, dword [ebp + 0x16c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp + 0x170]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x174]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x178]
mov dword [ecx + 0xc], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x74]
mov eax, dword [ebp]
mov ecx, ebp
mov esi, dword [ebp + 0x170]
mov edi, dword [ebp + 0x174]
mov ebx, dword [ebp + 0x178]
call dword [eax + 0x13c]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0x84]
mov ecx, ebx
mov dword [eax + 8], edi
mov eax, dword [ebx]
call dword [eax + 0x74]
cmp dword [esp + 0x74], 0
je 0x10158a02
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x138]
xor edi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov byte [esp + 0x64], 3
lea eax, [esp + 0x40]
push dword [esp + 0x74]
movdqa xmm0, xmmword [0x102711a0]
mov ecx, ebp
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x3c]
push eax
movdqu xmmword [esp + 0x68], xmm0
call fcn.101591be
mov eax, dword [ebp]
mov ecx, ebp
mov esi, dword [ebx]
push edi
push edi
call dword [eax + 0x140]
push eax
mov ecx, ebx
call dword [esi + 0x14]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x140]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x74]
push edx
lea edx, [esp + 0x30]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x40]
sub esi, ebp
lea ecx, [esp + 0x3c]
inc esi
push esi
call fcn.10158241
add esp, 0xc
mov byte [esp + 0x64], 4
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], edi
mov ebx, dword [esp + 0x30]
lea eax, [ebp - 1]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x170]
mov dword [esp + 0x54], eax
mov dword [ecx], 0x102b8088
push dword [esp + 0x3c]
call fcn.10132f35
push dword [esp + 0x1c]
mov ebp, dword [esp + 0x7c]
lea edx, [esp + 0x54]
mov ecx, ebp
call fcn.101584be
mov esi, dword [esp + 0x2c]
add esp, 0xc
xor edi, edi
lea eax, [esi + 8]
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], edi
test esi, esi
je 0x10158827
mov ecx, dword [esi - 4]
jmp 0x10158829
xor ecx, ecx
cmp edi, ecx
jge 0x101589ab
add dword [eax], 0xfffffffe
mov ecx, ebx
add eax, 0xfffffff8
mov dword [esp + 0x2c], eax
push 0
add dword [eax], 2
mov eax, dword [ebx]
mov edi, dword [ebp]
call dword [eax + 0x130]
push eax
mov ecx, ebp
call dword [edi + 0x18]
mov eax, dword [esp + 0x2c]
sub esp, 0x10
mov edi, dword [esp + 0x84]
mov ecx, esp
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [edi - 4]
mov dword [ecx + 4], eax
mov eax, dword [edi]
mov dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
mov ecx, ebp
mov eax, dword [ebp]
call dword [eax + 0x44]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
dec eax
mov dword [esp + 0x24], eax
cmp eax, 1
jle 0x10158923
mov edx, dword [edi - 8]
sub esp, 0x10
mov eax, dword [edi - 4]
inc edx
mov esi, dword [edi]
mov dword [esp + 0x24], edx
dec esi
mov edx, dword [esp + 0x34]
lea ecx, [eax + 1]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x24]
add edx, eax
mov eax, esp
mov dword [esp + 0x34], edx
push str.ww
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax], esi
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
mov eax, dword [ebx]
call dword [eax + 0x140]
push eax
mov ecx, ebp
call fcn.10107f3e
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp eax, dword [edi + 4]
jge 0x10158923
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x134]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov ecx, ebp
mov dword [eax + 8], edx
mov eax, dword [ebp]
call dword [eax + 0x74]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov edi, dword [esp + 0x70]
mov edi, dword [eax + edi*4]
mov eax, dword [ebx]
call dword [eax + 0x138]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx - 4]
lea ecx, [esp + 0x14]
push ecx
push edi
mov edi, dword [esp + 0x78]
lea ecx, [esp + 0x38]
inc eax
push eax
mov edx, dword [edx + edi*4]
call fcn.10158241
add esp, 0xc
push 0
push ecx
mov ecx, esp
mov byte [esp + 0x6c], 5
mov dword [ecx], 0x102b8088
push dword [esp + 0x38]
call fcn.10132f35
push dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov ecx, ebp
call fcn.101584be
add esp, 0xc
mov byte [esp + 0x64], 4
lea ecx, [esp + 0x30]
call fcn.10002371
mov eax, dword [esp + 0x74]
inc edi
add eax, 0x10
jmp 0x10158816
lea ecx, [esp + 0x34]
call fcn.10002371
mov eax, dword [esp + 0x18]
test eax, eax
je 0x101589cb
add eax, 0xfffffff8
push eax
call fcn.101dad34
and dword [esp + 0x1c], 0
pop ecx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x101589e2
add eax, 0xfffffff8
push eax
call fcn.101dad34
and dword [esp + 0x20], 0
pop ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x101589f4
add eax, 0xfffffff8
push eax
call fcn.101dad34
pop ecx
test esi, esi
je 0x10158a02
add esi, 0xfffffff8
push esi
call fcn.101dad34
pop ecx
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18