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

Disassembly:
sub esp, 0x154
mov eax, dword [0x1021622c]
mov edx, dword [0x10216234]
push ebx
push ebp
push esi
mov ebp, ecx
mov ecx, dword [0x10216230]
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
xor esi, esi
push ecx
mov ecx, ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
call fcn.101cf1f0
mov ebx, dword [eax]
lea eax, [ebp + 0x170]
mov edx, eax
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0xd4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx]
mov esi, dword [0x102163a0]
mov dword [esp + 0xd4], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x128], esi
mov esi, dword [0x102163a4]
mov dword [esp + 0x12c], esi
mov esi, dword [0x102163a8]
mov dword [esp + 0xdc], edx
mov edx, dword [eax]
mov dword [esp + 0xd8], ecx
xor ecx, ecx
mov dword [esp + 0x130], esi
mov esi, dword [0x102163ac]
mov dword [esp + 0xec], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x134], esi
mov dword [esp + 0x120], ecx
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x18]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x54]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0xe4], 8
mov dword [esp + 0x11c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], 8
mov dword [esp + 0x70], esi
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
mov edi, edi
mov eax, dword [eax + 8]
test eax, eax
je 0x101d475a
cmp esi, dword [eax + 0xc]
jae 0x101d475a
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 0x1f
mov edi, 1
shl edi, cl
mov edx, esi
shr edx, 5
test dword [eax + edx*4], edi
setne al
test al, al
je 0x101d475a
mov eax, dword [ebp + 0x80]
add eax, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edi
lea ebx, [ebx]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x101d4739
cmp esi, dword [eax + 0x14]
jae 0x101d4739
mov eax, dword [ecx + 8]
test eax, eax
je 0x101d458d
cmp esi, dword [ecx + 0xc]
jae 0x101d458d
mov edx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
jmp 0x101d4591
xor eax, eax
mov edx, eax
mov dword [esp + 0x160], eax
lea ecx, [edi + edi*4]
mov eax, 0x1f
shl eax, cl
shr edx, 5
and eax, edx
and eax, 0xfffff
shr eax, cl
cmp eax, 0x13
jne 0x101d4739
test bl, 1
je 0x101d4739
test edi, edi
jne 0x101d45dd
mov eax, dword [0x10216370]
mov ecx, dword [0x10216374]
mov edx, dword [0x10216378]
mov esi, dword [0x1021637c]
jmp 0x101d4630
cmp edi, 1
jne 0x101d45fb
mov eax, dword [0x10216380]
mov ecx, dword [0x10216384]
mov edx, dword [0x10216388]
mov esi, dword [0x1021638c]
jmp 0x101d4630
cmp edi, 2
jne 0x101d4619
mov eax, dword [0x10216390]
mov ecx, dword [0x10216394]
mov edx, dword [0x10216398]
mov esi, dword [0x1021639c]
jmp 0x101d4630
mov eax, dword [0x102163a0]
mov ecx, dword [0x102163a4]
mov edx, dword [0x102163a8]
mov esi, dword [0x102163ac]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
test edi, edi
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x6c], ebx
jne 0x101d4677
mov dword [esp + 0x8c], 0x1f
lea edx, [esp + 0x40]
jmp 0x101d46f6
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [ebp + 0x5c]
mov dword [esp + 0x94], 0x80000000
call fcn.101ce320
mov ebx, dword [eax]
test bl, 1
je 0x101d4722
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], eax
mov eax, dword [0x102163a4]
mov dword [esp + 0x64], edx
mov edx, dword [0x102163a0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
mov edx, dword [0x102163ac]
mov eax, 0x1f
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x102163a8]
sub eax, edi
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x8c], eax
lea edx, [esp + 0x44]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x5c]
push edx
call fcn.101ceb90
mov ebx, dword [eax]
test bl, 1
je 0x101d4722
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x5c]
call fcn.101ce8c0
mov ebx, dword [eax]
mov edx, dword [ebp + 0x1c]
mov esi, dword [esp + 0x14]
add edi, 1
cmp edi, dword [edx + 0x18]
mov dword [esp + 0x10], edi
je 0x101d474d
mov edi, dword [esp + 0x38]
add edi, 1
cmp edi, 4
mov dword [esp + 0x38], edi
jb 0x101d4560
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 0x1c]
add dword [esp + 0x24], 1
cmp edi, dword [eax + 0x18]
je 0x101d4772
mov eax, dword [esp + 0x28]
add esi, 1
cmp esi, dword [eax + 0xc]
mov dword [esp + 0x14], esi
jbe 0x101d4510
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x2c8], edi
cmp byte [eax + ebp + 0xd0], 1
jne 0x101d478e
mov byte [eax + ebp + 0xd0], 0
mov eax, dword [esp + 0x168]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
pop ebx
add esp, 0x154
ret 4