Function at 0x100c53c0
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 0x100c549a
sub eax, 4
mov dword [esp + 0x6c], eax
mov dword [eax], 0xffffffff
or eax, 0xffffffff
jmp 0x100c54a6
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 0x100c54cb
add edx, 4
mov ecx, 1
mov dword [esp + 0x58], edx
or eax, 0xffffffff
mov dword [edx], 0xffffffff
mov edx, ecx
jmp 0x100c54dc
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 0x100c55b7
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 0x100c5554
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x80]
cmp edx, ebp
jge 0x100c5548
mov ecx, dword [edi + eax*4]
cmp ecx, dword [esi + edx*4]
jne 0x100c5548
inc eax
inc edx
cmp eax, dword [esp + 0x7c]
jl 0x100c5534
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 0x100c559c
cmp dword [esp + 0x10], esi
jg 0x100c559c
cmp esi, dword [esp + 0x18]
jg 0x100c559c
mov ecx, dword [esp + 0x90]
cmp dword [ecx + esi*4], eax
jle 0x100c59df
sub esi, 2
mov dword [esp + 0x3c], ebp
mov ebx, ebp
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x24]
jge 0x100c5500
mov ebp, dword [esp + 0x10]
cmp ebp, dword [esp + 0x5c]
jle 0x100c55d3
mov ecx, dword [esp + 0x34]
sub ecx, 4
or eax, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [ecx], bind
jmp 0x100c55dd
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 0x100c5606
add edi, 4
mov ecx, 1
or eax, 0xffffffff
mov edx, ecx
mov dword [edi], bind
jmp 0x100c5613
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 0x100c56ff
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 0x100c56a0
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 0x100c5698
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x100c5698
dec esi
sub edx, 4
dec edi
sub ecx, 4
cmp esi, dword [esp + 0x28]
jg 0x100c5680
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 0x100c56e6
cmp dword [esp + 0x24], ebx
jg 0x100c56e6
cmp ebx, dword [esp + 0x20]
jg 0x100c56e6
mov eax, dword [esp + 0x8c]
cmp esi, dword [eax + ebx*4]
jle 0x100c5a05
sub ebx, 2
mov dword [esp + 0x3c], edx
mov eax, edx
mov dword [esp + 0x40], ebx
cmp ebx, dword [esp + 0x10]
jge 0x100c5640
jmp 0x100c5703
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x94], 0
jne 0x100c596c
test ecx, ecx
je 0x100c5959
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 8]
jle 0x100c5959
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 0x100c5858
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 0x100c581b
cmp edi, ebp
jle 0x100c581b
mov ebp, dword [esp + 0x9c]
mov ebp, dword [ebp + 4]
add eax, ebp
cmp eax, esi
jg 0x100c5817
cmp esi, dword [esp + 0x7c]
jge 0x100c5817
lea eax, [ecx + ebp]
cmp eax, ebx
jg 0x100c5817
cmp ebx, dword [esp + 0x88]
jge 0x100c5817
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 0x100c5810
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 0x100c598a
mov eax, dword [esi - 4]
sub esi, 4
sub edx, 4
inc ecx
cmp eax, dword [edx]
je 0x100c57f6
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 0x100c5760
test ebp, ebp
jg 0x100c5a2b
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 0x100c5959
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 0x100c591a
cmp ebx, esi
jle 0x100c591a
cmp dword [esp + 0x28], edx
jge 0x100c591a
mov edi, dword [edi + 4]
mov eax, ecx
sub eax, edi
cmp edx, eax
jg 0x100c591a
cmp dword [esp + 0x84], ebp
jge 0x100c591a
mov eax, dword [esp + 0x88]
sub eax, edi
cmp ebp, eax
jg 0x100c591a
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 0x100c5916
dec edi
nop dword [eax + eax]
cmp ecx, edi
je 0x100c59ba
mov eax, dword [esi + 4]
add esi, 4
add edx, 4
inc ecx
cmp eax, dword [edx]
je 0x100c5900
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 0x100c5882
test esi, esi
jg 0x100c5a45
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax]
jge 0x100c5a5f
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 0x100c5476
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 0x100c5822
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 0x100c5921
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 0x100c5ace
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 0x100c5a80
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 0x100c5b37
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 0x100c5ae3
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