Function at 0x457a7d
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
pushal
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov eax, dword [esi]
add esi, 4
mov ebx, eax
shr eax, 0x10
and ebx, 0x7fff
cmp edx, 0
jle case.0x457b4d.3
cmp ecx, dword ss:[0x58bb98]
jge case.0x457b4d.3
mov edi, edx
sub edi, ebx
cmp edi, dword ss:[0x58bb9c]
jge case.0x457b4d.3
lea edi, [ecx + eax]
cmp edi, 0
jle case.0x457b4d.3
cmp edi, dword ss:[0x58bb98]
jle 0x457ade
mov eax, dword ss:[0x58bb98]
sub eax, ecx
mov dword ss:[0x48732c], eax
cmp ecx, 0
jge 0x457b12
mov edi, 0
sub edi, ecx
sub dword ss:[0x48732c], edi
jle case.0x457b4d.3
add ecx, edi
mov al, byte [esi]
inc esi
test al, al
jns 0x457aff
and eax, 0x7f
je 0x457b0f
add esi, eax
jmp 0x457aff
dec edi
jne 0x457aff
mov edi, dword ss:[0x58bba0]
imul edi, ecx
add edi, dword ss:[0x58bba4]
add edi, edx
mov dword ss:[0x487340], edi
mov ecx, edx
sub ecx, ebx
inc ecx
cmp ecx, 0
mov ecx, 0
jge 0x457b3e
or ecx, 2
cmp edx, dword ss:[0x58bb9c]
jl case.default.0x457b4d
inc ecx
mov eax, dword [ebp + 0x14]
mov ah, al
jmp dword ss:[ecx*4 + 0x486aec]
sub edi, ecx
mov cl, byte [esi]
inc esi
test cl, cl
jns 0x457b55
and ecx, 0x7f
je 0x457b76
mov al, byte [esi]
dec edi
mov al, byte ss:[eax + 0x557680]
inc esi
mov byte [edi + 1], al
dec ecx
jne 0x457b63
jmp case.0x457b4d.0
mov edi, dword ss:[0x487340]
add edi, dword ss:[0x58bba0]
mov dword ss:[0x487340], edi
dec dword ss:[0x48732c]
jne case.0x457b4d.0
jmp case.0x457b4d.3
sub edx, dword ss:[0x58bb9c]
inc edx
mov dword ss:[0x487334], edx
mov edx, dword ss:[0x487334]
mov cl, byte [esi]
inc esi
test cl, cl
js 0x457bbe
sub edx, ecx
jle 0x457bd7
sub edi, ecx
jmp 0x457baf
and ecx, 0x7f
je 0x457bf8
add esi, ecx
sub edi, ecx
sub edx, ecx
je 0x457bd9
jns 0x457baf
neg edx
mov ecx, edx
add edi, edx
sub esi, edx
jmp 0x457be5
sub edi, ecx
mov cl, byte [esi]
inc esi
test cl, cl
jns 0x457bd7
and ecx, 0x7f
je 0x457bf8
mov al, byte [esi]
dec edi
mov al, byte ss:[eax + 0x557680]
inc esi
mov byte [edi + 1], al
dec ecx
jne 0x457be5
jmp 0x457bd9
mov edi, dword ss:[0x487340]
add edi, dword ss:[0x58bba0]
mov dword ss:[0x487340], edi
dec dword ss:[0x48732c]
jne 0x457ba8
jmp case.0x457b4d.3
sub edx, 0
inc edx
mov dword ss:[0x487334], edx
mov cl, byte [esi]
inc esi
test cl, cl
js 0x457c32
sub edi, ecx
sub edx, ecx
jg 0x457c23
jmp 0x457c52
and ecx, 0x7f
je 0x457c62
sub edx, ecx
jg 0x457c3d
add ecx, edx
mov al, byte [esi]
dec edi
mov al, byte ss:[eax + 0x557680]
inc esi
mov byte [edi + 1], al
dec ecx
jne 0x457c3d
test edx, edx
jg 0x457c23
mov cl, byte [esi]
inc esi
test cl, cl
jns 0x457c52
and ecx, 0x7f
je 0x457c62
add esi, ecx
jmp 0x457c52
mov edi, dword ss:[0x487340]
add edi, dword ss:[0x58bba0]
mov dword ss:[0x487340], edi
dec dword ss:[0x48732c]
mov edx, dword ss:[0x487334]
jne 0x457c23
jmp case.0x457b4d.3
popal
mov esp, ebp
pop ebp
ret
add edi, ecx
mov cl, byte [esi]
inc esi
test cl, cl
jns 0x458140
and ecx, 0x7f
je 0x458160
mov al, byte [esi]
inc esi
mov al, byte ss:[eax + 0x516b60]
mov byte [edi], al
inc edi
dec ecx
jne 0x45814e
jmp case.0x457b4d.4
mov edi, dword ss:[0x487340]
add edi, dword ss:[0x58bba0]
mov dword ss:[0x487340], edi
dec dword ss:[0x48732c]
jne case.0x457b4d.4
jmp 0x458274
popal
mov esp, ebp
pop ebp
ret