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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
mov esi, edx
push ebx
mov edx, 0xff
sub esp, 0xac
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x24], ecx
sar eax, 1
movzx eax, byte [ecx + eax]
sub edx, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], edx
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x74]
movzx eax, byte [esi + ecx]
and ecx, 1
je 0xc8b0fc
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xc4]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x64], ecx
jle 0xc8b549
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x54], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x54]
test byte [esp + 0x54], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x78]
jne 0xc8b159
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x64]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x68], ecx
jle 0xc8b53e
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x58], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0x58]
test byte [esp + 0x58], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x7c]
jne 0xc8b1b3
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x6c], ecx
jle 0xc8b533
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x5c], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x5c]
test byte [esp + 0x5c], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x80]
jne 0xc8b213
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x6c]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x70], ecx
jle 0xc8b514
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x60], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x60]
test byte [esp + 0x60], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x84]
jne 0xc8b273
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x70]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x4c], ecx
jle 0xc8b4f5
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x44], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x44]
test byte [esp + 0x44], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x50]
jne 0xc8b2cd
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x3c], ecx
jle 0xc8b4d6
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x34], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], eax
lea esi, [esi]
mov edx, dword [esp + 0x34]
test byte [esp + 0x34], 1
movzx eax, byte [esi + edx - 1]
mov edx, dword [esp + 0x40]
jne 0xc8b328
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
add ecx, dword [edx*4 + 0x11505a0]
test al, al
movsx eax, al
mov dword [esp + 0x2c], ecx
jle 0xc8b4b7
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, 1
sar edx, 1
mov dword [esp + 0x20], eax
mov eax, 0xff
movzx edx, byte [ecx + edx]
sub eax, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
movzx ebx, byte [esi + edx - 1]
and edx, 1
jne 0xc8b37a
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
add edi, dword [eax*4 + 0x11505a0]
test bl, bl
movsx ebx, bl
jle 0xc8b498
mov ecx, dword [esp + 0x24]
mov eax, ebx
mov edx, 0xff
sar eax, 1
add ebx, 1
movzx eax, byte [ecx + eax]
sub edx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edx
jmp 0xc8b3d3
mov ecx, dword [esp + 0x24]
movsx eax, al
mov dword [esp + 4], edx
mov edx, esi
mov dword [esp], eax
mov eax, ebp
call 0xc8b0b0
mov eax, ebx
add ebx, 1
and eax, 1
test eax, eax
je 0xc8b407
test bl, 1
movzx eax, byte [esi + ebx - 1]
mov edx, dword [esp + 0x1c]
jne 0xc8b3e5
mov edx, dword [esp + 0x28]
mov edx, dword [edx*4 + 0x11505a0]
add edx, edi
test al, al
jg 0xc8b3b0
movsx eax, al
neg eax
mov dword [ebp + eax*4], edx
mov eax, ebx
add ebx, 1
and eax, 1
test eax, eax
jne 0xc8b3d3
mov eax, dword [esp + 0x20]
add dword [esp + 0x20], 1
and eax, 1
test eax, eax
jne 0xc8b364
mov eax, dword [esp + 0x34]
add dword [esp + 0x34], 1
and eax, 1
test eax, eax
jne 0xc8b310
mov eax, dword [esp + 0x44]
add dword [esp + 0x44], 1
and eax, 1
test eax, eax
jne 0xc8b2b2
mov eax, dword [esp + 0x60]
add dword [esp + 0x60], 1
and eax, 1
test eax, eax
jne 0xc8b255
mov eax, dword [esp + 0x5c]
add dword [esp + 0x5c], 1
and eax, 1
test eax, eax
jne 0xc8b1f5
mov eax, dword [esp + 0x58]
add dword [esp + 0x58], 1
and eax, 1
test eax, eax
jne 0xc8b198
mov eax, dword [esp + 0x54]
add dword [esp + 0x54], 1
and eax, 1
test eax, eax
jne 0xc8b13e
jmp 0xc8b54f
mov eax, dword [esp + 0x20]
neg ebx
add dword [esp + 0x20], 1
mov dword [ebp + ebx*4], edi
and eax, 1
test eax, eax
jne 0xc8b364
jmp 0xc8b41b
neg eax
mov dword [ebp + eax*4], ecx
mov eax, dword [esp + 0x34]
add dword [esp + 0x34], 1
and eax, 1
test eax, eax
jne 0xc8b310
jmp 0xc8b42f
neg eax
mov dword [ebp + eax*4], ecx
mov eax, dword [esp + 0x44]
add dword [esp + 0x44], 1
and eax, 1
test eax, eax
jne 0xc8b2b2
jmp 0xc8b443
neg eax
mov dword [ebp + eax*4], ecx
mov eax, dword [esp + 0x60]
add dword [esp + 0x60], 1
and eax, 1
test eax, eax
jne 0xc8b255
jmp 0xc8b457
neg eax
mov dword [ebp + eax*4], ecx
mov eax, dword [esp + 0x5c]
add dword [esp + 0x5c], 1
and eax, 1
test eax, eax
jne 0xc8b1f5
jmp 0xc8b46b
neg eax
mov dword [ebp + eax*4], ecx
jmp 0xc8b46b
neg eax
mov dword [ebp + eax*4], ecx
jmp 0xc8b47f
neg eax
mov dword [ebp + eax*4], ecx
add dword [esp + 0xc0], 1
test byte [esp + 0xc0], 1
jne 0xc8b0e1
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0xc8b0b0