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

Disassembly:
sub esp, 0x94
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xfc]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x1c], edi
test eax, eax
je 0x100c36a5
mov byte [eax], 0
mov eax, dword [edi + 0x3e7a8]
mov esi, dword [esp + 0xc4]
push dword [eax + 0x48]
push ebx
push 1
push esi
push dword [esp + 0xdc]
push dword [esp + 0xdc]
call fcn.100c34e0
push 0x100c31f0
push 2
push esi
push ebx
call fcn.105265a0
mov edx, 1
add esp, 0x28
mov eax, edx
cmp esi, edx
jle 0x100c3c8e
nop dword [eax]
movzx ecx, word [ebx + eax*2]
cmp cx, word [ebx + eax*2 - 2]
je 0x100c3700
mov word [ebx + edx*2], cx
inc edx
inc eax
cmp eax, esi
jl 0x100c36f0
cmp edx, 2
jl 0x100c3c8e
mov eax, dword [edi + 0x3e7a8]
add ebp, 0x56
mov edi, ebx
mov dword [esp + 0x20], ebp
sub edi, ebp
mov dword [esp + 0x18], edx
mov ebx, 0xff
cmp byte [eax + 0x4c], 0
je 0x100c37ab
mov esi, ebp
mov ebp, dword [esp + 0x1c]
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp + 0x3e7a8]
movsx eax, word [esi + edi]
mov ecx, dword [ecx + 0x48]
sub ecx, 8
je 0x100c378a
sub ecx, 2
je 0x100c3773
sub ecx, 2
jne 0x100c378a
test eax, eax
jns 0x100c3764
xor eax, eax
jmp 0x100c379a
cmp eax, 0xfff
mov ecx, 0xfff
cmovg eax, ecx
jmp 0x100c379a
test eax, eax
jns 0x100c377b
xor eax, eax
jmp 0x100c379a
cmp eax, 0x3ff
mov ecx, 0x3ff
cmovg eax, ecx
jmp 0x100c379a
test eax, eax
jns 0x100c3792
xor eax, eax
jmp 0x100c379a
cmp eax, 0xff
cmovg eax, ebx
mov word [esi], ax
add esi, 2
sub edx, 1
jne 0x100c3740
mov ebp, dword [esp + 0x20]
jmp 0x100c37e0
mov ecx, ebp
nop dword [eax]
movzx esi, word [ecx + edi]
mov eax, esi
cmp si, bx
jle 0x100c37bf
or al, 0xff
jmp 0x100c37d2
test si, si
movzx eax, al
mov dword [esp + 0x20], 0
cmovs eax, dword [esp + 0x20]
movzx eax, al
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x100c37b0
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xb4]
mov eax, dword [esp + 0x18]
mov byte [ebp + 0x30], al
mov eax, dword [ecx + 0x160]
mov edi, dword [ecx + 0x10dc]
movzx ebp, byte [ebx + 0x10661ea0]
mov dword [esp + 0x3c], eax
movzx eax, byte [ebx + 0x10661eb8]
mov dword [esp + 0x2c], eax
test edi, edi
js 0x100c381c
mov edi, eax
jmp 0x100c3821
sar edi, 3
add edi, eax
mov esi, dword [ecx + 0x10d4]
test esi, esi
js 0x100c382f
mov esi, ebp
jmp 0x100c3834
sar esi, 3
add esi, ebp
mov eax, dword [ecx + 0xf8]
mov edx, dword [ecx + 0xf4]
mov ecx, edx
push dword [esp + 0x18]
sar ebp, cl
mov ecx, eax
sar dword [esp + 0x30], cl
sar edi, cl
mov ecx, edx
sar esi, cl
mov eax, edi
imul eax, esi
mov dword [esp + 0x50], ebp
push eax
push 0
push dword [esp + 0x48]
push dword [esp + 0x44]
push dword [esp + 0x44]
call dword [0x10b486bc]
push dword [esp + 0x44]
push ebp
push edi
push esi
push dword [esp + 0x64]
call fcn.100c3110
add esp, 0x2c
cmp byte [esp + 0xd0], 0
je 0x100c3940
push dword [esp + 0x108]
mov edi, dword [esp + 0x2c]
push dword [esp + 0xbc]
push ebx
mov ebx, dword [esp + 0x20]
push edi
push ebx
push dword [esp + 0x30]
call fcn.100c3210
mov ebp, eax
add esp, 0x18
mov eax, dword [esp + 0x40]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, ebp
imul dword [ebx + 0x31cc]
mov ebx, dword [esp + 0x1c]
add eax, 0x100
adc edx, 0
xor ecx, ecx
shrd eax, edx, 9
sar edx, 9
cmp dword [ebx + 0x5cf98], 1
sete cl
call fcn.10511c50
mov ebx, dword [esp + 0xb4]
cmp edx, edi
jl 0x100c390c
jg 0x100c3900
cmp eax, esi
jbe 0x100c390c
mov eax, dword [esp + 0x24]
mov byte [eax], 1
jmp 0x100c3c8e
push edi
push esi
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x80]
push ebx
push eax
push esi
push dword [esp + 0x30]
call fcn.10220950
mov edi, dword [esp + 0x90]
add esp, 0x18
cmp edi, 0x7fffffff
je 0x100c3c8e
lea eax, [edi + ebp]
jmp 0x100c3999
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x80]
push ebx
push eax
push esi
push ebp
call fcn.10220950
add esp, 0x18
cmp dword [esp + 0x78], 0x7fffffff
je 0x100c3c8e
push dword [esp + 0x108]
mov edi, dword [esp + 0x2c]
push dword [esp + 0xbc]
push ebx
push edi
push esi
push ebp
call fcn.100c3210
mov edi, dword [esp + 0x90]
add esp, 0x18
add eax, edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
imul dword [esi + 0x31cc]
mov ebp, eax
mov esi, edx
mov eax, dword [esp + 0x80]
add ebp, 0x100
mov edx, dword [esp + 0x14]
adc esi, 0
shld ecx, eax, 7
shrd ebp, esi, 9
shl eax, 7
sar esi, 9
add ebp, eax
adc esi, ecx
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx + 0x9f]
and eax, 7
cmp dword [edx + eax*4 + 0x1b7c], 0
jne 0x100c3b7b
cmp dword [ecx], 0
jle 0x100c3b7b
cmp byte [edx + 0x23b6c], 2
jne 0x100c3b73
test ebx, ebx
jle 0x100c3b73
movzx eax, byte [ebx + 0x1066cf80]
xor edx, edx
mov cl, byte [ecx + 0x89]
dec eax
mov dword [esp + 0x44], eax
mov al, byte [ebx + 0x10662008]
cmp cl, al
je 0x100c3a3e
nop dword [eax]
movzx eax, al
inc edx
mov al, byte [eax + 0x10662040]
cmp cl, al
jne 0x100c3a30
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x10bc]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 0x10b8]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x10b0]
mov eax, dword [eax]
mov eax, dword [eax]
movzx eax, byte [eax + 0x10662008]
mov ecx, dword [eax*4 + 0x10662080]
mov eax, dword [eax*4 + 0x106620d0]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x10b4]
mov byte [esp + 0x13], al
mov al, byte [ecx + 0x10b5]
mov byte [esp + 0x12], al
mov eax, dword [ecx + 0x117c]
xor ecx, ecx
movzx eax, byte [eax]
cmp eax, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
setge cl
mov eax, dword [eax + 0x1180]
movzx eax, byte [eax]
cmp eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
setge al
cmp byte [esp + 0x13], 0
mov dword [esp + 0x18], eax
je 0x100c3afc
mov eax, dword [esp + 0x38]
mov al, byte [eax + 0x9f]
test al, al
mov eax, dword [esp + 0x38]
js 0x100c3aea
cmp byte [eax + 0x14], 0
jle 0x100c3afc
mov eax, dword [eax]
xor ecx, ecx
movzx eax, byte [eax + 0x10661ea0]
cmp eax, dword [esp + 0x30]
setge cl
cmp byte [esp + 0x12], 0
je 0x100c3b39
mov eax, dword [esp + 0x24]
mov al, byte [eax + 0x9f]
test al, al
mov eax, dword [esp + 0x24]
js 0x100c3b1b
cmp byte [eax + 0x14], 0
jle 0x100c3b39
mov eax, dword [eax]
mov dword [esp + 0x18], 0
movzx eax, byte [eax + 0x10661eb8]
cmp eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
setge al
jmp 0x100c3b3d
mov eax, dword [esp + 0x18]
cmp byte [esp + 0x13], 0
je 0x100c3b4f
cmp byte [esp + 0x12], 0
je 0x100c3b58
add ecx, eax
jmp 0x100c3b58
xor ecx, ecx
cmp byte [esp + 0x12], cl
cmovne ecx, eax
mov eax, dword [esp + 0x44]
lea ecx, [ecx + eax*2]
add ecx, eax
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x14]
add eax, ecx
mov eax, dword [edx + eax*4 + 0x7c50]
jmp 0x100c3b75
xor eax, eax
sub edi, eax
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
push 1
movzx eax, byte [ecx + 0x5d038]
push eax
push esi
push ebp
push ebx
mov ebx, dword [esp + 0x50]
lea eax, [ecx + 0x3abf0]
push ebx
push 0x9c
push 0
push 0
push 0
push edi
push edx
push eax
call fcn.100c4160
mov eax, dword [esp + 0x74]
add esp, 0x34
cmp esi, dword [eax + 4]
jg 0x100c3c8e
jl 0x100c3bc8
cmp ebp, dword [eax]
jae 0x100c3c8e
mov dword [eax], ebp
mov dword [eax + 4], esi
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100c3bdb
mov dword [eax], 1
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0x2c]
push eax
push ebx
push dword [esp + 0x58]
call fcn.105137c0
mov ebx, dword [esp + 0x20]
mov esi, edi
mov edi, dword [esp + 0x60]
mov ecx, 0x29
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x64]
lea eax, [ebx + 0x23b81]
push dword [esi + 0x144]
push eax
push dword [esp + 0x70]
call fcn.105137c0
push dword [esi + 0x144]
push dword [ebx + 0x10c8]
push dword [esp + 0x80]
call fcn.105137c0
mov ecx, dword [esp + 0x88]
add esp, 0x24
test ecx, ecx
je 0x100c3c46
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x100c3c54
mov eax, dword [esp + 0x78]
mov dword [ecx], eax
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x100c3c6f
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x100c3c80
mov al, byte [esp + 0x98]
mov byte [ecx], al
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100c3c8e
mov dword [eax], 1
mov ecx, dword [esp + 0xa0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x94
ret