Function at 0x40a490
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, dword [0x41b004]
mov ecx, dword [0x41b044]
mov edx, eax
imul edx, dword [0x41b024]
sub esp, 0x14
push ebp
push esi
mov esi, dword [0x41b034]
sub esi, dword [0x41b038]
mov al, 0x41
add byte [ebx], ch
xor eax, 0x41b038
add eax, 1
cmp ecx, esi
mov dword [0x41b024], edx
mov dword [0x41b034], esi
jle 0x40a4d6
and al, 0xb0
inc ecx
add byte [ecx + 0x41b03435], cl
add byte [esi + 0xe], bh
jne 0x40a4cd
je 0x40a4cf
xlatb
je 0x40a4bc
xor ecx, edx
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x41b014]
add eax, 1
add ecx, 1
je 0x40a4ee
mov ah, ah
sub eax, 1
jmp 0x40a4f7
mov ecx, edx
je 0x40a4f5
jne 0x40a4f7
mov bh, 0x75
mov ch, 0x83
rol byte [ecx], 0x8b
int1
jne 0x40a4ac
add eax, 1
mov esi, ecx
mov edx, eax
and edx, 0xff
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
sub ecx, 1
jne 0x40a527
je 0x40a529
pop es
je 0x40a553
add eax, 1
mov edx, ecx
mov dword [0x41b004], eax
and eax, 0xff
and edx, 0xff
mov edx, dword [edx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], edx
lea eax, [eax*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
jne 0x40a561
je 0x40a563
add eax, 0x80685974
add byte [eax], al
add byte [ebx], dh
not byte [esi + 0x68]
invalid
je 0x40a5bc
push 0x80
xor esi, esi
push esi
push 0x86758f
call int.004050d0
mov ebp, eax
add esp, 0xc
cmp ebp, esi
mov dword [esp + 8], ebp
jne 0x40a58c
pop esi
xor eax, eax
pop ebp
add esp, 0x14
ret 0x14
mov eax, dword [0x41b004]
add eax, 1
mov ecx, eax
and ecx, 0xff
lea edx, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
push ebx
push edi
mov edi, ecx
and edi, 0xff
mov edi, dword [edi*4 + 0x41b610]
add dword [edx], edi
cmp al, 0xbd
adc byte [esi + 0x3a010041], dh
sub ecx, 1
jne 0x40a5c4
je 0x40a5c6
div dword [esi + ebp*8 - 0x7d]
rol byte [ecx], 0x8b
shl dword [ebx + 0x41b004], 1
je 0x40a5b4
add eax, 1
mov edx, ecx
mov dword [0x41b004], eax
and eax, 0xff
and edx, 0xff
mov edx, dword [edx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], edx
lea eax, [eax*4 + 0x41b610]
sub ecx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [0x41b014], ecx
jne 0x40a606
adc al, 0xb0
inc ecx
add byte [ebp + 3], dh
je 0x40a608
salc
je 0x40a596
push esi
lea eax, [ebp + 4]
push esi
push eax
push 0x75e451
call int.004050d0
mov edx, dword [0x41b004]
mov esi, dword [0x41b014]
mov ebx, dword [0x41b024]
add esp, 0x10
add edx, 1
add esi, 1
je 0x40a63f
jmp 0x40a63a
sub edx, 1
jmp 0x40a648
mov esi, ebx
jne 0x40a646
je 0x40a648
pop esi
je 0x40a683
add edx, 1
mov ecx, esi
mov eax, edx
and eax, 0xff
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
sub esi, 1
jne 0x40a677
je 0x40a679
fdiv dword [esp + eax*4 - 0x7d]
ret 0x8b01
je 0x40a5fd
add edx, 1
mov ecx, esi
mov eax, edx
and eax, 0xff
add byte [eax], al
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
add ebp, 0x1c
sub esi, 1
jne 0x40a6ab
je 0x40a6ad
lcall 0x10b9, 0xc0333274
add byte [eax], al
add byte [ebx - 0x7c540c03], cl
ret 0x8b01
je 0x40a6df
xor eax, eax
mov ecx, 0x10
mov edi, ebp
rep stosd dword es:[edi], eax
add edx, 1
mov ecx, esi
mov eax, edx
and eax, 0xff
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
sub esi, 1
je 0x40a6e7
jne 0x40a6e9
cmpsd dword [esi], dword es:[edi]
jne 0x40a6a8
add edx, 1
mov ecx, esi
mov eax, edx
and eax, 0xff
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x41b610]
add dword [eax*4 + 0x41b610], ecx
lea eax, [eax*4 + 0x41b610]
sub esi, 1
jne 0x40a718
test dword [eax], edx
mov dh, 0x41
add byte [ebx + 0x37501ee], al
je 0x40a71a
ljmp 0xb034:0x3d8bf174
je 0x40a70b
mov edi, dword [0x41b034]
sub edi, dword [0x41b038]
mov eax, dword [0x41b044]
mov ecx, edx
imul ecx, ebx
add edx, 1
cmp eax, edi
mov word [ebp], 0x40
mov dword [0x41b024], ecx
jle 0x40a751
jne 0x40a748
je 0x40a74a
fnstenv [edi + edi - 0x75]
je 0x40a789
mov ebx, eax
xor ebx, ecx
imul edx, ebx
fdiv dword [ebx]
invalid
add edx, 1
mov ecx, edx
mov ebx, esi
mov byte [ebp + 2], 0
and ecx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
je 0x40a782
jne 0x40a784
mov ch, 0x75
xor eax, dword [ebx - 0x97afe3e]
jne 0x40a7b7
add edx, 1
test esi, esi
mov dword [ebp + 0x14], 0x1a5e0
je 0x40a79c
mov cl, cl
sub edx, 1
jmp 0x40a7a9
mov esi, dword [0x41b024]
je 0x40a7a7
jne 0x40a7a9
sbb eax, 0x4c8ba275
jne 0x40a74b
mov ecx, dword [esp + 0x30]
dec esp
and al, 0x30
mov dword [ebp + 0x10], ecx
add edx, 1
mov ebx, esi
mov ecx, edx
and ecx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
sub esi, 1
je 0x40a7e0
jne 0x40a7e2
cmpsb byte [esi], byte es:[edi]
jne 0x40a7aa
sub edi, dword [0x41b038]
mov ecx, edx
imul ecx, dword [0x41b024]
add edx, 1
cmp eax, edi
mov dword [ebp + 0xc], 0
mov dword [0x41b024], ecx
jle 0x40a813
jne 0x40a80a
je 0x40a80c
xor byte [esp + ecx - 0x75], 0xd8
je 0x40a818
mov ebx, eax
xor ebx, ecx
imul edx, ebx
or dword [ebp + 0xc], 0x40
add edx, 1
mov ebx, esi
mov ecx, edx
and ecx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
sub esi, 1
jne 0x40a847
ret 0x8b01
add byte [ecx], al
sbb al, 0x8d
adc byte [esi + 0xc8d0041], dh
lea edx, [eax]
mov dh, 0x41
add byte [ebx + 0x37501ee], al
je 0x40a849
push eax
je 0x40a8c3
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0x18], ecx
add edx, 1
mov ebx, esi
mov ecx, edx
and ecx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
sub esi, 1
jne 0x40a880
je 0x40a882
push esp
je 0x40a80c
mov ecx, dword [esp + 0x10]
sub edi, dword [0x41b038]
add ecx, 0x6c
mov dword [ebp + 0x1c], ecx
mov ecx, edx
imul ecx, dword [0x41b024]
add edx, 1
cmp eax, edi
jle 0x40a8b0
je 0x40a8a7
jne 0x40a8a9
and byte [ebp - 0x79], dh
jne 0x40a830
mov ebx, eax
xor ebx, ecx
imul edx, ebx
sub edi, dword [0x41b038]
mov ebx, edx
imul ebx, ecx
add edx, 1
cmp eax, edi
mov byte [ebp + 0xb], 0x12
inc ebp
or edx, dword [edx]
adc bh, byte [esi + 0xe]
jle 0x40a8d4
jne 0x40a8cb
je 0x40a8cd
lahf
je 0x40a906
mov ecx, eax
xor ecx, ebx
imul edx, ecx
sub edi, dword [0x41b038]
mov ecx, edx
imul ecx, ebx
add edx, 1
cmp eax, edi
mov byte [ebp + 0xa], 0xa
mov dword [0x41b024], ecx
jle 0x40a8fe
jne 0x40a8f5
je 0x40a8f7
retf
je 0x40a8c1
mov ebx, eax
xor ebx, ecx
imul edx, ebx
and byte [ebp + 0x31], 0xfd
cmp byte [esp + 0x38], 0
mov bl, byte [ebp + 0x31]
mov byte [ebp + 0x30], 0x43
jne 0x40a940
add byte [edx + 0x45c6315d], cl
xor byte [ebx + 0x75], al
xor byte [ebx], ch
cmp eax, 0x41b038
sub edi, dword [0x41b038]
mov ecx, edx
imul ecx, dword [0x41b024]
or bl, 2
add edx, 1
cmp eax, edi
mov byte [ebp + 0x31], bl
mov dword [0x41b024], ecx
jle 0x40a940
je 0x40a937
jne 0x40a939
clc
jne 0x40a9b8
mov ebx, eax
xor ebx, ecx
imul edx, ebx
movzx ecx, byte [ebp + 0x32]
xor cl, byte [esp + 0x38]
add edx, 1
and cl, 0xf
xor byte [ebp + 0x32], cl
mov ecx, edx
mov ebx, esi
and ecx, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
jne 0x40a97b
je 0x40a97d
mov dh, 0x74
mov cl, byte gs:[esp + 0x34]
je 0x40a9e2
mov cl, byte [esp + 0x34]
add edx, 1
test esi, esi
mov byte [ebp + 0x36], cl
je 0x40a995
xchg ebp, ebp
sub edx, 1
jmp 0x40a9a2
mov esi, dword [0x41b024]
jne 0x40a9a0
je 0x40a9a2
lds esi, [eax + edi - 0x76]
dec esp
and al, 0x31
je 0x40a9da
mov cl, byte [esp + 0x31]
sub edi, dword [0x41b038]
mov byte [ebp + 0x37], cl
mov ecx, edx
imul ecx, dword [0x41b024]
add edx, 1
cmp eax, edi
mov dword [0x41b024], ecx
jle 0x40a9d3
ret 0x3b01
je 0x40a9ca
jne 0x40a9cc
retf
jne 0x40a9b9
mov ebx, eax
xor ebx, ecx
imul edx, ebx
mov cl, byte [esp + 0x30]
mov byte [ebp + 0x38], cl
add edx, 1
mov ebx, esi
mov ecx, edx
and ecx, 0xff
loope 0x40a9e3
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + 0xffe3], al
add byte [ebx - 0x49ef62e4], cl
inc ecx
add byte [ecx], al
sbb al, 0x8d
adc byte [esi + 0xc8d0041], dh
lea edx, [eax]
mov dh, 0x41
add byte [ebx + 0x37401ee], al
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [ecx*4 + 0x41b610], ebx
lea ecx, [ecx*4 + 0x41b610]
sub esi, 1
je 0x40aa0a
adc byte [esi - 0x117cffbf], dh
add dword [ebx + eax + 0x75], esi
add ecx, dword [edx]
jne 0x40aa0c
or dh, byte [ebp + 0x73]
jne 0x40aa7f
sub edi, dword [0x41b038]
mov ecx, edx
imul ecx, dword [0x41b024]
add edx, 1
cmp eax, edi
mov dword [0x41b024], ecx
mov dword [0x41b034], edi
jle 0x40aa3c
je 0x40aa33
jne 0x40aa35
add esi, dword [esi*2 + 0xfc133c9]
scasd eax, dword es:[edi]
ret 0xd08b
xor al, 0x75
leave
jne 0x40a9fe
xor eax, ecx
imul eax, edx
mov edx, eax
mov ecx, dword [esp + 0x30]
mov edi, dword [ebp + 0x18]
mov ebx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 3
add edx, 1
add esi, 1
rep stosb byte es:[edi], al
je 0x40aa65
jmp 0x40aa60
sub edx, 1
jmp 0x40aa72
mov esi, dword [0x41b024]
jne 0x40aa70
je 0x40aa72
mov ecx, 0xc283bf74
add dword [ebx + 0x41589c6], ecx
mov al, 0x41
add byte [ecx + 0xffe2], al
add byte [0xff], ah
je 0x40aa31
add edx, 1
mov eax, esi
mov dword [0x41b004], edx
and edx, 0xff
inc dword [eax]
add byte [eax], al
and eax, 0xff
mov ecx, dword [eax*4 + 0x41b610]
add dword [edx*4 + 0x41b610], ecx
lea edx, [edx*4 + 0x41b610]
sub esi, 1
mov dword [0x41b014], esi
jne 0x40aaab
je 0x40aaad
mov eax, dword [0x448b8574]
and al, 0x10
je 0x40aa32
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add eax, 4
lea edx, [esp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
push 3
push 0x481028
call int.004050d0
mov ecx, dword [0x41b004]
mov dword [esp + 0x58], eax
mov eax, dword [0x41b014]
add ecx, 1
mov esi, eax
mov edx, ecx
and edx, 0xff
and esi, 0xff
mov esi, dword [esi*4 + 0x41b610]
add dword [edx*4 + 0x41b610], esi
lea edx, [edx*4 + 0x41b610]
add esp, 0x20
sub eax, 1
je 0x40ab1f
jne 0x40ab21
add dh, byte [ebp + 0x37]
jne 0x40ab58
mov esi, dword [0x41b034]
sub esi, dword [0x41b038]
mov edi, dword [0x41b044]
mov edx, ecx
imul edx, dword [0x41b024]
add ecx, 1
cmp edi, esi
mov al, 0x41
add byte [ebx + 0x15af0fd1], cl
and al, 0xb0
inc ecx
add byte [ebx - 0x1c4fe3f], al
jle 0x40ab51
jne 0x40ab48
je 0x40ab4a
int 0x74
out 0x8b, al
fbstp tbyte [ebx]
fimul dword [edi]
scasd eax, dword es:[edi]
retf
je 0x40ab30
mov ebx, edi
xor ebx, edx
imul ecx, ebx
mov ebx, dword [esp + 0x38]
mov ebx, dword [ebx + 0x60]
sub esi, dword [0x41b038]
sub ebx, 0x24
mov dword [esp + 0x34], ebx
mov ebx, ecx
imul ebx, edx
add ecx, 1
cmp edi, esi
jle 0x40ab7f
je 0x40ab76
jne 0x40ab78
inc eax
jne 0x40abc4
mov edx, edi
xor edx, ebx
imul ecx, edx
scasd eax, dword es:[edi]
retf 0x352b
sub esi, dword [0x41b038]
mov edx, ecx
imul edx, ebx
add ecx, 1
cmp edi, esi
ror dword [edi], 1
scasd eax, dword es:[edi]
rol dword [ebx - 0x1c4fe3f], cl
mov dword [0x41b024], edx
mov dword [0x41b034], esi
jle 0x40abab
jne 0x40aba2
je 0x40aba4
pop ds
je 0x40ab7d
xor edi, edx
imul edi, ecx
mov ecx, edi
mov esi, dword [esp + 0x34]
add ecx, 1
add eax, 1
mov byte [esi], 0xf
je 0x40abc4
jmp 0x40abbf
sub ecx, 1
jmp 0x40abcd
mov eax, edx
je 0x40abcb
jne 0x40abcd
mov bl, 0x75
mov ecx, 0x8301c183
rol byte [ecx], 0x89
outsb dx, byte [esi]
add al, 0xa3
adc al, 0xb0
inc ecx
add byte [edx + ecx - 0x15], dh
add edi, edi
adc eax, 0x1e983cf
jne 0x40ab86
add ecx, 1
add eax, 1
mov dword [esi + 4], ebp
mov dword [0x41b014], eax
je 0x40abe7
jmp 0x40abe2
sub ecx, 1
jmp 0x40abf5
mov eax, edx
mov dword [0x41b014], eax
jne 0x40abf3
je 0x40abf5
add eax, 0x7c8b5d74
and al, 0x38
je 0x40ac52
mov edi, dword [esp + 0x38]
add ecx, 1
mov esi, ecx
mov ebx, eax
mov dword [ebp + 0x24], edi
and esi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [esi*4 + 0x41b610], ebx
lea esi, [esi*4 + 0x41b610]
je 0x40ac29
jne 0x40ac2b
pushal
jne 0x40ac5f
add ecx, 1
test eax, eax
mov dword [0x41b004], ecx
je 0x40ac48
mov edi, edi
sub ecx, 1
mov dword [0x41b004], ecx
jmp 0x40ac55
mov dword [0x41b014], edx
je 0x40ac53
jne 0x40ac55
sbb eax, 0x448b2375
and al, 0x28
jne 0x40ac78
mov eax, dword [esp + 0x28]
push edi
push eax
push 0x86b51f
call int.004050d0
mov ecx, dword [0x41b014]
mov edx, dword [0x41b024]
mov esi, eax
mov eax, dword [0x41b004]
add al, ch
imul esp, dword [edi + edi*8 + 0x140d8bff], 0xffffffb0
inc ecx
add byte [ebx + 0x41b02415], cl
add byte [ebx - 0x4ffb5e10], cl
inc ecx
add byte [ebx - 0x3f7cf33c], al
add dword [ebx + 0x748901c1], eax
and al, 0x38
add esp, 0xc
add eax, 1
add ecx, 1
mov dword [esp + 0x38], esi
je 0x40ac91
jmp 0x40ac8c
sub eax, 1
jmp 0x40ac9a
mov ecx, edx
jne 0x40ac98
je 0x40ac9a
cmp al, 0x74
sbb dword [ebx - 0x3e7cfe40], eax
add dword [ecx + 0x41b0140d], ecx
add byte [edx + ecx - 0x15], dh
add edi, edi
adc eax, 0x1e88352
je 0x40acb3
add eax, 1
add ecx, 1
mov dword [0x41b014], ecx
je 0x40acb2
jmp 0x40acad
sub eax, 1
jmp 0x40acc1
mov ecx, edx
mov dword [0x41b014], ecx
jne 0x40acbf
retf 0xd89
je 0x40acc1
fnstenv [edi + eax*2 - 0x7f]
inc byte [ebx]
add dword [eax], eax
add byte [edi], cl
test dword [ecx + eax], ecx
add byte [eax], al
je 0x40ad08
cmp esi, 0x103
jne 0x40add9
mov esi, dword [0x41b034]
sub esi, dword [0x41b038]
mov ecx, eax
imul ecx, edx
mov edx, dword [0x41b044]
add eax, 1
cmp edx, esi
mov dword [0x41b024], ecx
mov dword [0x41b004], eax
mov dword [0x41b034], esi
jle 0x40ad0e
jne 0x40ad01
je 0x40ad03
je 0x40acb3
je 0x40acb3
xor edx, ecx
imul edx, eax
mov dword [0x41b004], edx
mov ecx, dword [esp + 0x2c]
push 0
push 0
add byte [edx], ch
push 0
push 0
push ecx
push 0x7e52c7
call int.004050d0
mov eax, dword [0x41b004]
mov edx, dword [0x41b034]
mov ebx, dword [0x41b038]
mov esi, dword [0x41b044]
mov ecx, eax
imul ecx, dword [0x41b024]
sub edx, ebx
add esp, 0x18
add eax, 1
cmp esi, edx
jle 0x40ad5f
jne 0x40ad56
je 0x40ad58
js 0x40adcb
je 0x40ad13
mov ebx, 0xf933fe8b
mov edi, esi
xor edi, ecx
imul eax, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x38], edi
mov edi, eax
imul edi, ecx
sub edx, ebx
add eax, 1
cmp esi, edx
mov dword [0x41b024], edi
jle 0x40ad89
je 0x40ad80
jne 0x40ad82
leave
jne 0x40ada6
mov ecx, esi
xor ecx, edi
imul eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0xff
lea edi, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
mov ebx, ecx
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi], ebx
add byte [eax], al
add byte [ebx - 0x49ef62e4], cl
inc ecx
add byte [ecx], al
pop ds
je 0x40adb7
jne 0x40adb9
in al, dx
jne 0x40add9
add eax, 1
test ecx, ecx
je 0x40adca
jmp 0x40adc5
sub eax, 1
jmp 0x40ade5
mov ecx, dword [0x41b024]
or eax, 0x41b024
je 0x40add5
jne 0x40add7
scasd eax, dword es:[edi]
jne 0x40ae14
jmp 0x40ade5
mov edx, dword [0x41b034]
mov esi, dword [0x41b044]
add eax, 1
mov ebx, ecx
mov edi, eax
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
popfd
adc byte [esi + 0x1c010041], dh
mov ebp, 0x41b610
lea edi, [edi*4 + 0x41b610]
sub ecx, 1
je 0x40ae15
jne 0x40ae17
imul esi, dword [ebp + 0x49], 0xffffff83
rol byte [ecx], 0x8b
invalid
jne 0x40ae60
add eax, 1
mov ebx, ecx
mov edi, eax
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
jne 0x40ae4d
je 0x40ae4f
daa
je 0x40adfa
mov edi, dword [esp + 0x10]
test byte [edi + 0x1f], 0x40
je 0x40af1f
sub edx, dword [0x41b038]
mov ecx, eax
imul ecx, dword [0x41b024]
add eax, 1
cmp esi, edx
mov al, 0x41
add byte [ebx + 0xdaf0fc8], cl
and al, 0xb0
inc ecx
add byte [ebx - 0xdc4fe40], al
mov dword [0x41b024], ecx
mov dword [0x41b004], eax
mov dword [0x41b034], edx
jle 0x40ae96
add byte [ecx + 0x41b03415], cl
add byte [esi + 0x12], bh
jne 0x40ae89
je 0x40ae8b
mov ebp, 0xf1332974
je 0x40aeb4
xor esi, ecx
imul esi, eax
mov dword [0x41b004], esi
mov edx, dword [esp + 0x28]
push ebp
push edx
push 0x8788cd
call int.004050d0
mov eax, dword [0x41b004]
mov edx, dword [0x41b034]
mov edi, dword [0x41b038]
mov esi, dword [0x41b044]
mov ecx, eax
imul ecx, dword [0x41b024]
sub edx, edi
mov al, 0x41
add byte [ebx + 0x41b04435], cl
add byte [ebx + 0xdaf0fc8], cl
and al, 0xb0
inc ecx
add byte [ebx], ch
xlatb
add esp, 0xc
add eax, 1
cmp esi, edx
jle 0x40aee0
je 0x40aed7
jne 0x40aed9
xor dword [ebp - 0x5e], esi
jne 0x40ae7b
mov ebx, esi
xor ebx, ecx
imul eax, ebx
mov ebp, eax
sub edx, edi
imul ebp, ecx
add eax, 1
cmp esi, edx
jle 0x40aefc
je 0x40aef3
jne 0x40aef5
xchg ebx, eax
jne 0x40af74
mov ecx, esi
xor ecx, ebp
imul eax, ecx
mov ecx, dword [0x41b014]
add eax, 1
add ecx, 1
je 0x40af14
jmp 0x40af0f
sub eax, 1
jmp 0x40af25
mov ecx, ebp
je 0x40af1b
jne 0x40af1d
test eax, 0x6eb5775
jne 0x40af74
jmp 0x40af25
mov ebp, dword [0x41b024]
add eax, 1
mov ebx, ecx
mov edi, eax
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
sub ecx, 1
je 0x40af55
jne 0x40af57
sub al, 0x75
dec ebx
jne 0x40afa2
add eax, 1
mov ebx, ecx
mov edi, eax
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
adc byte [esi + 0x3c8d0041], dh
mov ebp, 0x41b610
sub ecx, 1
jne 0x40af87
je 0x40af89
xchg edi, eax
je 0x40b001
add eax, 1
mov ebx, ecx
mov edi, eax
and edi, 0xff
and ebx, 0xff
mov ebx, dword [ebx*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebx
lea edi, [edi*4 + 0x41b610]
add byte [ecx], al
sbb al, 0xbd
adc byte [esi + 0x3c8d0041], dh
mov ebp, 0x41b610
sub ecx, 1
mov dword [0x41b014], ecx
je 0x40afbf
jne 0x40afc1
fnstenv [ebp + 0x45]
jne 0x40b006
sub edx, dword [0x41b038]
mov ecx, eax
imul ecx, ebp
add eax, 1
cmp esi, edx
mov dword [0x41b024], ecx
mov dword [0x41b004], eax
mov dword [0x41b034], edx
jle 0x40aff6
jne 0x40afe9
je 0x40afeb
push es
je 0x40b02d
inc edx
xor esi, ecx
imul esi, eax
mov dword [0x41b004], esi
mov edx, dword [esp + 0x10]
push edx
push 0x7e3f9a
call int.004050d0
mov eax, dword [0x41b004]
mov edx, dword [0x41b034]
mov ebx, dword [0x41b038]
mov esi, dword [0x41b044]
mov edi, eax
imul edi, dword [0x41b024]
sub edx, ebx
add esp, 8
add eax, 1
retf
add al, 0xb0
inc ecx
add byte [ebx + 0x41b03415], cl
add byte [ebx + 0x41b0381d], cl
add byte [ebx + 0x41b04435], cl
add byte [ebx + 0x3daf0ff8], cl
and al, 0xb0
inc ecx
add byte [ebx], ch
rol dword [ebx - 0x3f7cf73c], cl
add dword [ebx], edi
bnd jle 0x40b03f
cmp esi, edx
jle 0x40b03f
je 0x40b036
jne 0x40b038
lodsb al, byte [esi]
jne 0x40b03e
mov ecx, esi
xor ecx, edi
imul eax, ecx
ror dword [ebx + 0xfd32bc8], 0xaf
iretd
mov ecx, eax
sub edx, ebx
imul ecx, edi
add eax, 1
cmp esi, edx
jle 0x40b05b
add dword [ebx], edi
bnd jle 0x40b05b
jne 0x40b052
je 0x40b054
nop
je 0x40afea
mov edi, esi
xor edi, ecx
imul eax, edi
mov edi, eax
imul edi, ecx
sub edx, ebx
add eax, 1
cmp esi, edx
mov dword [0x41b024], edi
jle 0x40b07d
jne 0x40b074
je 0x40b076
invalid
je 0x40b048
ror byte [ebx + 0xfcf33ce], cl
scasd eax, dword es:[edi]
rol dword [ebx - 0x3774fe40], 0x81
loope 0x40b084
mov ecx, esi
xor ecx, edi
imul eax, ecx
add eax, 1
mov ecx, eax
and ecx, 0xff
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ebp - 0x49ef72c4], cl
inc ecx
add byte [ebx + 0x41b0140d], cl
add byte [ebx - 0x1a7e17], cl
add byte [eax], al
add byte [ebx - 0x49ef52d4], cl
inc ecx
add byte [ecx], al
das
lea edi, [ecx*4 + 0x41b610]
mov ecx, dword [0x41b014]
mov ebp, ecx
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [edi], ebp
sub ecx, 1
jne 0x40b0ae
je 0x40b0b0
inc esp
je 0x40b075
add eax, 1
mov ebp, ecx
mov edi, eax
and edi, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [edi*4 + 0x41b610], ebp
lea edi, [edi*4 + 0x41b610]
mov dh, 0x41
add byte [ecx], al
sub al, 0xbd
adc byte [esi + 0x3c8d0041], dh
mov ebp, 0x41b610
sub ecx, 1
je 0x40b0e0
jne 0x40b0e2
aam 0x75
pop eax
jne 0x40b13a
mov edi, eax
clc
imul edi, dword [0x41b024]
sub edx, ebx
add eax, 1
cmp esi, edx
jle 0x40b102
jne 0x40b0f9
je 0x40b0fb
or dword [eax + ebp*8 - 0x75], esi
out dx, al
je 0x40b0e3
mov ebp, esi
xor ebp, edi
imul eax, ebp
cmp dword [esp + 0x38], 0x80000005
jne 0x40b184
mov ebp, eax
sub edx, ebx
imul ebp, edi
add eax, 1
cmp esi, edx
jle 0x40b128
je 0x40b11f
jne 0x40b121
aas
jne 0x40b0c7
mov edi, esi
xor edi, ebp
imul eax, edi
mov edi, eax
sub edx, ebx
imul edi, ebp
add eax, 1
cmp esi, edx
mov dword [esp + 0x38], 0
add byte [eax], al
jle 0x40b14c
je 0x40b143
jne 0x40b145
push esp
jne 0x40b185
mov ebp, esi
xor ebp, edi
imul eax, ebp
mov ebp, eax
sub edx, ebx
imul ebp, edi
add eax, 1
cmp esi, edx
jle 0x40b168
je 0x40b15f
jne 0x40b161
pop esi
jne 0x40b16a
mov edi, esi
xor edi, ebp
imul eax, edi
mov edi, eax
sub edx, ebx
imul edi, ebp
add eax, 1
cmp esi, edx
jle 0x40b184
jne 0x40b17b
je 0x40b17d
jmp 0x40b1f0
je 0x40b1e2
mov ebx, esi
xor ebx, edi
imul eax, ebx
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x40b1b4
rol byte [ecx], 0x8b
jmp 0xe3c28a18
jne 0x40b1b6
push eax
jne 0x40b1be
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
jecxz 0x40b1bf
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + 0xffe5], al
add byte [ebx - 0x49ef52d4], cl
inc ecx
add byte [ecx], al
sub al, 0x9d
adc byte [esi + 0x1c8d0041], dh
popfd
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add esi, dword [ecx - 0x3f7c8f8b]
add dword [ebx - 0x7e277417], ecx
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x40b1e6
add esi, dword [ebp + 3]
jne 0x40b1e8
mov cl, 0x75
jo 0x40b16c
jne 0x40b258
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
rol byte [ecx], 0x8b
jmp 0xe3c28a7c
jecxz 0x40b1f1
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + 0xffe5], al
add byte [ebx - 0x49ef52d4], cl
inc ecx
add byte [ecx], al
sub al, 0x9d
adc byte [esi + 0x1c8d0041], dh
popfd
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x40b218
sbb al, 0x9d
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add edx, dword [eax + 0x75]
invalid
jne 0x40b21a
push eax
jne 0x40b20a
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
je 0x40b24a
popfd
adc byte [esi + 0x1c8d0041], dh
popfd
adc byte [esi - 0x167cffbf], dh
add dword [ebx + eax + 0x75], esi
add esp, dword [edi - 0x3f7c988b]
add dword [ebx - 0x7e277417], ecx
jecxz 0x40b255
jne 0x40b24c
cmpsd dword [esi], dword es:[edi]
jne 0x40b2b3
add eax, 1
mov ebp, ecx
mov ebx, eax
and ebx, 0xff
inc dword [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + 0xffe5], al
add byte [ebx - 0x49ef52d4], cl
inc ecx
add byte [ecx], al
sub al, 0x9d
adc byte [esi + 0x1c8d0041], dh
popfd
adc byte [esi - 0x167cffbf], dh
add dword [ecx + 0x41b0140d], ecx
add byte [ebp + 3], dh
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x41b610]
add dword [ebx*4 + 0x41b610], ebp
lea ebx, [ebx*4 + 0x41b610]
sub ecx, 1
mov dword [0x41b014], ecx
jne 0x40b282
je 0x40b284
lea esi, [edx + esi*4 + 0x2b]
adc eax, 0x41b038
je 0x40b236
sub edx, dword [0x41b038]
mov ecx, eax
imul ecx, edi
add eax, 1
cmp esi, edx
pop edi
mov dword [0x41b024], ecx
mov dword [0x41b004], eax
mov dword [0x41b034], edx
pop ebx
jle 0x40b2bb
jne 0x40b2ae
je 0x40b2b0
scasb al, byte es:[edi]
je 0x40b23d
xor esi, ecx
imul esi, eax
mov dword [0x41b004], esi
scasd eax, dword es:[edi]
invalid
mov eax, dword [esp + 0x30]
pop esi
pop ebp
add esp, 0x14
ret 0x14