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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x30]
mov esi, 0x288d1d8
test edi, edi
je 0x27bd372
lea eax, [edi - 1]
test edi, eax
je 0x27bd385
push 0x156
push esi
push 0x288d2c8
call fcn.02810043
add esp, 0xc
mov ebp, dword [esp + 0x34]
cmp ebp, 0xfffffff8
jl 0x27bd392
test ebp, ebp
jle 0x27bd3a5
push 0x158
push esi
push 0x288d308
call fcn.02810043
add esp, 0xc
mov ebx, dword [esp + 0x38]
cmp ebx, 0xfffffff8
jl 0x27bd3b2
test ebx, ebx
jle 0x27bd3c5
push 0x159
push esi
push 0x288d370
call fcn.02810043
add esp, 0xc
cmp edi, 8
jne 0x27bd3e8
test ebp, ebp
jne 0x27bd3ed
test ebx, ebx
jne 0x27bd3ed
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.027bc4d9
jmp 0x27bd64e
cmp edi, 0x10
jge 0x27bd43c
mov esi, dword [esp + 0x24]
lea eax, [edi + ebx]
push eax
push dword [esp + 0x30]
lea eax, [edi + ebp]
push eax
push dword [esp + 0x34]
push esi
call fcn.027bcef9
lea eax, [ebx + ebp]
add esp, 0x14
test eax, eax
jns 0x27bd651
imul eax, eax, 0xfffffffc
test eax, eax
je 0x27bd651
push eax
lea eax, [edi*2]
add eax, ebp
add eax, ebx
push 0
lea eax, [esi + eax*4]
push eax
call fcn.02809ce0
jmp 0x27bd64e
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
mov esi, eax
sar esi, 1
mov dword [esp + 0x38], esi
lea eax, [edx + edi*4]
mov edi, dword [esp + 0x28]
push eax
mov dword [esp + 0x38], eax
lea ecx, [esi + ebp]
mov eax, esi
sub eax, ecx
lea edi, [edi + esi*4]
push eax
push ecx
push edi
push dword [esp + 0x38]
mov dword [esp + 0x30], edi
push edx
call fcn.027ba396
mov ecx, dword [esp + 0x54]
push dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
lea edi, [ecx + esi*4]
push ebx
lea ecx, [esi + ebx]
mov dword [esp + 0x34], edi
push ecx
lea edx, [eax + esi*4]
push eax
push edx
push edi
mov dword [esp + 0x48], edx
call fcn.027ba396
xor dword [esp + 0x40], eax
add esp, 0x30
mov edi, dword [esp + 0x30]
cmp esi, 4
jne 0x27bd4f1
test ebp, ebp
jne 0x27bd537
test ebx, ebx
jne 0x27bd537
push dword [esp + 0x14]
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.027bc30d
push dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
push dword [esp + 0x38]
push ebx
call fcn.027bc30d
push dword [esp + 0x30]
lea ebp, [ebx + edi*4]
push dword [esp + 0x38]
push ebp
call fcn.027bc30d
jmp 0x27bd532
cmp esi, 8
jne 0x27bd537
test ebp, ebp
jne 0x27bd537
test ebx, ebx
jne 0x27bd537
push dword [esp + 0x14]
push dword [esp + 0x40]
push dword [esp + 0x3c]
call fcn.027bc4d9
push dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
push dword [esp + 0x38]
push ebx
call fcn.027bc4d9
push dword [esp + 0x30]
lea ebp, [ebx + edi*4]
push dword [esp + 0x38]
push ebp
call fcn.027bc4d9
add esp, 0x24
jmp 0x27bd595
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea esi, [eax + edi*8]
push esi
push 0
push 0
push ecx
push dword [esp + 0x24]
push eax
push dword [esp + 0x4c]
call fcn.027bd357
push esi
push 0
push 0
push dword [esp + 0x60]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.027bd357
mov eax, dword [esp + 0x5c]
push esi
push ebx
push ebp
push dword [esp + 0x7c]
lea eax, [eax + edi*4]
push dword [esp + 0x60]
mov ebp, eax
push dword [esp + 0x68]
push ebp
call fcn.027bd357
mov ebx, dword [esp + 0x78]
add esp, 0x54
push edi
push ebp
mov ebp, dword [esp + 0x44]
push ebx
push ebp
call fcn.027ba3ec
mov esi, eax
lea ebx, [edi*8]
push edi
lea eax, [edi*4]
add ebx, ebp
add eax, ebp
push eax
push ebp
push ebx
call fcn.027becd2
mov ebp, esi
push edi
sub ebp, eax
mov eax, dword [esp + 0x58]
push eax
push dword [esp + 0x64]
push eax
call fcn.027ba3ec
lea edi, [esi + eax]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
push esi
push eax
push ebx
push dword [esp + 0x4c]
push eax
call fcn.027bde86
mov ebx, dword [esp + 0x68]
add esp, 0x44
mov eax, dword [esp + 0x38]
push esi
push dword [esp + 0x38]
lea eax, [ebx + eax*4]
push eax
push eax
call fcn.027ba3ec
mov ecx, dword [esp + 0x20]
add esp, 0x10
and ebp, dword [esp + 0x10]
not ecx
mov edx, dword [esp + 0x38]
and ecx, edi
or ecx, ebp
lea edi, [esi + esi]
add eax, ecx
add edx, esi
jmp 0x27bd632
mov ecx, dword [ebx + edx*4]
add eax, ecx
cmp eax, ecx
mov dword [ebx + edx*4], eax
sbb eax, eax
neg eax
inc edx
cmp edx, edi
jl 0x27bd623
test eax, eax
je 0x27bd651
push 0x1ac
push 0x288d1d8
push 0x288d3d8
call fcn.02810043
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret