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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
mov eax, dword [0x10285008]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
mov ecx, dword [edi + 0x24]
jmp 0x10105426
test byte [ecx + 0x2c], 0x10
je 0x1010541a
or dword [ecx + 0x38], 4
mov eax, dword [edi + 0x20]
mov dword [ecx + 0xa0], eax
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10105410
mov ecx, dword [edi + 0x24]
xor ebx, ebx
jmp 0x10105445
cmp dword [ecx], ebx
jne 0x10105439
and dword [ecx + 0x38], 0xfffffffc
mov eax, dword [edi + 0x20]
mov dword [ecx + 0xa0], eax
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10105431
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x18]
inc dword [edi + 0x20]
push 0x804
push dword [0x102c7ff8]
mov dword [edi + 0x10], eax
call fcn.101f1f59
push 0x10105840
lea ecx, [esp + 0x1c]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x64], 2
call fcn.101f2096
mov dword [esp + 0xe4], 1
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
cmp dword [0x102d0534], ebx
jne 0x101054b5
mov ecx, 0x102d0530
call fcn.101cdb79
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x102d0540]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x102dc578]
mov ecx, 0x102d0540
call esi
and dword [esp + 0x9c], 0x7fffffff
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xe4], ebx
test ecx, ecx
je 0x1010551f
xor esi, esi
mov eax, dword [esp + 0xd8]
add eax, esi
cmp dword [eax + 8], 0xffffffff
jne 0x10105514
lea ecx, [esp + 0x18]
push ecx
push dword [eax + 0x1c]
push eax
call fcn.101c8d00
mov ecx, dword [esp + 0xe0]
inc ebx
add esi, 0xff8
cmp ebx, ecx
jb 0x101054f0
xor esi, esi
test ecx, ecx
je 0x10105556
xor ebx, ebx
mov eax, dword [esp + 0xd8]
add eax, ebx
cmp dword [eax + 8], 0xffffffff
je 0x1010554b
lea ecx, [esp + 0x18]
push ecx
push dword [eax + 0x1c]
push eax
call fcn.101c8d00
mov ecx, dword [esp + 0xe0]
inc esi
add ebx, 0xff8
cmp esi, ecx
jb 0x10105527
mov esi, dword [esp + 0x78]
lea eax, [esp + 0x18]
or dword [esp + 0x9c], 0x80000000
mov ecx, esi
push eax
call dword [0x102dc578]
call esi
cmp dword [esp + 0xd8], 0
je 0x10105597
push dword [esp + 0xd8]
call dword [sym.imp.msvcrt.dll_free]
xor esi, esi
pop ecx
mov dword [esp + 0xd8], esi
jmp 0x10105599
xor esi, esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov eax, dword [edi + 0x24]
test eax, eax
je 0x101055ce
cmp dword [eax], esi
jne 0x101055bf
test byte [eax + 0x38], 1
je 0x101055c4
mov eax, dword [eax + 4]
jmp 0x101055b1
push eax
mov ecx, edi
call fcn.10105097
jmp 0x101055ae
mov ebx, dword [edi + 0x24]
test ebx, ebx
je 0x101056e0
cmp dword [ebx + 0x94], esi
je 0x101056d1
cmp dword [ebx + 0x9c], esi
jbe 0x101056d1
cmp dword [ebx + 0x44], 0
je 0x10105606
cmp dword [ebx + 0x48], esi
jbe 0x10105606
push dword [ebx + 0x44]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
mov dword [ebx + 0x48], esi
mov esi, dword [ebx + 0x9c]
imul eax, esi, 0xc0
push eax
mov dword [esp + 0x10], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov dword [ebx + 0x44], eax
pop ecx
test eax, eax
je 0x101056cf
push dword [esp + 0xc]
mov dword [ebx + 0x48], esi
xor esi, esi
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x10], esi
cmp dword [ebx + 0x9c], esi
jbe 0x101056d1
mov edi, esi
mov dword [esp + 0xc], esi
mov eax, esi
mov edx, dword [ebx + 0x94]
mov esi, dword [ebx + 0x44]
add edx, edi
add esi, eax
add edi, 0x58
mov eax, dword [edx + 0x30]
mov dword [esi + 0xa8], eax
mov eax, dword [edx + 0x34]
mov dword [esi + 0xac], eax
mov eax, dword [edx + 0x28]
mov dword [esi + 0xb0], eax
mov eax, dword [edx + 0x38]
mov dword [esi + 0x98], eax
mov eax, dword [edx + 0x3c]
mov dword [esi + 0x9c], eax
mov eax, dword [edx + 0x18]
mov dword [esi + 0xa0], eax
xor eax, eax
or eax, dword [edx + 0x40]
mov ecx, dword [edx + 8]
mov dword [esi + 0x94], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x90], eax
inc ecx
mov eax, dword [esp + 0xc]
add eax, 0xc0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
cmp ecx, dword [ebx + 0x9c]
jb 0x10105657
xor esi, esi
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x101055d9
mov edi, dword [esp + 0x14]
mov esi, dword [edi + 0x24]
jmp 0x10105700
test byte [esi + 0x38], 4
je 0x101056fd
push 1
push 1
push 1
push esi
mov ecx, edi
call fcn.101052ed
and dword [esi + 0x38], 0xfffffffb
mov esi, dword [esi + 4]
test esi, esi
jne 0x101056e5
mov eax, dword [edi + 0x24]
test eax, eax
je 0x10105774
cmp dword [eax], 0
jne 0x10105757
mov ecx, dword [eax + 0x38]
test cl, 1
je 0x10105757
and ecx, 0xfffffffe
mov edx, 0x10063d70
mov dword [eax + 0x38], ecx
mov ecx, dword [eax + 0xc]
mov bx, word [ecx]
cmp bx, word [edx]
jne 0x1010574c
test bx, bx
je 0x10105748
mov bx, word [ecx + 2]
cmp bx, word [edx + 2]
jne 0x1010574c
add ecx, 4
add edx, 4
test bx, bx
jne 0x10105726
xor ecx, ecx
jmp 0x10105751
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x10105757
mov esi, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x1010570b
test esi, esi
je 0x10105774
cmp dword [edi + 0x28], eax
je 0x10105774
push eax
push 1
push 1
push esi
mov ecx, edi
call fcn.101052ed
mov ecx, dword [esp + 0xf4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10236010
mov esp, ebp
pop ebp
ret 4