Function at 0x401b41
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x1c8]
mov ecx, esi
mov dword [ebp + 8], ecx
test esi, esi
je 0x401b94
mov eax, dword [ebp + 0xc]
push ebx
test eax, eax
je 0x401b68
cmp esi, dword [eax + 0x80]
jne 0x401ba6
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x43bce1
mov eax, dword [edi + 0x1c8]
cmp esi, eax
jne 0x401bbb
mov eax, dword [esi]
mov dword [edi + 0x1c8], eax
push esi
call fcn.0042106c
mov eax, dword [ebp + 0xc]
pop ecx
test eax, eax
je 0x401ba6
pop ebx
push 1
push 0
push dword [edi]
call dword [0x48f658]
pop edi
pop esi
pop ebp
ret 8
test eax, eax
jne 0x401bc5
mov esi, dword [edi + 0x1c8]
mov ecx, esi
mov dword [ebp + 8], ecx
test esi, esi
je 0x401b93
jmp 0x401b5c
cmp dword [ecx], eax
je 0x401b7d
mov eax, dword [esi]
mov dword [ecx], eax
jmp 0x401b85
mov ecx, esi
mov esi, dword [esi]
jmp 0x401bb2
sbb eax, 0xd57a7515
stosb byte es:[edi], al
lodsb al, byte [esi]
test eax, 0xfa1f0265
call dword [esi]
test dh, dl
jns 0x43bc7b
jp 0x43bc44
aaa
push dword [eax + 0x74]
stc
movsd dword es:[edi], dword [esi]
jmp 0xc88372d
pop ss
xchg dword [edi + eax*8], ebp
shr dword [ebx - 0x2c], 0x43
adc ebp, edx
wait
inc esp
cmp byte [edi - 0x4969692c], ch
mov byte [eax - 0x5db9ed20], al
lodsb al, byte [esi]
add byte [esi], bh
pop ds
cmp dl, byte [edi]
out dx, eax
lodsb al, byte [esi]
sub eax, 0x3840f4f0
mov eax, 0xfc8e91b
mov cs, word [ebp + 0x3a2590d]
jl 0x43bc1a
or eax, 0x13554a88
out dx, eax
lodsb al, byte [esi]
adc edx, ebp
mov eax, dword [eax + edi - 0x51]
fbld tbyte [ebp + 0x19]
invalid
sbb esi, edi
cli
jmp [ecx + ecx*2 + 0x22]
pushal
mov dl, 0x6d
enter 0x1e2, 0xffffffffffffffea
jnp 0x43bc3a
push 0xc8e28f5a
xor al, 4
lodsb al, byte [esi]
test eax, 0xfed0c02f
call dword [esi]
pop esi
pop ebp
cld
invalid
add eax, dword [eax]
pop ss
dec esi
or dword [ecx - 0x18], edx
test edx, 0xcc6c8b11
cmpsb byte [esi], byte es:[edi]
add eax, dword [eax]
salc
dec ebx
and ebx, dword [ebx]
push ds
inc ecx
push edi
mov ah, ch
aam 0
cmp ecx, dword [esi - 0x8e28bf3]
pop esp
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
add eax, dword [eax]
aas
jp 0x43bd23
pop eax
push eax
add byte [ebx], dl
push edx
invalid
dec ebp
push 0xffd40c87
jbe 0x43bcd1
or al, 0x86
jo 0x43bc92
mov al, byte [0x32d5201]
add byte [ebx], cl
pop edi
ror dword [eax + 0x7bf4ac85], 0x7c
sahf
cdq
btr edi, edi
push ss
jns 0x43bd02
in al, dx
je 0x43bd3c
movsd dword es:[edi], dword [esi]
pop ds
aam 0xba
push ebp
rep insd dword es:[edi], dx
jl 0x43bdaa
jmp dword [esi - 0x7b]
out 0x82, eax
or dh, byte [edx + edi*4 + 0x68]
xchg esi, eax
stc
sbb ebx, dword [ecx + 0xafa8776]
mov ecx, dword [ebp + 0x39e2751]
jl 0x43bcf8
xor eax, 0xfc4d8aed
pop edi
fdisi8087_nop
ret 0x4adf
add byte [esi - 0x4cb22b], bl
aam 0x7b
call 0x4044b29b
xchg esp, eax
add eax, dword [eax]
sal al, cl
mov edx, 0x798d08b
adc dl, cl
cwde
adc cl, 0x50
cwde
mov ah, byte [esi + 0x70]
cmp dl, cl
add byte [esi], al
mov ah, 0xc9
dec ebp
mov edi, 0x8261665d
dec edx
pop ebp
popaw
or byte [edx - 0x37], 0xc7
jle 0x43bd81
leave
invalid
cld
mov byte [eax], al
clc
stc
out dx, eax
dec ecx
mov eax, 0x68fef1ed
and eax, dword [ebp - 0x80]
push ds
adc eax, 0x6b811307
dec ebx
movsb byte es:[edi], byte [esi]
add byte [eax], al
mov al, 0x5b
fadd dword [ebx]
add byte [ebx + 0xfb06e45], cl
pop esi
dec ebp
xchg esp, ebx
cmp eax, dword [ecx - 0x27]
pop es
jbe 0x43bdeb
in eax, dx
int3
cwde
adc al, 0xf0
jp 0x43be6d
mov eax, 0x7e871235
push ecx
cmpsd dword [esi], dword es:[edi]
invalid
stosd dword es:[edi], eax
xchg ebp, eax
pop ecx
insd dword es:[edi], dx
dec byte [ebx - 0x95f661f]
sahf
add esp, 0xc
jecxz 0x43be6b
or al, dh
in eax, 0x3d
adc eax, dword [esi]
invalid