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
dec esp
add al, ch
test byte [ebx], al
add byte [eax], al
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]
jne 0x402109
cmp dword [edi + 0x20], 0
jne 0x43bfb1
add eax, dword [eax]
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
push dword [ecx + ecx - 0x75]
inc ecx
pushal
add eax, dword [ebp + 8]
add dword [ecx + 0x58], eax
cmp dword [ebp + 0xc], 0xffffffc3
je 0x402040
aaa
popal
cld
dec dword [ebx + 0x45036441]
or al, 0xeb
pop ss
mov edi, edi
or byte [edi + 0xc], al
xor byte [ebx + eax + 1], 0x41
pop eax
pop eax
pushal
mov eax, dword [ecx + 0x64]
add eax, dword [ebp + 0xc]
jmp 0x43bf28
or al, 0x89
pop ebp
ret
add dword [ecx + 0x5c], eax
jmp 0x402040
mov al, 0x67
dec esp
add al, ch
stosd dword es:[edi], eax
out 4, eax
add cl, ch
xchg byte [ecx - 4], ah
inc dword [ebx + 0x7400387e]
or eax, 0xff3876ff
adc eax, 0x48f08c
and dword [esi + 0x38], 0
cmp dword [esi + 0x3c], 0x74
je 0x4020e1
add byte [ebx - 0x7cffc79a], al
jle 0x43bfad
je 0x43bf82
test byte [ecx + 0x61], ch
cld
invalid
push dword [esi + 0x3c]
call dword [0x48f08c]
and dword [esi + 0x3c], 0
cmp al, 0
jmp 0x4020e1
je 0x43bf9e
test byte [ebp + 0x61], cl
cld
invalid
inc ax
inc eax
add cl, ch
cmp esp, dword [ecx - 4]
invalid
dec eax
add byte [ebx - 0x16ff9b9a], al
add cl, ch
xor esp, dword [ecx - 4]
invalid
dec eax
add byte [ebx - 0x16ff979a], al
sub esp, dword [ecx - 4]
invalid
call dword [0x48f0c8]
and dword [esi + 0x44], 0
jmp 0x4020ff