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

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x100cc254
mov dword [esp + 4], eax
jmp edx
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x100cc278
cmp dword [esp + 0xc], 2
jne 0x100cc275
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x10]
push eax
call ecx
add esp, 0x10
ret
xor eax, eax
ret
mov dword [esp + 4], eax
jmp 0x100cc290
mov eax, 0x50
call fcn.100e0610
mov eax, dword [0x101636b4]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
push esi
xor esi, esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
xor ebp, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
push edi
mov edi, dword [esp + 0x64]
cmp ebx, 0x200
jge 0x100cc2ee
push ebp
push ebp
push 0x78
jmp 0x100ccaa9
cmp ecx, 2
jl 0x100ccaa0
push ebx
call fcn.1009f220
add esp, 4
cmp dword [esp + 0x14], eax
jg 0x100ccaa0
call fcn.10093ea0
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x100cca87
push ebp
call fcn.10093f70
push ebp
call fcn.10093d50
push ebp
mov dword [esp + 0x44], eax
call fcn.10093d50
push ebp
mov dword [esp + 0x28], eax
call fcn.10093d50
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x100cca87
mov eax, ebx
xor ecx, ecx
mov ebx, dword [esp + 0x14]
cdq
idiv ebx
mov ebp, edx
mov edx, eax
movd xmm0, edx
pshufd xmm3, xmm0, 0
movd xmm0, ebp
pshufd xmm5, xmm0, 0
cmp ebx, 0x10
jb 0x100cc458
movaps xmm4, xmmword [0x1010e430]
mov eax, ebx
and eax, 0x8000000f
jns 0x100cc38b
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm2, xmmword [0x1010bf90]
sub ebx, eax
paddd xmm2, xmm3
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
movaps xmm1, xmm5
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
pand xmm0, xmm1
pandn xmm1, xmm3
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x48], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x58], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x68], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movups xmmword [esp + ecx*4 + 0x78], xmm0
add ecx, 0x10
cmp ecx, ebx
jl 0x100cc3a0
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
jge 0x100cc477
mov esi, dword [esp + 0x14]
cmp ecx, ebp
lea eax, [edx + 1]
cmovge eax, edx
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, esi
jl 0x100cc460
mov ebx, dword [esp + 0x14]
xor esi, esi
cmp dword [edi + 0x10], 0
jne 0x100cc48d
call fcn.100637e0
mov dword [edi + 0x10], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x18], 0
jne 0x100cc4a3
call fcn.10063940
mov dword [edi + 0x18], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x14], 0
jne 0x100cc4b9
call fcn.100637e0
mov dword [edi + 0x14], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x1c], 0
jne 0x100cc4cf
call fcn.10063940
mov dword [edi + 0x1c], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x20], 0
jne 0x100cc4e5
call fcn.10063940
mov dword [edi + 0x20], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x24], 0
jne 0x100cc4fb
call fcn.10063940
mov dword [edi + 0x24], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x28], 0
jne 0x100cc511
call fcn.10063940
mov dword [edi + 0x28], eax
test eax, eax
je 0x100cca83
cmp dword [edi + 0x2c], 0
jne 0x100cc527
call fcn.10063940
mov dword [edi + 0x2c], eax
test eax, eax
je 0x100cca83
cmp ebx, 2
jle 0x100cc598
lea eax, [ebx - 2]
mov dword [edi + 4], 1
push eax
push 0
call fcn.10051810
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x100cca83
mov eax, dword [edi + 0x30]
test eax, eax
je 0x100cc564
push 0x1009f260
push eax
call fcn.100518a0
add esp, 8
mov ebx, 2
mov dword [edi + 0x30], ebp
cmp dword [esp + 0x14], ebx
jle 0x100cc594
call fcn.1009f2a0
mov dword [esp + 0x34], eax
test eax, eax
je 0x100cca83
push eax
push ebp
call fcn.100518f0
inc ebx
add esp, 8
cmp ebx, dword [esp + 0x14]
jl 0x100cc572
mov ebx, dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [edi + 0x14]
call fcn.10063570
add esp, 8
test eax, eax
je 0x100cca83
xor ebp, ebp
test ebx, ebx
jle 0x100cc853
nop dword [eax]
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
test ebp, ebp
jne 0x100cc5d5
mov ebx, dword [edi + 0x1c]
jmp 0x100cc5f5
cmp ebp, 1
jne 0x100cc5df
mov ebx, dword [edi + 0x20]
jmp 0x100cc5f5
lea eax, [ebp - 2]
push eax
push dword [esp + 0x2c]
call fcn.10051a20
add esp, 8
mov dword [esp + 0x34], eax
mov ebx, dword [eax]
push 4
push ebx
call fcn.10063a60
mov ecx, dword [esp + ebp*4 + 0x50]
add esp, 8
mov dword [esp + 0x20], ecx
push dword [esp + 0x24]
push 0
push 0
push 0
push ecx
push ebx
call fcn.100d7140
add esp, 0x18
test eax, eax
je 0x100cca83
xor esi, esi
cmp esi, ebp
jge 0x100cc664
test esi, esi
jne 0x100cc633
mov eax, dword [edi + 0x1c]
jmp 0x100cc64f
cmp esi, 1
jne 0x100cc63d
mov eax, dword [edi + 0x20]
jmp 0x100cc64f
lea eax, [esi - 2]
push eax
push dword [esp + 0x2c]
call fcn.10051a20
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.10063390
add esp, 8
test eax, eax
je 0x100cc7cd
inc esi
jmp 0x100cc626
call fcn.10063b50
mov esi, dword [esp + 0x30]
push eax
push ebx
push esi
call fcn.10095e60
add esp, 0xc
test eax, eax
je 0x100cca83
call fcn.10055ae0
push 4
push esi
call fcn.10063a60
push dword [esp + 0x18]
push dword [edi + 0x14]
push esi
push dword [esp + 0x2c]
call fcn.100a44b0
add esp, 0x18
test eax, eax
je 0x100cc781
mov esi, dword [esp + ebp*4 + 0x48]
add esi, dword [esp + 0x40]
mov dword [esp + 0x44], esi
cmp ebp, 1
jne 0x100cc6c6
push dword [esp + 0x10]
push dword [edi + 0x20]
push dword [edi + 0x1c]
jmp 0x100cc6d6
test ebp, ebp
je 0x100cc830
push dword [esp + 0x10]
push ebx
push dword [edi + 0x10]
push dword [esp + 0x24]
call fcn.10096070
add esp, 0x10
test eax, eax
je 0x100cca83
lea eax, [esi - 4]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x1c]
push esi
call fcn.1007a770
add esp, 0xc
test eax, eax
je 0x100cca83
push esi
call fcn.100636f0
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x100cc720
cmp esi, 0xf
jbe 0x100cc7d6
push dword [esp + 0x1c]
push 2
push dword [esp + 0x2c]
call fcn.100d70f0
inc dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x100cca83
cmp dword [esp + 0x14], 4
jle 0x100cc766
mov ecx, dword [esp + 0x20]
cmp esi, 9
mov esi, dword [esp + 0x2c]
sbb eax, eax
and eax, 2
dec eax
add ecx, eax
inc esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
jmp 0x100cc608
mov esi, dword [esp + 0x2c]
cmp esi, 4
je 0x100cc829
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x2c], esi
jmp 0x100cc608
call fcn.100558e0
mov ecx, eax
and ecx, 0xff000000
cmp ecx, 0x3000000
jne 0x100cca83
and eax, 0xfff
cmp eax, 0x6c
jne 0x100cca83
call fcn.10055900
mov esi, dword [esp + 0x1c]
push esi
push 2
push dword [esp + 0x2c]
call fcn.100d70f0
inc esi
add esp, 0xc
mov dword [esp + 0x1c], esi
test eax, eax
je 0x100cca83
mov ecx, dword [esp + 0x20]
jmp 0x100cc608
cmp ebp, 1
jle 0x100cc7f5
mov eax, dword [esp + 0x34]
push dword [edi + 0x10]
push dword [eax + 0xc]
call fcn.10063570
add esp, 8
test eax, eax
je 0x100cca83
push dword [esp + 0x18]
push dword [edi + 0x10]
call fcn.10063570
add esp, 8
test eax, eax
je 0x100cca83
push ebp
push 3
push dword [esp + 0x2c]
call fcn.100d70f0
add esp, 0xc
test eax, eax
je 0x100cca83
mov esi, dword [esp + 0x44]
jmp 0x100cc848
or ebp, 0xffffffff
xor esi, esi
jmp 0x100cc848
push 0
push 3
push dword [esp + 0x2c]
call fcn.100d70f0
add esp, 0xc
test eax, eax
je 0x100cca83
inc ebp
cmp ebp, dword [esp + 0x14]
jl 0x100cc5c0
push dword [edi + 0x20]
push dword [edi + 0x1c]
call fcn.10063390
add esp, 8
test eax, eax
jns 0x100cc871
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], ecx
call fcn.10063b50
mov esi, dword [esp + 0x18]
push eax
push dword [edi + 0x1c]
push esi
call fcn.10095e60
add esp, 0xc
test eax, eax
je 0x100cca83
call fcn.10063b50
mov ebx, dword [esp + 0x30]
push eax
push dword [edi + 0x20]
push ebx
call fcn.10095e60
mov ebp, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x100cca87
push ebp
push ebx
push esi
push dword [esp + 0x44]
call fcn.10096070
add esp, 0x10
test eax, eax
je 0x100cca87
mov ebp, dword [esp + 0x28]
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x100cc922
lea eax, [esi - 2]
push eax
push ebp
call fcn.10051a20
mov ebx, eax
call fcn.10063b50
push eax
push dword [ebx]
push dword [ebx + 4]
call fcn.10095e60
add esp, 0x14
test eax, eax
je 0x100cca83
push dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
push dword [ebx + 4]
push eax
push eax
call fcn.10096070
add esp, 0x10
test eax, eax
je 0x100cca83
inc esi
cmp esi, dword [esp + 0x14]
jl 0x100cc8d7
call fcn.100637e0
mov ebx, eax
test ebx, ebx
je 0x100cca83
push 4
push dword [esp + 0x3c]
push ebx
call fcn.10063b60
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x14]
push dword [edi + 0x18]
call fcn.100a44b0
push ebx
mov esi, eax
call fcn.10063690
add esp, 0x20
test esi, esi
je 0x100cca83
call fcn.100637e0
mov ebx, eax
test ebx, ebx
je 0x100cca83
push 4
push dword [edi + 0x18]
push ebx
call fcn.10063b60
mov esi, dword [esp + 0x1c]
push esi
push dword [esp + 0x28]
push ebx
push dword [edi + 0x24]
push 0
call fcn.100b5980
add esp, 0x20
test eax, eax
je 0x100cca7a
push esi
push dword [esp + 0x34]
push ebx
push dword [edi + 0x28]
push 0
call fcn.100b5980
add esp, 0x14
test eax, eax
je 0x100cca7a
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x100cc9ed
nop
lea eax, [esi - 2]
push eax
push ebp
call fcn.10051a20
push dword [esp + 0x18]
mov eax, dword [eax + 4]
push eax
push ebx
push eax
push 0
call fcn.100b5980
add esp, 0x1c
test eax, eax
je 0x100cca7a
inc esi
cmp esi, dword [esp + 0x14]
jl 0x100cc9c0
push ebx
call fcn.10063690
add esp, 4
call fcn.100637e0
mov ebx, eax
test ebx, ebx
je 0x100cca83
push 4
push dword [edi + 0x1c]
push ebx
call fcn.10063b60
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x20]
push dword [edi + 0x2c]
call fcn.100a44b0
add esp, 0x1c
test eax, eax
je 0x100cca7a
mov edi, 2
cmp dword [esp + 0x14], edi
jle 0x100cca66
lea eax, [edi - 2]
push eax
push ebp
call fcn.10051a20
mov esi, eax
push 4
push dword [esi]
push ebx
call fcn.10063b60
push dword [esp + 0x24]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100a44b0
add esp, 0x24
test eax, eax
je 0x100cca7a
inc edi
cmp edi, dword [esp + 0x14]
jl 0x100cca32
push ebx
call fcn.10063690
mov ebp, dword [esp + 0x14]
add esp, 4
mov esi, 1
jmp 0x100ccaba
push ebx
call fcn.10063690
add esp, 4
mov ebp, dword [esp + 0x10]
push 0
push 0
push 3
push 0x81
push 4
call fcn.100559f0
add esp, 0x14
xor esi, esi
jmp 0x100ccaba
push 0
push 0
push 0xa5
push 0x81
push 4
xor esi, esi
call fcn.100559f0
add esp, 0x14
push ebp
call fcn.10093c50
push ebp
call fcn.10093cc0
mov ecx, dword [esp + 0x64]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100dfe28
add esp, 0x50
ret