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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], 0
mov byte [esp + 0xf], 0
test esi, esi
je 0x101267e5
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call edx
test byte [eax], 1
jne 0x101267e5
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
lea ecx, [esp + 0x48]
push ecx
push 3
mov ecx, esi
call edx
test al, al
jne 0x101260ba
mov esi, 0x80004005
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov ebx, dword [esp + 0x48]
lea eax, [ebx - 2]
cmp eax, 7
ja case.default.0x101260ca
jmp dword [eax*4 + 0x101267fc]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
push edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x24]
push edi
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x20]
push eax
push ecx
call fcn.10126010
xor esi, esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], esi
mov byte [esp + 0xf], 0
mov byte [esp + 0xe], 0
cmp ebx, 6
jne 0x101261cf
mov eax, dword [esp + 0x50]
mov ecx, 1
add eax, 0xffffffeb
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ecx
cmp eax, 0x2f
ja case.0x10126141.53
movzx edx, byte [eax + 0x10126850]
jmp dword [edx*4 + 0x1012681c]
and edi, 0x800000
xor eax, eax
or edi, eax
mov byte [esp + 0xf], cl
mov dword [esp + 0x18], ecx
jne case.0x10126141.22
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov byte [esp + 0xe], cl
mov esi, ecx
xor edi, edi
jmp 0x101261d2
mov esi, 2
xor edi, edi
jmp 0x101261d2
mov esi, 3
xor edi, edi
jmp 0x101261d2
mov byte [esp + 0xe], cl
mov esi, 9
xor edi, edi
jmp 0x101261d2
mov esi, 0xa
xor edi, edi
jmp 0x101261d2
mov esi, 0xb
xor edi, edi
jmp 0x101261d2
mov esi, 4
xor edi, edi
jmp 0x101261d2
mov esi, 5
xor edi, edi
jmp 0x101261d2
mov esi, 6
xor edi, edi
jmp 0x101261d2
mov esi, 8
xor edi, edi
jmp 0x101261d2
mov esi, 7
xor edi, edi
jmp 0x101261d2
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
call fcn.10127230
test al, al
je 0x101261e2
or dword [ebp + 0x28], 8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x38]
push edx
push eax
mov eax, dword [ebp + 0x30]
push ecx
mov ecx, dword [ebp + 0x28]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [edx + esi*4]
mov edx, dword [esp + 0x50]
push edi
mov edi, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edi
push ecx
push edx
call fcn.10126890
mov esi, eax
test esi, esi
jl 0x101267da
cmp byte [esp + 0xf], 0
je 0x1012626e
test edi, edi
je 0x1012626e
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x1012626e
mov ecx, dword [esp + 0x10]
mov dword [eax + 0xb4], ecx
mov eax, dword [esp + 0x70]
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x1012626e
mov eax, dword [edi]
mov edx, dword [eax + 0x44]
or dword [eax + 0x40], 0x4000
mov dword [eax + 0x44], edx
cmp byte [esp + 0xe], 0
je 0x101267a7
test edi, edi
je 0x101267a7
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x101267a7
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x101262ca
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [edi]
dec eax
mov dword [ecx + 0x64], eax
mov edi, dword [edi]
mov eax, 3
cmp dword [edi + 0x64], eax
jbe 0x101267a7
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x64], eax
mov eax, dword [ebp + 0x34]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x64], 3
mov eax, dword [ebp + 0x34]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov edx, dword [esp + 0x54]
xor ebx, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xe], bl
cmp dword [esp + 0x80], ebx
je 0x101267a7
mov esi, dword [ebp + 0x2c]
xor edi, edi
cmp dword [ebp + 0x1c], edi
je 0x1012636e
cmp esi, edi
je 0x1012636e
cmp dword [esi], edi
jne 0x10126366
push 0x14
call fcn.10119140
cmp eax, edi
je 0x10126337
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 0xc], edi
mov dword [eax + 8], edi
mov dword [eax + 0x10], edi
jmp 0x10126339
xor eax, eax
mov dword [esi], eax
cmp eax, edi
jne 0x1012634f
mov esi, 0x8007000e
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov dword [eax + 8], ecx
mov byte [esp + 0xf], 1
mov byte [esp + 0xe], 1
lea ebx, [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x1c]
cmp eax, edi
mov edi, dword [ebp + 0x10]
je 0x10126415
mov ecx, dword [ebp + 0x38]
push 0
push ecx
mov ecx, dword [ebp + 0x30]
lea edx, [esp + 0x28]
push edx
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x24]
push ebx
push edx
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 8]
push ecx
mov ecx, dword [esp + 0x58]
push edi
push eax
push edx
call fcn.10126050
mov esi, eax
test esi, esi
jl 0x101267bd
test ebx, ebx
je 0x1012640d
cmp byte [esp + 0xe], 0
mov edi, dword [edi]
mov eax, dword [edi + 0xb4]
mov ecx, dword [edi + 0x64]
lea eax, [ecx + eax*4]
je 0x101263e7
mov edx, dword [ebp + 0x2c]
mov ecx, dword [edx]
mov dword [ecx + 0x10], eax
mov byte [esp + 0xe], 0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0x2c]
mov esi, dword [edx]
push 0
push 0x10086878
push ecx
push eax
call fcn.101174e0
mov esi, eax
test esi, esi
jl 0x101267bd
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov edi, dword [edx + 0x50]
test edi, edi
je 0x101267a7
jmp 0x10126430
test byte [edi + 0x64], 4
je 0x10126593
mov eax, dword [edi + 0x6c]
mov ecx, dword [edi + 0x68]
mov edx, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x20]
push ecx
push edx
push eax
call fcn.10126010
test byte [ebp + 0x28], 1
mov ecx, dword [ebp + 0x30]
mov esi, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
lea edx, [edx + ecx*4]
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x74]
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], 0
jne 0x101264a3
test eax, eax
je 0x101264a3
lea edx, [esp + 0x3c]
mov ebx, eax
or esi, 1
mov dword [esp + 0x24], edx
cmp dword [ebp + 0x1c], 0
je 0x101264c9
cmp dword [esp + 0x10], 0
je 0x101264c9
mov eax, dword [esp + 0x10]
push 3
call fcn.1010b520
test al, al
je 0x101264c9
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x20], 1
mov ecx, dword [ebp + 0x38]
mov eax, dword [esp + 0x24]
push 0
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x34]
push ebx
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
mov ecx, dword [esp + 0x60]
push edx
call fcn.10126050
test eax, eax
jl 0x1012650f
xor eax, eax
mov esi, eax
test eax, eax
jl 0x101267bd
cmp dword [esp + 0x1c], 0
je 0x1012658b
mov ecx, dword [edi + 0x48]
call fcn.100db690
test al, al
jne 0x1012658b
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
call fcn.101252b0
mov esi, eax
test esi, esi
jl 0x101267bd
cmp byte [esp + 0xe], 0
mov ecx, dword [esp + 0x38]
je 0x10126567
mov edx, dword [ebp + 0x2c]
mov eax, dword [edx]
mov dword [eax + 0x10], ecx
mov byte [esp + 0xe], 0
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 8]
push edx
push edi
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ecx]
call fcn.101174e0
mov esi, eax
test esi, esi
jl 0x101267bd
mov edx, dword [esp + 0x20]
add dword [esp + 0x14], edx
mov edi, dword [edi + 0x58]
test edi, edi
jne 0x10126430
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x14]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x38]
push 4
push 1
push eax
mov eax, dword [ebp + 0x30]
push ecx
mov ecx, dword [ebp + 0x28]
lea edx, [esp + 0x24]
push edx
mov edx, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
or ecx, 8
push ecx
mov ecx, dword [ebp + 0x14]
push 0
push 0
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [ebp + 0x10]
push edx
push eax
push ebx
push edi
call fcn.10126890
mov esi, eax
test esi, esi
jl 0x101267da
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x14]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x14]
mov edi, dword [esp + 0x54]
mov eax, dword [edx]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x10126659
cmp dword [ecx + 0x24], 0
je 0x10126659
test byte [ebp + 0x28], 2
jne 0x10126659
cmp eax, 0xffffffff
je 0x10126659
push edx
mov edx, dword [esp + 0x30]
mov ebx, dword [edx + 8]
push eax
call fcn.10169fd0
mov esi, eax
test esi, esi
jl 0x101267da
or dword [ebp + 0x28], 2
mov eax, dword [edi + 0x1c]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
cmp eax, ecx
jbe 0x10126775
mov edx, dword [ebp + 0x28]
mov ecx, edx
or ecx, 4
mov dword [esp + 0x38], ecx
mov ecx, edx
and ecx, 4
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 0x38]
sub eax, edi
dec eax
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1012669f
mov dword [eax + 0x20], 1
cmp dword [esp + 0x28], 0
jne 0x101266cd
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x101266cd
push 0x4000
push 0
call fcn.100db570
test al, al
je 0x101266cd
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov esi, edi
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push esi
lea ebx, [edx + edi*4]
mov edx, dword [ebp + 0x30]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [ecx + 0x18]
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 8]
push ebx
push edx
push eax
call fcn.10126050
mov esi, eax
test esi, esi
jl 0x101267da
cmp dword [esp + 0x28], 0
jne 0x1012674d
xor ecx, ecx
cmp dword [esp + 0x1c], ecx
jbe 0x1012674d
mov eax, dword [ebx]
mov edx, dword [eax + 0x90]
sub edx, edi
inc ecx
mov dword [eax + 0x9c], edx
add ebx, 4
cmp ecx, dword [esp + 0x1c]
jb 0x10126733
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
inc ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], ecx
cmp ecx, eax
jb 0x10126683
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x34]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
push 0x1008c998
push 0
xor edx, edx
mov eax, edi
call fcn.1010ad00
add esp, 8
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x14]
xor esi, esi
mov dword [eax], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
cmp byte [esp + 0xf], 0
je 0x101267da
mov edi, dword [ebp + 0x2c]
mov ecx, dword [edi]
test ecx, ecx
je 0x101267d4
push 1
call fcn.101047b0
mov dword [edi], 0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
mov edx, dword [ebp + 0x34]
pop edi
pop esi
mov dword [edx], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x38