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

Disassembly:
sub esp, 0x68
mov eax, edx
mov dword [esp + 0x20], ecx
sub eax, dword [esp + 0x78]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x6c]
push ebx
push ebp
mov ebp, eax
mov dword [esp + 0x20], edx
sub ebp, dword [esp + 0x7c]
push esi
mov esi, edx
mov dword [esp + 0x5c], ebp
sub esi, dword [esp + 0x80]
mov ebp, eax
sub ebp, dword [esp + 0x84]
mov ecx, esi
sub ecx, ebp
mov dword [esp + 0x28], ebp
and ecx, 1
mov dword [esp + 0xc], ebp
mov dword [esp + 0x60], ecx
mov ebx, esi
mov ecx, ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x88]
push edi
mov edi, esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x44], 4
mov dword [ecx + esi*4], edx
mov edx, dword [esp + 0x90]
mov dword [edx + ebp*4], eax
xor ebp, ebp
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], ebp
lea eax, [edx + eax*4]
sub edx, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
lea eax, [edx + eax*4]
mov dword [esp + 0x34], eax
lea edx, [ecx + 4]
lea eax, [ecx - 4]
lea edx, [edx + esi*4]
lea eax, [eax + esi*4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
cmp ebx, dword [esp + 0x5c]
jle 0x100c2eda
sub eax, 4
mov dword [esp + 0x6c], eax
mov dword [eax], 0xffffffff
or eax, 0xffffffff
jmp 0x100c2ee6
add eax, 4
mov dword [esp + 0x6c], eax
mov eax, 1
add ebx, eax
mov dword [esp + 0x24], ebx
cmp edi, dword [esp + 0x60]
jge 0x100c2f0b
add edx, 4
mov ecx, 1
mov dword [esp + 0x58], edx
or eax, 0xffffffff
mov dword [edx], 0xffffffff
mov edx, ecx
jmp 0x100c2f1c
sub edx, 4
or ecx, 0xffffffff
mov dword [esp + 0x58], edx
mov eax, 1
or edx, ecx
add dword [esp + 0x48], ecx
add edi, edx
add dword [esp + 0x4c], eax
mov esi, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], esi
cmp edi, ebx
jl 0x100c2ff7
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x3c], ebx
mov eax, dword [ebx - 8]
lea ebp, [ebx - 8]
cmp eax, dword [ebx]
mov dword [esp + 0x70], ebp
lea edi, [eax + 1]
cmovl edi, dword [ebx]
mov edx, edi
mov dword [esp + 0x68], edi
sub edx, esi
mov eax, edi
cmp edi, dword [esp + 0x7c]
jge 0x100c2f94
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x80]
cmp edx, ebp
jge 0x100c2f88
mov ecx, dword [edi + eax*4]
cmp ecx, dword [esi + edx*4]
jne 0x100c2f88
inc eax
inc edx
cmp eax, dword [esp + 0x7c]
jl 0x100c2f74
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x9c]
mov ecx, eax
sub ecx, edi
mov dword [ebx - 4], eax
mov edi, dword [esp + 0x1c]
cmp ecx, dword [ebp + 4]
mov ecx, 1
mov ebp, dword [esp + 0x70]
cmovg edi, ecx
cmp dword [esp + 0x64], 0
mov dword [esp + 0x1c], edi
je 0x100c2fdc
cmp dword [esp + 0x10], esi
jg 0x100c2fdc
cmp esi, dword [esp + 0x18]
jg 0x100c2fdc
mov ecx, dword [esp + 0x90]
cmp dword [ecx + esi*4], eax
jle 0x100c341f
sub esi, 2
mov dword [esp + 0x3c], ebp
mov ebx, ebp
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x24]
jge 0x100c2f40
mov ebp, dword [esp + 0x10]
cmp ebp, dword [esp + 0x5c]
jle 0x100c3013
mov ecx, dword [esp + 0x34]
sub ecx, 4
or eax, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [ecx], bind
jmp 0x100c301d
add dword [esp + 0x34], 4
mov eax, 1
mov esi, dword [esp + 0x18]
add ebp, eax
mov edi, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
cmp esi, dword [esp + 0x60]
jge 0x100c3046
add edi, 4
mov ecx, 1
or eax, 0xffffffff
mov edx, ecx
mov dword [edi], bind
jmp 0x100c3053
or ecx, 0xffffffff
sub edi, 4
mov eax, 1
or edx, ecx
add dword [esp + 0x50], ecx
add esi, edx
add dword [esp + 0x54], eax
mov ebx, esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x40], ebx
cmp esi, ebp
jl 0x100c313f
mov eax, edi
mov dword [esp + 0x3c], eax
nop dword [eax]
mov ebp, dword [eax - 8]
lea edx, [eax - 8]
mov eax, dword [eax]
cmp ebp, eax
mov dword [esp + 0x70], edx
lea ecx, [eax - 1]
cmovge ebp, ecx
mov edi, ebp
mov esi, ebp
sub edi, ebx
cmp ebp, dword [esp + 0x28]
jle 0x100c30e0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x30]
add ecx, 0xfffffffc
mov ebx, dword [esp + 0x84]
add edx, 0xfffffffc
lea ecx, [ecx + edi*4]
lea edx, [edx + ebp*4]
nop
cmp edi, ebx
jle 0x100c30d8
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x100c30d8
dec esi
sub edx, 4
dec edi
sub ecx, 4
cmp esi, dword [esp + 0x28]
jg 0x100c30c0
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x9c]
sub ebp, esi
mov ecx, dword [esp + 0x1c]
cmp ebp, dword [eax + 4]
mov eax, 1
cmovg ecx, eax
cmp dword [esp + 0x64], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov dword [eax - 4], esi
jne 0x100c3126
cmp dword [esp + 0x24], ebx
jg 0x100c3126
cmp ebx, dword [esp + 0x20]
jg 0x100c3126
mov eax, dword [esp + 0x8c]
cmp esi, dword [eax + ebx*4]
jle 0x100c3445
sub ebx, 2
mov dword [esp + 0x3c], edx
mov eax, edx
mov dword [esp + 0x40], ebx
cmp ebx, dword [esp + 0x10]
jge 0x100c3080
jmp 0x100c3143
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x94], 0
jne 0x100c33ac
test ecx, ecx
je 0x100c3399
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 8]
jle 0x100c3399
mov ecx, dword [esp + 0x20]
xor ebp, ebp
mov eax, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3c], eax
cmp ecx, dword [esp + 0x24]
jl 0x100c3298
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], edx
nop
mov ebx, dword [esp + 0x8c]
mov esi, dword [ebx + eax*4]
mov ebx, esi
sub ebx, eax
mov eax, edi
mov edi, dword [esp + 0x74]
cmp dword [esp + 0x3c], edi
mov edi, ebx
cmovle eax, edx
sub edi, eax
mov eax, dword [esp + 0x28]
sub edi, eax
sub edi, ecx
add edi, esi
cmp edi, dword [esp + 0x44]
jle 0x100c325b
cmp edi, ebp
jle 0x100c325b
mov ebp, dword [esp + 0x9c]
mov ebp, dword [ebp + 4]
add eax, ebp
cmp eax, esi
jg 0x100c3257
cmp esi, dword [esp + 0x7c]
jge 0x100c3257
lea eax, [ecx + ebp]
cmp eax, ebx
jg 0x100c3257
cmp ebx, dword [esp + 0x88]
jge 0x100c3257
mov eax, dword [esp + 0x30]
mov ecx, 1
mov edx, dword [esp + 0x80]
mov eax, dword [eax + esi*4 - 4]
cmp eax, dword [edx + ebx*4 - 4]
mov edx, dword [esp + 0x40]
jne 0x100c3250
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x30]
add edx, 0xfffffffc
sub eax, 4
lea edx, [edx + ebx*4]
lea esi, [eax + esi*4]
cmp ecx, ebp
je 0x100c33ca
mov eax, dword [esi - 4]
sub esi, 4
sub edx, 4
inc ecx
cmp eax, dword [edx]
je 0x100c3236
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x84]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x3c]
add edx, 2
mov edi, dword [esp + 0x68]
sub eax, 2
sub edi, 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x68], edi
cmp eax, dword [esp + 0x24]
jge 0x100c31a0
test ebp, ebp
jg 0x100c346b
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x18]
xor esi, esi
mov eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], eax
cmp ecx, dword [esp + 0x10]
jl 0x100c3399
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x90]
mov edx, dword [edx + eax*4]
mov ebp, edx
sub ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x40], ebx
cmovle eax, ecx
mov ecx, dword [esp + 0x7c]
mov ebx, ecx
sub ebx, eax
sub ebx, ebp
sub ebx, edx
add ebx, dword [esp + 0x88]
cmp ebx, dword [esp + 0x44]
jle 0x100c335a
cmp ebx, esi
jle 0x100c335a
cmp dword [esp + 0x28], edx
jge 0x100c335a
mov edi, dword [edi + 4]
mov eax, ecx
sub eax, edi
cmp edx, eax
jg 0x100c335a
cmp dword [esp + 0x84], ebp
jge 0x100c335a
mov eax, dword [esp + 0x88]
sub eax, edi
cmp ebp, eax
jg 0x100c335a
mov eax, dword [esp + 0x30]
xor ecx, ecx
lea esi, [eax + edx*4]
mov eax, dword [esp + 0x80]
lea edx, [eax + ebp*4]
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x100c3356
dec edi
nop dword [eax + eax]
cmp ecx, edi
je 0x100c33fa
mov eax, dword [esi + 4]
add esi, 4
add edx, 4
inc ecx
cmp eax, dword [edx]
je 0x100c3340
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x68]
sub eax, 2
add dword [esp + 0x1c], 2
sub ebx, 2
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x68], ebx
cmp eax, dword [esp + 0x10]
jge 0x100c32c2
test esi, esi
jg 0x100c3485
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax]
jge 0x100c349f
inc dword [esp + 0x14]
add dword [esp + 0x44], 4
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
jmp 0x100c2eb6
mov ecx, dword [esp + 0x3c]
mov ebp, edi
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x1c], ebp
mov eax, dword [edx + ecx*4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x84]
mov dword [esi], eax
mov dword [esi + 4], ebx
jmp 0x100c3262
mov ecx, dword [esp + 0x40]
mov esi, ebx
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x3c], esi
mov eax, dword [edi + ecx*4]
mov dword [edx], eax
mov dword [edx + 4], ebp
jmp 0x100c3361
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
mov dword [ecx], eax
mov eax, dword [esp + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 0xc], 1
mov dword [ecx + 8], 1
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x98]
mov dword [eax + 4], edi
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 0xc], 1
mov dword [eax + 8], 1
mov eax, dword [esp + 8]
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x14]
pop edi
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword [edx + 8], 0
mov dword [edx + 0xc], 1
pop ebx
add esp, 0x68
ret
mov eax, dword [esp + 0x20]
or ebx, 0xffffffff
or edi, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], edi
cmp eax, dword [esp + 0x24]
jl 0x100c350e
mov ebp, dword [esp + 0x88]
nop dword [eax]
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
cmp eax, esi
mov ecx, dword [esp + 0x20]
cmovl esi, eax
mov edx, esi
sub edx, ecx
cmp ebp, edx
mov eax, edx
cmovl eax, ebp
add ecx, ebp
cmp ebp, edx
cmovge ecx, esi
add eax, ecx
cmp edi, eax
cmovge eax, edi
cmovl ebx, ecx
mov edi, eax
mov eax, dword [esp + 0x20]
sub eax, 2
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jge 0x100c34c0
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x18]
mov ebp, bind
mov ebx, ebp
cmp eax, dword [esp + 0x10]
jl 0x100c3577
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
mov esi, dword [ecx + eax*4]
cmp edi, esi
mov ecx, dword [esp + 0x84]
cmovg esi, edi
mov edi, dword [esp + 0x28]
mov edx, esi
sub edx, eax
cmp edx, ecx
mov eax, edx
cmovl eax, ecx
add ecx, dword [esp + 0x18]
cmp edx, dword [esp + 0x84]
cmovge ecx, esi
add eax, ecx
cmp eax, ebx
cmovge eax, ebx
cmovl ebp, ecx
mov ebx, eax
mov eax, dword [esp + 0x18]
sub eax, 2
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x10]
jge 0x100c3523
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
mov ecx, edi
sub ecx, dword [esp + 0x28]
sub edx, ebx
add edx, dword [esp + 0x88]
sub ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x98]
cmp edx, ecx
mov eax, dword [esp + 0x6c]
cmovge eax, ebp
sub ebx, ebp
mov dword [edi], eax
mov edi, dword [esp + 0x58]
sub edi, dword [esp + 0x6c]
cmp edx, ecx
cmovge edi, ebx
mov ebx, dword [esp + 0x98]
xor eax, eax
cmp edx, ecx
setl al
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
xor eax, eax
pop edi
cmp edx, ecx
pop esi
setge al
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0xc]
pop ebp
pop ebx
add esp, 0x68
ret