Function at 0x10111dc0
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 0x10111e0e
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 0x10111e00
mov eax, dword [esp + 0x64]
mov ecx, edi
mov dword [eax], edx
lea edx, [esp + 0x48]
call fcn.10110e60
test eax, eax
jne 0x101122ff
nop word [eax + eax]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
cmp ebx, 0xd
jne 0x10111ebb
test ebp, ebp
jne 0x10111ebb
mov ebp, dword [esp + 0x64]
xor esi, esi
mov dword [ebp], 0
cmp dword [esp + 0x1c], esi
jbe 0x10111f12
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x14]
add edi, 0x24
lea edx, [esp + 0x38]
mov ecx, ebx
call fcn.10110e60
test eax, eax
jne 0x101122ff
mov ecx, dword [esp + 0x3c]
test ecx, ecx
ja 0x10111f2d
mov eax, dword [esp + 0x38]
jb 0x10111ea8
cmp eax, 0x80000000
jae 0x10111f2d
test ecx, ecx
ja 0x10111f2d
jb 0x10111ea8
cmp eax, 0x4000000
jae 0x10111f2d
add dword [ebp], eax
inc esi
mov dword [edi], eax
add edi, 0x28
cmp esi, dword [esp + 0x1c]
jb 0x10111e63
mov edi, ebx
jmp 0x10111f12
cmp ebx, 0xa
jne 0x10111ec4
test ebp, ebp
je 0x10111f3a
cmp ebx, 9
jne 0x10111ecd
test ebp, ebp
je 0x10111f3a
mov eax, ebx
or eax, ebp
je 0x10111f3a
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10110e60
test eax, eax
jne 0x101122ff
cmp dword [esp + 0x34], 0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x30]
jb 0x10111f01
ja 0x10111efa
cmp ecx, eax
jbe 0x10111f01
mov eax, 0x10
jmp 0x10111f0a
add dword [edi], ecx
sub eax, ecx
mov dword [edi + 4], eax
xor eax, eax
test eax, eax
jne 0x101122ff
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.10110e60
test eax, eax
je 0x10111e30
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 0x10111f60
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 0x10111fbb
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 0x10111f87
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 0x10111f7a
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 0x10111f7a
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x1011211a
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 0x101120fa
cmp ebx, 9
jne 0x10112069
test ebp, ebp
jne 0x10112069
cmp edi, 1
jbe 0x10112069
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.10110e60
test eax, eax
jne 0x101122ff
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 0x10112020
jmp 0x10112079
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.101109d0
mov edx, eax
test edx, edx
je 0x101120c1
sub edx, 1
js 0x101120c1
mov esi, dword [edi - 0x10]
xor ecx, ecx
test esi, esi
je 0x101120ac
mov eax, dword [edi - 0x20]
add eax, 4
nop
cmp dword [eax], edx
je 0x101120b8
inc ecx
add eax, 8
cmp ecx, esi
jb 0x101120a0
mov eax, dword [edi - 0x18]
mov esi, dword [eax + edx*8]
mov ecx, dword [eax + edx*8 + 4]
jmp 0x101120d2
test ecx, ecx
js 0x101120ac
sub edx, 1
jns 0x10112093
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 0x101120fe
mov edi, dword [esp + 0x30]
inc eax
add edi, 0x28
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edi
cmp eax, ecx
jb 0x10111fe0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x64]
cmp ebx, 9
jne 0x1011213e
test ebp, ebp
jne 0x1011213e
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.10110e60
test eax, eax
jne 0x101122ff
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edx, dword [esi]
xor eax, eax
test edx, edx
je 0x10112165
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 0x10112152
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x10112197
mov eax, dword [esp + 0x60]
mov edx, ecx
add eax, 0x1c
xor edi, edi
mov ecx, dword [eax + 8]
cmp ecx, 1
jne 0x10112185
cmp dword [eax], 0
jne 0x10112187
add edi, ecx
add eax, 0x28
sub edx, 1
jne 0x10112178
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x14]
xor esi, esi
nop dword [eax]
cmp ebx, 0xa
jne 0x1011229c
test ebp, ebp
jne 0x1011229c
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.101111d0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10112277
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10112277
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 0x1011222a
cmp dword [ebx], 0
je 0x1011222e
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 0x10112263
test edx, edx
je 0x10112263
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 0x10112241
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 0x10112205
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 0x101122f3
mov edi, dword [esp + 0x14]
jmp 0x101122d7
or ebx, ebp
je 0x101122fd
lea edx, [esp + 0x50]
mov ecx, edi
call fcn.10110e60
test eax, eax
jne 0x101122ff
cmp dword [esp + 0x54], 0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x50]
jb 0x101122ca
ja 0x101122c3
cmp ecx, eax
jbe 0x101122ca
mov eax, 0x10
jmp 0x101122d3
add dword [edi], ecx
sub eax, ecx
mov dword [edi + 4], eax
xor eax, eax
test eax, eax
jne 0x101122ff
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.10110e60
test eax, eax
jne 0x101122ff
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
jmp 0x101121a0
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