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

Disassembly:
sub esp, 0x4c
mov dword [esp + 0xc], edx
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov dword [esp + 8], 0
mov dword [esp + 0x34], 0
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
test edx, edx
je 0x1011022e
mov eax, dword [esp + 0x60]
mov ecx, edx
add eax, 0x24
nop word [eax + eax]
mov dword [eax], 1
lea eax, [eax + 0x28]
sub ecx, 1
jne 0x10110220
mov eax, dword [esp + 0x64]
mov ecx, edi
mov dword [eax], edx
lea edx, [esp + 0x48]
call fcn.1010f280
test eax, eax
jne 0x1011071f
nop word [eax + eax]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
cmp ebx, 0xd
jne 0x101102db
test ebp, ebp
jne 0x101102db
mov ebp, dword [esp + 0x64]
xor esi, esi
mov dword [ebp], 0
cmp dword [esp + 0x1c], esi
jbe 0x10110332
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x14]
add edi, 0x24
lea edx, [esp + 0x38]
mov ecx, ebx
call fcn.1010f280
test eax, eax
jne 0x1011071f
mov ecx, dword [esp + 0x3c]
test ecx, ecx
ja 0x1011034d
mov eax, dword [esp + 0x38]
jb 0x101102c8
cmp eax, 0x80000000
jae 0x1011034d
test ecx, ecx
ja 0x1011034d
jb 0x101102c8
cmp eax, 0x4000000
jae 0x1011034d
add dword [ebp], eax
inc esi
mov dword [edi], eax
add edi, 0x28
cmp esi, dword [esp + 0x1c]
jb 0x10110283
mov edi, ebx
jmp 0x10110332
cmp ebx, 0xa
jne 0x101102e4
test ebp, ebp
je 0x1011035a
cmp ebx, 9
jne 0x101102ed
test ebp, ebp
je 0x1011035a
mov eax, ebx
or eax, ebp
je 0x1011035a
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.1010f280
test eax, eax
jne 0x1011071f
cmp dword [esp + 0x34], 0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
jb 0x10110321
ja 0x1011031a
cmp ecx, eax
jbe 0x10110321
mov eax, 0x10
jmp 0x1011032a
add dword [edi], ecx
sub eax, ecx
mov dword [edi + 4], eax
xor eax, eax
test eax, eax
jne 0x1011071f
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.1010f280
test eax, eax
je 0x10110250
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov esi, dword [esp + 0x64]
mov eax, dword [esi]
test eax, eax
jne 0x10110380
mov ecx, dword [esp + 0x68]
mov dword [ecx], eax
mov eax, dword [esp + 0x6c]
mov dword [eax], 0
mov eax, dword [esp + 0x70]
mov dword [eax], 0
jmp 0x101103db
shl eax, 3
push eax
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [eax]
call eax
mov ecx, dword [esp + 0x70]
add esp, 8
mov dword [ecx], eax
test eax, eax
jne 0x101103a7
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x74]
push dword [esi]
push eax
mov eax, dword [eax]
call eax
mov ecx, dword [esp + 0x74]
add esp, 8
mov dword [ecx], eax
test eax, eax
je 0x1011039a
mov eax, dword [esi]
shl eax, 2
push eax
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [eax]
call eax
mov ecx, dword [esp + 0x78]
add esp, 8
mov dword [ecx], eax
test eax, eax
je 0x1011039a
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x1011053a
mov edi, dword [esp + 0x60]
add edi, 0x24
mov dword [esp + 0x30], edi
nop dword [eax + eax]
mov edi, dword [edi]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
test edi, edi
je 0x1011051a
cmp ebx, 9
jne 0x10110489
test ebp, ebp
jne 0x10110489
cmp edi, 1
jbe 0x10110489
mov eax, dword [esp + 0x24]
lea esi, [ebx - 8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x50]
call fcn.1010f280
test eax, eax
jne 0x1011071f
mov eax, dword [esp + 0x68]
inc esi
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
inc dword [esp + 0x18]
add dword [esp + 0x20], edx
mov dword [eax + ecx*8], edx
mov ecx, dword [esp + 0x54]
adc dword [esp + 0x2c], ecx
mov dword [eax + ebp*8 + 4], ecx
mov ebp, dword [esp + 0x4c]
cmp esi, edi
jb 0x10110440
jmp 0x10110499
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x30]
lea ecx, [edi - 0x24]
call fcn.1010edf0
mov edx, eax
test edx, edx
je 0x101104e1
sub edx, 1
js 0x101104e1
mov esi, dword [edi - 0x10]
xor ecx, ecx
test esi, esi
je 0x101104cc
mov eax, dword [edi - 0x20]
add eax, 4
nop
cmp dword [eax], edx
je 0x101104d8
inc ecx
add eax, 8
cmp ecx, esi
jb 0x101104c0
mov eax, dword [edi - 0x18]
mov esi, dword [eax + edx*8]
mov ecx, dword [eax + edx*8 + 4]
jmp 0x101104f2
test ecx, ecx
js 0x101104cc
sub edx, 1
jns 0x101104b3
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x18]
sub esi, dword [esp + 0x20]
mov eax, dword [eax]
sbb ecx, dword [esp + 0x2c]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ecx
inc edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jmp 0x1011051e
mov edi, dword [esp + 0x30]
inc eax
add edi, 0x28
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edi
cmp eax, ecx
jb 0x10110400
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x64]
cmp ebx, 9
jne 0x1011055e
test ebp, ebp
jne 0x1011055e
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.1010f280
test eax, eax
jne 0x1011071f
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edx, dword [esi]
xor eax, eax
test edx, edx
je 0x10110585
mov ecx, dword [esp + 0x6c]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx]
mov byte [esi + eax], 0
lea ecx, [ecx + 4]
inc eax
mov dword [ecx - 4], 0
cmp eax, edx
jb 0x10110572
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x101105b7
mov eax, dword [esp + 0x60]
mov edx, ecx
add eax, 0x1c
xor edi, edi
mov ecx, dword [eax + 8]
cmp ecx, 1
jne 0x101105a5
cmp dword [eax], 0
jne 0x101105a7
add edi, ecx
add eax, 0x28
sub edx, 1
jne 0x10110598
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x14]
xor esi, esi
nop dword [eax]
cmp ebx, 0xa
jne 0x101106bc
test ebp, ebp
jne 0x101106bc
mov eax, dword [esp + 0x74]
xor edi, edi
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x68], edi
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], edi
push eax
call fcn.1010f5f0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10110697
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10110697
mov ebx, dword [esp + 0x60]
mov ebp, eax
add ebx, 0x1c
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ebx
mov edx, dword [ebx + 8]
cmp edx, 1
jne 0x1011064a
cmp dword [ebx], 0
je 0x1011064e
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov byte [esi + eax], dl
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [ebx + 4]
mov dword [ecx + esi*4], eax
inc esi
jmp 0x10110683
test edx, edx
je 0x10110683
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov ebp, dword [eax]
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
lea ecx, [eax + esi*4]
mov al, byte [ebx + edi]
lea ecx, [ecx + 4]
mov byte [esi + ebp], al
inc esi
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edi*4]
inc edi
mov dword [ecx - 4], eax
sub edx, 1
jne 0x10110661
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x2c]
add ebx, 0x28
sub ebp, 1
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], ebp
jne 0x10110625
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x74]
push dword [esp + 0x64]
push edi
mov eax, dword [edi + 4]
call eax
push dword [esp + 0x38]
mov eax, dword [edi + 4]
push edi
call eax
add esp, 0x10
test ebx, ebx
jne 0x10110713
mov edi, dword [esp + 0x14]
jmp 0x101106f7
or ebx, ebp
je 0x1011071d
lea edx, [esp + 0x50]
mov ecx, edi
call fcn.1010f280
test eax, eax
jne 0x1011071f
cmp dword [esp + 0x54], 0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x50]
jb 0x101106ea
ja 0x101106e3
cmp ecx, eax
jbe 0x101106ea
mov eax, 0x10
jmp 0x101106f3
add dword [edi], ecx
sub eax, ecx
mov dword [edi + 4], eax
xor eax, eax
test eax, eax
jne 0x1011071f
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.1010f280
test eax, eax
jne 0x1011071f
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
jmp 0x101105c0
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret