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

Disassembly:
push edi
push esi
push ebx
sub esp, 0x60
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ecx, dword [ebx + 0x34]
cmp ecx, 2
je 0x5dff1f
cmp ecx, 1
je 0x5dff1f
cmp ecx, 5
je 0x5dff1f
add esp, 0x60
pop ebx
pop esi
pop edi
ret
lea ecx, [ebx + 4]
mov edi, dword [ebx + 0x24]
mov dword [esp], ecx
mov ecx, dword [ebx + 0x37b8]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 4], ecx
mov ecx, dword [ebx + 0x37bc]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 8], ecx
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x10], edx
lea edx, [esi + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call fcn.005daea0
test eax, eax
jne 0x5e00fb
mov ecx, dword [esi + 0x2c]
mov edi, dword [ebx + 0x30]
cmp edi, 3
je 0x5e0150
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
cmp esi, edx
jge 0x5e00fb
mov eax, dword [esp + 0x38]
imul eax, edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebp
mov ecx, edi
imul ecx, dword [esp + 0x30]
cmp ecx, eax
jge 0x5e00ee
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
lea esi, [esi]
lea edi, [edi]
mov ebp, dword [esp + 0x58]
imul ebp, dword [ebx + 0x3c]
add ebp, dword [esp + 0x44]
movzx edx, byte [ebp + ecx]
movzx esi, byte [ebp + ecx + 1]
movzx edi, byte [ebp + ecx + 2]
imul eax, edi, 0x167
add eax, 0xffff4d0b
sar eax, 8
add eax, edx
cmp eax, 0xff
jle 0x5e0020
mov eax, 0xff
jmp 0x5e0026
test eax, eax
jge 0x5e0026
xor eax, eax
movsx eax, ax
imul edi, edi, 0xffffff49
mov dword [esp + 0x48], eax
imul eax, esi, 0xffffffa8
lea eax, [eax + edi + 0x87f6]
sar eax, 8
add eax, edx
cmp eax, 0xff
jle 0x5e0050
mov eax, 0xff
jmp 0x5e0056
test eax, eax
jge 0x5e0056
xor eax, eax
movsx eax, ax
imul esi, esi, 0x1c6
add esi, 0xffff1daf
mov dword [esp + 0x4c], eax
sar esi, 8
add edx, esi
cmp edx, 0xff
jle 0x5e0080
mov edx, 0xff
jmp 0x5e0086
test edx, edx
jge 0x5e0086
xor edx, edx
movsx eax, dx
mov edx, dword [ebx + 0x58]
cmp edx, 6
je 0x5e0102
cmp edx, 3
jne 0x5e00d2
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov byte [ebp + ecx], dl
mov edi, dword [ebx + 0x3c]
mov ebp, dword [esp + 0x58]
imul edi, ebp
add edi, esi
mov edx, dword [esp + 0x4c]
mov byte [ecx + edi + 1], dl
mov edi, dword [ebx + 0x3c]
imul edi, ebp
add edi, esi
mov byte [ecx + edi + 2], al
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x54], eax
imul eax, dword [esp + 0x38]
mov dword [esp + 0x50], eax
add ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
cmp ecx, eax
jl 0x5dffe0
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, edx
jl 0x5dffba
mov ebp, dword [esp + 0x40]
add esp, 0x60
pop ebx
pop esi
pop edi
ret
mov edx, dword [esp + 0x48]
neg dl
add dl, 0xff
mov esi, dword [esp + 0x44]
mov byte [ebp + ecx], dl
mov edx, dword [esp + 0x4c]
neg dl
add dl, 0xff
mov edi, dword [ebx + 0x3c]
mov ebp, dword [esp + 0x58]
imul edi, ebp
add edi, esi
mov byte [ecx + edi + 1], dl
neg al
add al, 0xff
mov edx, dword [ebx + 0x3c]
imul edx, ebp
add edx, esi
mov byte [ecx + edx + 2], al
mov edi, dword [ebx + 0x30]
mov dword [esp + 0x54], edi
imul edi, dword [esp + 0x38]
mov dword [esp + 0x50], edi
jmp 0x5e00d2
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
cmp esi, edx
jge 0x5e00fb
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*2]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x30]
lea ebp, [ecx + ecx*2]
cmp ebp, eax
jge 0x5e0272
mov dword [esp + 0x48], esi
mov esi, esi
mov esi, dword [esp + 0x48]
imul esi, dword [ebx + 0x3c]
add esi, dword [esp + 0x44]
movzx edx, byte [esi + ebp]
movzx ecx, byte [esi + ebp + 1]
movzx edi, byte [esi + ebp + 2]
imul eax, edi, 0x167
add eax, 0xffff4d0b
sar eax, 8
add eax, edx
cmp eax, 0xff
jle 0x5e01c0
mov eax, 0xff
jmp 0x5e01c6
test eax, eax
jge 0x5e01c6
xor eax, eax
movsx eax, ax
imul edi, edi, 0xffffff49
mov dword [esp + 0x4c], eax
imul eax, ecx, 0xffffffa8
lea eax, [eax + edi + 0x87f6]
sar eax, 8
add eax, edx
cmp eax, 0xff
jle 0x5e01f0
mov eax, 0xff
jmp 0x5e01f6
test eax, eax
jge 0x5e01f6
xor eax, eax
movsx eax, ax
imul ecx, ecx, 0x1c6
add ecx, 0xffff1daf
sar ecx, 8
add edx, ecx
cmp edx, 0xff
jle 0x5e0220
mov edx, 0xff
jmp 0x5e0226
test edx, edx
jge 0x5e0226
xor edx, edx
movsx edx, dx
mov ecx, dword [ebx + 0x34]
cmp ecx, 2
je 0x5e0284
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov byte [esi + ebp], cl
mov ecx, dword [ebx + 0x3c]
mov esi, dword [esp + 0x48]
imul ecx, esi
add ecx, edi
mov byte [ebp + ecx + 1], al
mov eax, dword [ebx + 0x3c]
imul eax, esi
add eax, edi
mov byte [ebp + eax + 2], dl
add ebp, 3
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*2]
cmp ebp, eax
jl 0x5e0180
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, edx
jl 0x5e016b
mov ebp, dword [esp + 0x40]
jmp 0x5e00fb
mov byte [esi + ebp], dl
mov esi, dword [ebx + 0x3c]
mov edi, dword [esp + 0x48]
imul esi, edi
mov edx, dword [esp + 0x44]
add esi, edx
mov byte [ebp + esi + 1], al
mov ecx, dword [ebx + 0x3c]
imul ecx, edi
add ecx, edx
mov eax, dword [esp + 0x4c]
mov byte [ebp + ecx + 2], al
jmp 0x5e0258