Function at 0x40201b
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x4c6810]
push esi
mov esi, dword [ebp + 8]
push edi
push 0
mov eax, dword [eax + esi*4]
mov edi, dword [eax]
push edi
call fcn.00401b41
cmp dword [edi + 0x18], 0
jne 0x43bef3
mov ecx, dword [0x4c6834]
push 3
pop edx
mov dword [ebp - 4], edx
cmp ecx, edx
jl 0x402101
mov eax, dword [0x4c6824]
mov eax, dword [eax + edx*4]
mov esi, dword [eax]
test esi, esi
je 0x4020f2
mov eax, dword [esi + 4]
cmp eax, dword [edi + 4]
jne 0x4020f2
movzx eax, byte [esi + 0x90]
sub eax, 0xa
je 0x43bf4d
sub eax, 6
je 0x43bf4d
sub eax, 3
je 0x43bf1e
sub eax, 8
jne 0x43bf05
push esi
push edi
call fcn.00401b41
cmp dword [esi + 0x64], 0
jne 0x43bf69
cmp dword [esi + 0x68], 0
jne 0x43bf7b
cmp dword [esi + 0x44], 0
jne 0x43bf8d
cmp dword [esi + 0x50], 0
jne 0x43bf9f
cmp dword [esi], 0
je 0x4020dc
push dword [esi]
call dword [0x48f63c]
and dword [esi], 0
push dword [ebp - 4]
mov ecx, 0x4c67b0
call fcn.0040246d
mov ecx, dword [0x4c6834]
mov edx, dword [ebp - 4]
inc edx
mov dword [ebp - 4], edx
cmp edx, ecx
jle 0x402054
mov esi, dword [ebp + 8]
cmp dword [edi + 0x20], 0
jne 0x43bfb1
cmp dword [edi + 0x24], 0
jne 0x43bfbf
mov edx, dword [0x4c6810]
mov eax, dword [edx + esi*4]
mov ecx, dword [eax]
test ecx, ecx
je 0x402130
push ecx
call fcn.004010f0
mov edx, dword [0x4c6810]
mov eax, dword [edx + esi*4]
and dword [eax], 0
mov edx, dword [0x4c67d0]
dec edx
mov dword [0x4c67d0], edx
cmp esi, dword [0x4c681c]
jne 0x402152
or dword [0x4c681c], 0xffffffff
mov ecx, dword [0x4c6814]
cmp edx, 1
je 0x43bfcd
pop edi
pop esi
test edx, edx
jne 0x402181
push dword [0x4c67d4]
push edx
call dword [0x48f70c]
and dword [0x4c67d4], 0
mov ecx, dword [0x4c6814]
test ecx, ecx
je 0x40219f
mov eax, dword [0x4c6810]
mov eax, dword [eax + ecx*4 - 4]
cmp dword [eax], 0
jne 0x40219f
mov ecx, 0x4c680c
call fcn.00403532
jmp 0x40217b
mov esp, ebp
pop ebp
ret 4
pop ss
sbb eax, 0x4c650019
js 0x43bf08
cld
sal dword [esi], cl
xchg ebp, eax
inc ebp
adc dword [ebx - 0x14], ebp
mov ecx, 0x5f492217
and cl, byte [ecx + 0x5f]
insd dword es:[edi], dx
add edx, edi
cld
call esp
xchg edx, eax
movsd dword es:[edi], dword [esi]
xor eax, 0xd01039a7
out dx, al
cmp dword [eax], edx
shr dh, 1
adc esi, dword [eax + 7]
invalid
or dword [ebx], 0xffffffc0
lahf
sbb eax, esi
sar dword [ebp + 3], 0x36
leave
cld
enter 0x777d, 0x66
dec esp
pop es
or byte [ebx], dh
int3
or byte [ebx], bh
dec eax
mov eax, dword [edx - 0x78]
push ds
aaa
stosd dword es:[edi], eax
jbe 0x43bf12
stosb byte es:[edi], al
jae 0x43bf64
sahf
leave
loopne 0x43bf22
invalid
mov edi, 0x1fb9ec6a
jbe 0x43bfa6
sub byte [edi + 0x18008d98], 0xe8
add byte fs:[edx - 0x15], ah
loop 0x43bfb2
fisttp word [ecx]
mov ch, 0x6c
mov ebx, dword [ebx + eax*4]
or dword [ebp - 0x7ce37494], esi
test dword [edx], 0xebaeed83
frstor dword [esi + 0x72af1424]
xor esi, dword [edi + ebp*4 + 0x485544fd]
jb 0x43bfc2
mov ah, 0xaf
std
inc esp
push ebp
dec eax
add dl, bl
aas
mov dl, 0xc3
jmp 0x43bff2
inc byte [ebx]
push ebp
inc eax
xchg ebp, eax
cmp al, 0xf6
dec eax
test byte [eax + 0x67], 0x25
add eax, 0x8963e36a
stc
jle 0x43bf6b
mov eax, 0x3c15fe20
jl 0x43bff6
and dh, bh
adc eax, 0xe83d7c3c
bound ecx, qword [ecx]
lea esi, [edi - 0x56]
cmp eax, 0x8d0962e8
ja 0x43bf69
call 0x77d0c920
stosb byte es:[edi], al
and edi, esp
imul ebx, dword [edi], 0x9913713e
pop ds
jno 0x43bfd9
cdq
stc
pushal
jb 0x43bfb3
mov dh, 0xfb
mov eax, 0xf79679bb
popal
wait
push cs
fnsave dword [esi]
lds eax, [edx - 0x61]
lahf
invalid
invalid
mov dword [edx + 0x6a6e0ff3], edi
jne 0x43bfb8
or edi, esi
mov ecx, 0xd8a9cc81
int3