Function at 0x406bca
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
push edi
mov eax, edx
xor edi, edi
or esi, 0xffffffff
mov dword [ebp - 0xc], eax
mov ebx, ecx
mov dword [eax], esi
mov dword [ebp - 4], 0x7d
movzx eax, word [ebx]
mov edx, 0x86
lea ecx, [edx - 1]
cmp ax, cx
je 0x406c6c
add ecx, 5
cmp ax, cx
je 0x406c6c
cmp ax, dx
je 0x406c6c
lea ecx, [edx + 5]
cmp ax, cx
je 0x406c6c
xor eax, eax
lea eax, [eax + 2]
xor edx, edx
lea ecx, [ebx + eax*2]
inc edx
call fcn.00408b14
mov ecx, eax
movzx edx, word [ecx]
mov eax, edx
cmp eax, 0x31
jg 0x406c42
cmp eax, 0x30
jge 0x406c74
cmp eax, 0x1d
je 0x406c61
cmp eax, 0x1e
je 0x406c74
cmp eax, 0x22
jg 0x48284e
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
cmp eax, 0x36
je 0x406c71
cmp eax, 0x38
je 0x406c74
cmp eax, 0x7d
je 0x482893
cmp eax, 0x80
jle 0x406c3b
jmp 0x48287e
cmp dword [ebp + 8], 0
je 0x406c3b
jmp 0x482872
xor eax, eax
inc eax
jmp 0x406c09
add ecx, 2
cmp dword [ebp + 8], 0
je 0x406c3b
test esi, esi
jns 0x4828c7
xor esi, esi
inc esi
jmp 0x482878
ror byte [edi], cl
mov dh, 0x80
pushal
in eax, 0x49
add byte [ebp + 0x67e8410c], cl
push ds
add byte [eax], al
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x87
je 0x482b7c
cmp eax, 0x83
je 0x406d6d
test byte [ebp + 0x3d000000], ah
test byte [eax], al
add byte [eax], al
cmp eax, 0x84
je 0x406d6d
cmp eax, 0x88
je 0x406d6d
cmp eax, 0x89
je 0x406d6d
cmp eax, 0x85
je 0x406d56
cmp eax, 0x86
je 0x406d56
cmp eax, 0x8a
je 0x406d56
cmp eax, 0x8b
je 0x406d56
cmp eax, 0x7d
je 0x406d6d
cmp eax, 0x81
je 0x406d4c
cmp eax, 0x82
je 0x406d4c
cmp eax, 0x55
je 0x482bd7
cmp eax, 0x56
je 0x482bd7
cmp eax, 0x5e
je 0x482bd7
cmp eax, 0x1b
je 0x482c19
cmp eax, 0x1c
je 0x482c19
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp + 0xc]
inc eax
push eax
jmp 0x482c05
movzx ecx, word [esi + 4]
xor edx, edx
inc edx
cmp ecx, 0x20
jge 0x482bfe
shl edx, cl
jmp 0x482bfe
push dword [ebp + 0xc]
jmp 0x482c05
add byte [edi], cl
test byte [esi + 0x3d000000], ch
test byte [eax], al
add byte [eax], al
add byte [0x84], bh
je 0x406e56
cmp eax, 0x88
je 0x406e56
cmp eax, 0x89
je 0x406e56
cmp eax, 0x85
je 0x482b38
cmp eax, 0x86
je 0x482b38
cmp eax, 0x8a
je 0x482b38
cmp eax, 0x8b
je 0x482b38
cmp eax, 0x7d
je 0x406e56
cmp eax, 0x87
je 0x406e56
cmp eax, 0x81
je 0x406e4c
cmp eax, 0x82
je 0x406e4c
cmp eax, 0x55
je 0x482b10
cmp eax, 0x56
je 0x482b10
cmp eax, 0x5e
je 0x482b10
cmp eax, 1
je 0x482b63
cmp eax, 2
je 0x482b63
cmp eax, 0x1b
je 0x482b63
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp + 0xc]
inc eax
push eax
jmp 0x482b4e
push dword [ebp + 0xc]
jmp 0x482b4e
dec edi
adc al, 0xe8
pop edi
add byte [eax], al
add byte [ebx + 0x478910c4], al
and al, 0x85
sal byte [esi + esi - 0x73], 0x77
xor byte [esi + 0x51], dl
mov ecx, eax
call fcn.00408b42
mov eax, dword [esi]
inc eax
imul eax, eax, 3
xor ecx, ecx
push 4
pop edx
mov dword [esi], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041f4ea
add esp, 0xc
mov dword [edi + 0x2c], eax
xor eax, eax
pop edi
pop esi
leave
ret 4
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret
push esi
push 0x10
pop edx
cmp eax, edx
jle 0x4829a5
cmp eax, 0x1a
jle 0x41d804
cmp eax, 0x1d
jne 0x41d8bd
movzx ecx, word [esi]
add esi, 2
test ebx, ebx
je 0x41d898
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x482acb
mov dword [edi + 8], ecx
or dword [edi + 0xc], 0xffffffff
jmp 0x41d804
xor eax, eax
jmp 0x41d806
add ebx, eax
ret
mov ecx, dword [ecx]
test ecx, ecx
je 0x41d8fe
push ecx
call fcn.00402a99
ret
aas
jle 0x41d919
xor al, al
ret
cmp ax, 0x30
jl 0x41d916
mov al, 1
ret
xor al, 0x9d
loopne 0x41d913
dec ebx
sub al, 4
jne 0x41e541
pop ebp
jmp fcn.0041e54d
pop ebp
jmp fcn.00445c05
hlt
mov dh, 0x80
pushal
in eax, 0x49
add byte [edx - 0x73], al
or al, 0x46
sbb eax, 0x90fff861
adc byte [eax], ch
dec eax
add al, ch
dec eax
add byte [edx + ecx*4], dh
inc eax
add byte [eax], al
inc dword [edx]
add al, byte [eax]
inc ebp
add dword [ecx], eax
add byte [edx], al
add byte [ecx], al
cmp eax, 0x24
jle 0x406cc3
cmp eax, 0x29
je 0x4828cc
cmp eax, 0x2b
jne 0x406c9d
jmp 0x406cc3
add ecx, 2
jmp 0x406cc3
jmp 0x41e537
add byte [eax], dl
push esi
pop ebx
mov byte [edx], 0xb8
adc byte [esi - 1], 0x8e
mov dword [edi + 8], ecx
cmp ecx, eax
jb 0x482b12
cmp ecx, 0xff561024
jae 0x482ae9
test ebx, ebx
je 0x482b12
mov eax, ecx
cdq
mov ebx, 0xf450080
idiv ebx
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
mov eax, dword [eax*8 + 0x4ab10c]
add eax, ecx
jmp 0x482b19
je 0x482b33
or byte [edi], cl
mov dh, 4
add dword [ecx - 0x37c4f3b9], ecx
mov dword [edi + 0xc], eax
cmp ecx, eax
je 0x41d8fd
or dword [edi + 0x10], 0xffffffff
jmp 0x41d866
add byte [eax], al
and ecx, edx
shl ecx, 0xa
loope 0x482b44
and eax, edx
or ecx, eax
add ecx, 0x56100000
pop ebx
mov byte [edx], 0xe9
scasb al, byte es:[edi]
lodsd eax, dword [esi]
stc
jmp [edx + 0x48]
pop eax
cmp cx, ax
jae 0x41d952
push 0x3b
pop eax
cmp cx, ax
jae 0x41d952
jmp [edx + 0x2e]
push 0x2e
pop edx
cmp cx, dx
sbb eax, eax
and eax, 0xfffffff3
add eax, edx
ret
dec dword [ebx + 0x4785fc45]
push eax
jne 0x406ea7
cmp dword [ebp + 0xc], edx
jg 0x406ea7
cmp dword [edi + 0x70], edx
jmp 0x406ea1
push 0x42cbe957
clc
add dword [ebx - 0x7c99fb3a], eax
jbe 0x482c5b
add eax, dword [ebx - 0x48f0f73a]
push es
cmp eax, 0xf14e88d
jl 0x482bff
cmp eax, 0x4539d791
jle 0x406da7
invalid
push dword [ebp + 0xc]
mov edx, ebx
push edi
mov ecx, esi
call fcn.00406cec
pop ecx
pop ecx
test dword [edx], esp
je 0x406da7
push 0x77
pop ecx
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
cmp word [esi], cx
je 0x482c19
lea ecx, [esi + 4]
xor edx, edx
call fcn.00408b76
mov esi, eax
movzx eax, word [esi]
jmp 0x8c406d1f
jmp 0x406da1