Function at 0x40fb95
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x43c
mov ebp, dword [esp + 0x468]
mov dword [esp + 0x3c], 0x118f1fe3
mov dword [esp + 0x40], 0x1589139a
mov dword [esp + 0x44], 0x98a1788
mov dword [esp + 0x48], 0xddb0beb
mov dword [esp + 0x4c], 0x1d00fdb
mov dword [esp + 0x50], 0x52203d0
mov dword [esp + 0x54], 0x39ef07dc
mov dword [esp + 0x58], 0x3da43ba3
mov dword [esp + 0x5c], 0x31af3fd8
mov dword [esp + 0x60], 0x35a733b9
mov dword [esp + 0x64], 0x29c83714
mov dword [esp + 0x68], 0x2d0a2bdc
mov dword [esp + 0x6c], 0x21fe2fff
mov dword [esp + 0x70], 0x25f223fe
mov dword [esp + 0x74], 0xd90627e9
mov dword [esp + 0x78], 0xdd41db31
mov dword [esp + 0x7c], 0xd108df42
mov dword [esp + 0x80], 0xd51fd304
mov dword [esp + 0x84], 0xc95ed7f4
mov dword [esp + 0x88], 0xcd1ecb1e
mov dword [esp + 0x8c], 0xc1eecf17
mov dword [esp + 0x90], 0xc552c303
mov dword [esp + 0x94], 0xf95ac754
mov dword [esp + 0x98], 0xfd13fb1f
mov dword [esp + 0x9c], 0xf11cff1b
mov dword [esp + 0xa0], 0xf569f30d
mov dword [esp + 0xa4], 0xe927f760
mov dword [esp + 0xa8], 0xed3feb3f
mov dword [esp + 0xac], 0xe130ef25
mov dword [esp + 0xb0], 0xe534e335
mov dword [esp + 0xb4], 0x993ee7c4
mov dword [esp + 0xb8], 0x9d629b65
mov dword [esp + 0xbc], 0x91619f68
mov dword [esp + 0xc0], 0x954e936c
mov dword [esp + 0xc4], 0x890a97b4
mov dword [esp + 0xc8], 0x8d178b13
mov dword [esp + 0xcc], 0x81ae8f6b
mov dword [esp + 0xd0], 0x85658379
mov dword [esp + 0xd4], 0xb91b8761
mov dword [esp + 0xd8], 0xbd61bb29
mov dword [esp + 0xdc], 0xb17bbf9c
mov dword [esp + 0xe0], 0xb520b328
mov dword [esp + 0xe4], 0xa929b725
mov dword [esp + 0xe8], 0xad7bab4f
mov dword [esp + 0xec], 0xa17daf7f
mov dword [esp + 0xf0], 0xa57ca36b
mov dword [esp + 0xf4], 0x5978a774
mov dword [esp + 0xf8], 0x5d845b88
mov dword [esp + 0xfc], 0x517e5f8c
mov dword [esp + 0x100], 0x55b153a5
mov dword [esp + 0x104], 0x49b557b2
mov dword [esp + 0x108], 0x4dd14bda
mov dword [esp + 0x10c], 0x41994f9d
mov dword [esp + 0x110], 0x458b4395
mov dword [esp + 0x114], 0x7993479a
mov dword [esp + 0x118], 0x7d7a7bae
mov word [esp + 0x11c], 0
mov eax, dword [0x44e3b4]
mov ecx, 0xc6
mov edx, 0x3a
nop
movzx esi, byte [esp + ecx - 0x8a]
lea edi, [esi + esi]
not edi
add edi, esi
and edi, 0x5c
and esi, 0xffffffa3
or esi, edi
mov edi, edx
and edi, 0x5c
mov ebx, edx
or ebx, 0xa3
add ebx, ecx
or ebx, edi
xor ebx, esi
add bl, 0x27
mov byte [esp + ecx - 0x8a], bl
inc ecx
dec edx
cmp ecx, 0x1a8
jne case.default.0x40fa08
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
xor edi, edi
jmp dword [ecx*4 + 0x448b14]
mov dword [esp + 8], eax
jmp dword [0x448b1c]
xor ebx, ebx
mov dword [esp], 0
mov ebp, dword [esp + 0x468]
mov esi, dword [esp + 8]
push edi
call dword [0x44e3e0]
mov edi, dword [esp]
jmp dword [0x448ba8]
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x458]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x464]
push edx
push edx
push dword [esp + 0x468]
push eax
push ecx
push ebx
call dword [0x44e3cc]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp], 0
jmp dword [ecx*4 + 0x448b64]
push 0
push ebx
call dword [0x44e3d0]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
mov dword [esp], 0
jmp dword [ecx*4 + 0x448b6c]
mov dword [esp + 0x3c], 0
mov dword [esp + 4], 0
mov dword [esp], 0
jmp 0x40fb0a
mov dword [esp + 0xc], 0
mov eax, ebp
add eax, dword [esp + 4]
lea ecx, [esp + 0xc]
push ecx
push dword [esp + 0x40]
push eax
push ebx
call dword [0x44e3d8]
mov eax, dword [esp + 4]
add eax, dword [esp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebp
xor eax, eax
jmp dword [eax*4 + 0x448b84]
mov dword [esp], ebp
lea eax, [esp + 0x3c]
push eax
push ebx
call dword [0x44e3d4]
test eax, eax
setne cl
mov eax, dword [esp + 0x3c]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x448b74]
mov ecx, dword [esp + 4]
add eax, ecx
inc eax
push eax
push dword [esp + 4]
call fcn.0043f080
add esp, 8
mov ebp, eax
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x448b7c]
mov ebp, dword [esp]
mov eax, 1
jmp dword [eax*4 + 0x448b84]
xor eax, eax
cmp dword [esp], 0
setne al
mov ebp, dword [esp + 0x468]
jmp dword [eax*4 + 0x448b9c]
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov byte [ecx + eax], 0
push ebx
call dword [0x44e3e0]
mov ebx, dword [esp + 4]
jmp 0x40fa2d
mov dword [esp + 0xc], 0x118f1f59
mov dword [esp + 0x10], 0x158f1381
mov dword [esp + 0x14], 0x971178f
mov dword [esp + 0x18], 0xd2a0b42
mov dword [esp + 0x1c], 0x16f0f6d
mov dword [esp + 0x20], 0x5640365
mov dword [esp + 0x24], 0x39990765
mov dword [esp + 0x28], 0x3d5b3bb1
mov dword [esp + 0x2c], 0x31b53f5e
mov dword [esp + 0x30], 0x357d33a0
mov word [esp + 0x34], 0x3734
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [esp + eax + 0xc]
add cl, 0xe7
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x30
jne 0x40fc00
movzx ecx, word [esp + 0xc]
lea eax, [esp + 0x3c]
test cx, cx
je 0x40fc41
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40fc30
mov word [eax], 0
movzx ecx, word [0x44e4ee]
test cx, cx
je 0x40fc75
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44e4f0]
add edx, 2
test cx, cx
jne 0x40fc60
add eax, edx
mov word [eax], 0
lea eax, [esp + 0x3c]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x44e3c8]
jmp dword [0x448b5c]
mov dword [esp + 0xc], 0x118f1f59
mov dword [esp + 0x10], 0x158f1381
mov dword [esp + 0x14], 0x971178f
mov dword [esp + 0x18], 0xd2a0b42
mov dword [esp + 0x1c], 0x16f0f6d
mov dword [esp + 0x20], 0x5640365
mov dword [esp + 0x24], 0x39990765
mov dword [esp + 0x28], 0x3d5b3bb1
mov dword [esp + 0x2c], 0x31b53f5e
mov dword [esp + 0x30], 0x357d33a0
mov word [esp + 0x34], 0x3734
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [esp + eax + 0xc]
add cl, 0xe7
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x30
jne 0x40fd00
movzx ecx, word [esp + 0xc]
lea eax, [esp + 0x3c]
test cx, cx
je 0x40fd41
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40fd30
mov word [eax], 0
movzx ecx, word [0x44e4ee]
test cx, cx
je 0x40fd75
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44e4f0]
add edx, 2
test cx, cx
jne 0x40fd60
add eax, edx
mov word [eax], 0
lea eax, [esp + 0x3c]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x44e3c8]
jmp case.0x40fa08.15
push edi
call fcn.0043c4c0
add esp, 4
jmp 0x4100cd
mov eax, dword [0x44e3b8]
mov dword [esp], eax
mov dword [esp + 0x3c], 0x61666421
mov word [esp + 0x40], 0
mov byte [esp + 0x42], 0
xor ecx, ecx
nop
nop
movzx edx, byte [esp + ecx + 0x3c]
mov edi, ecx
xor edi, 0x3ba3f866
mov ebx, ecx
or ebx, 1
and ebx, edi
mov edi, ecx
or edi, 0xc45c0799
add edi, ebx
mov ebp, edx
and ebp, edi
mov esi, ebp
and esi, 0xffffffbd
mov eax, ebp
and eax, 2
mov ebx, ebp
or ebx, 0xfd
inc ebx
imul ebx, esi
or ebp, 2
imul ebp, eax
sub ebx, ebp
add ebx, edi
add bl, dl
add bl, 3
mov byte [esp + ecx + 0x3c], bl
inc ecx
cmp ecx, 7
jne 0x40fdc0
movzx eax, word [esp + 0x3c]
push 0
push eax
push dword [esp + 0x458]
push dword [esp + 0x14]
call dword [esp + 0x10]
mov eax, dword [0x44e3b8]
mov dword [esp], eax
mov dword [esp + 0x3c], 0x61666421
mov word [esp + 0x40], 0
mov byte [esp + 0x42], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x3c]
mov edx, ecx
xor edx, 0x3ba3f866
mov esi, ecx
or esi, 1
and esi, edx
mov edi, ecx
or edi, 0xc45c0799
add edi, esi
mov edx, eax
and edx, edi
mov esi, edx
and esi, 0xffffffbd
mov ebp, edx
and ebp, 2
mov ebx, edx
or ebx, 0xfd
inc ebx
imul ebx, esi
or edx, 2
imul edx, ebp
sub ebx, edx
add ebx, edi
add bl, al
add bl, 3
mov byte [esp + ecx + 0x3c], bl
inc ecx
cmp ecx, 7
jne 0x40fe50
movzx eax, word [esp + 0x3c]
push 0
push eax
push dword [esp + 0x458]
mov esi, dword [esp + 0x14]
push esi
call dword [esp + 0x10]
jmp dword [0x448b28]
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x448b2c]
xor edi, edi
xor ebx, ebx
mov ebp, dword [esp + 0x468]
jmp dword [0x448ba8]
jmp dword [0x448b38]
mov eax, dword [0x44e3bc]
mov dword [esp + 0xc], 0x3fbe3938
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 2
xor esi, 0x76
mov edx, ecx
and edx, 1
sub edx, esi
xor dl, byte [esp + ecx + 0xc]
add dl, 0x4e
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 4
jne 0x40ff00
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], 0x93259120
mov dword [esp + 0x40], 0x9f229d2f
mov word [esp + 0x44], 0x9998
mov dword [esp + 0x46], 0
mov word [esp + 0x4a], 0
mov edx, 0x798b06e4
nop
movzx ebp, byte [esp + edx - 0x798b06a8]
xor ebp, edx
mov ebx, ebp
and ebx, 0xb
add ebx, ebx
mov esi, ebp
or esi, 0x74
not ebp
or ebp, 0x8b
and ebp, esi
sub ebx, ebp
mov byte [esp + edx - 0x798b06a8], bl
inc edx
cmp edx, 0x798b06f4
jne 0x40ff50
lea edx, [esp + 0x3c]
push ecx
push 0
push 0
push 0
push dword [esp + 0x464]
push edx
push edi
call eax
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [esp + 0x46]
mov eax, dword [0x44e3bc]
mov dword [esp + 0xc], 0x3fbe3938
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 2
xor esi, 0x76
mov ebx, ecx
and ebx, 1
sub ebx, esi
xor bl, byte [esp + ecx + 0xc]
add bl, 0x4e
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp ecx, 4
jne 0x40ffc0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], 0x93259120
mov dword [esp + 0x40], 0x9f229d2f
mov word [esp + 0x44], 0x9998
mov word [edx + 4], 0
mov dword [edx], 0
mov edx, 0x798b06e4
nop
nop
nop
nop
movzx ebp, byte [esp + edx - 0x798b06a8]
xor ebp, edx
mov ebx, ebp
and ebx, 0xb
add ebx, ebx
mov esi, ebp
or esi, 0x74
not ebp
or ebp, 0x8b
and ebp, esi
sub ebx, ebp
mov byte [esp + edx - 0x798b06a8], bl
inc edx
cmp edx, 0x798b06f4
jne 0x410010
push ecx
push 0
push 0
push 0
push dword [esp + 0x464]
lea ecx, [esp + 0x50]
push ecx
push edi
call eax
jmp dword [0x448b3c]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x448b44]
movzx eax, byte [0x44e4ec]
mov ebp, dword [esp + 0x468]
mov esi, dword [esp + 8]
jmp dword [eax*4 + 0x448b4c]
jmp dword [0x448b54]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x448bcc]
mov dword [ebp], ebx
nop
nop
jmp dword [0x448bdc]
test edi, edi
setne al
add esp, 0x43c
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0x464]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x448bb4]
mov dword [ecx], edi
mov eax, dword [case.0x40fa08.44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push esi
call dword [0x44e3e0]
push esi
call dword [0x44e3e0]
jmp dword [0x448bac]
push eax
sub esp, 0xe0
mov eax, esp
mov ecx, dword [0x44e3b4]
mov dword [eax], 0x9f6d9955
mov dword [eax + 4], 0xa34b9d62
mov dword [eax + 8], 0xa74aa14c
mov dword [eax + 0xc], 0xab99a545
mov dword [eax + 0x10], 0xaf9ca99d
mov dword [eax + 0x14], 0xb392ad9c
mov dword [eax + 0x18], 0xb76db198
mov dword [eax + 0x1c], 0xbb48b55d
mov dword [eax + 0x20], 0xbf4db95c
mov dword [eax + 0x24], 0x43b5bd47
mov dword [eax + 0x28], 0x47944160
mov dword [eax + 0x2c], 0x4b6a4590
mov dword [eax + 0x30], 0x4f7e4979
mov dword [eax + 0x34], 0x53624d7e
mov dword [eax + 0x38], 0x5776516f
mov dword [eax + 0x3c], 0x5bb3558f
mov dword [eax + 0x40], 0x5f6459aa
mov dword [eax + 0x44], 0x635d5d68
mov dword [eax + 0x48], 0x679e6140
mov dword [eax + 0x4c], 0x6b5e655e
mov dword [eax + 0x50], 0x6f4e6941
mov dword [eax + 0x54], 0x73826dad
mov dword [eax + 0x58], 0x779a7180
mov dword [eax + 0x5c], 0x7ba17591
mov dword [eax + 0x60], 0x7f98799d
mov dword [eax + 0x64], 0x3eb7db3
mov dword [eax + 0x68], 0x73501f4
mov dword [eax + 0x6c], 0xb3d0531
mov dword [eax + 0x70], 0xf3c0933
mov dword [eax + 0x74], 0x13280d3b
mov dword [eax + 0x78], 0x173e1130
mov dword [eax + 0x7c], 0x1bd215db
mov dword [eax + 0x80], 0x1fd319cc
mov dword [eax + 0x84], 0x230e1dd0
mov dword [eax + 0x88], 0x27ca2100
mov dword [eax + 0x8c], 0x2bc525cd
mov dword [eax + 0x90], 0x2f0e29cd
mov dword [eax + 0x94], 0x33d72de7
mov dword [eax + 0x98], 0x37d931d7
mov dword [eax + 0x9c], 0x3b1335c7
mov dword [eax + 0xa0], 0x3ff93918
mov dword [eax + 0xa4], 0xc3343dd4
mov dword [eax + 0xa8], 0xc72bc133
mov dword [eax + 0xac], 0xcbf9c521
mov dword [eax + 0xb0], 0xcfffc9f9
mov dword [eax + 0xb4], 0xd3e0cdf5
mov dword [eax + 0xb8], 0xd7e4d1e0
mov dword [eax + 0xbc], 0xdbe8d5e4
mov dword [eax + 0xc0], 0xdffed9e8
mov dword [eax + 0xc4], 0xe303dd0b
mov dword [eax + 0xc8], 0xe707e10a
mov dword [eax + 0xcc], 0xeb03e512
mov dword [eax + 0xd0], 0xefdbe9db
mov dword [eax + 0xd4], 0xf3c9eddb
mov dword [eax + 0xd8], 0xf7c1f1c2
mov dword [eax + 0xdc], 0xfbfaf5ce
mov word [eax + 0xe0], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x58
mov ebx, edx
and ebx, 2
mov edi, ebx
xor edi, 2
imul edi, esi
or esi, 2
imul esi, ebx
mov ebx, edx
xor ebx, 0x5a
add ebx, edi
add ebx, esi
xor bl, byte [eax + edx]
add bl, 0x3e
mov byte [eax + edx], bl
inc edx
cmp edx, 0xe2
jne 0x410300
push 0
push 0
push 0
push 0
push eax
call ecx
nop
nop
push eax
sub esp, 0xe0
mov eax, esp
push eax
mov dword [ebp - 0x14], esp
sub esp, 8
mov dword [ebp - 0x2c], esp
sub esp, 0x10
mov dword [ebp - 0x10], esp
sub esp, 0x200
mov dword [ebp - 0x24], esp
sub esp, 0x2c
mov dword [ebp - 0x20], esp
sub esp, 8
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x28], esp
mov ecx, dword [0x44e3b4]
mov dword [eax], 0x9f6d9955
mov dword [eax + 4], 0xa34b9d62
mov dword [eax + 8], 0xa74aa14c
mov dword [eax + 0xc], 0xab99a545
mov dword [eax + 0x10], 0xaf9ca99d
mov dword [eax + 0x14], 0xb392ad9c
mov dword [eax + 0x18], 0xb76db198
mov dword [eax + 0x1c], 0xbb48b55d
mov dword [eax + 0x20], 0xbf4db95c
mov dword [eax + 0x24], 0x43b5bd47
mov dword [eax + 0x28], 0x47944160
mov dword [eax + 0x2c], 0x4b6a4590
mov dword [eax + 0x30], 0x4f7e4979
mov dword [eax + 0x34], 0x53624d7e
mov dword [eax + 0x38], 0x5776516f
mov dword [eax + 0x3c], 0x5bb3558f
mov dword [eax + 0x40], 0x5f6459aa
mov dword [eax + 0x44], 0x635d5d68
mov dword [eax + 0x48], 0x679e6140
mov dword [eax + 0x4c], 0x6b5e655e
mov dword [eax + 0x50], 0x6f4e6941
mov dword [eax + 0x54], 0x73826dad
mov dword [eax + 0x58], 0x779a7180
mov dword [eax + 0x5c], 0x7ba17591
mov dword [eax + 0x60], 0x7f98799d
mov dword [eax + 0x64], 0x3eb7db3
mov dword [eax + 0x68], 0x73501f4
mov dword [eax + 0x6c], 0xb3d0531
mov dword [eax + 0x70], 0xf3c0933
mov dword [eax + 0x74], 0x13280d3b
mov dword [eax + 0x78], 0x173e1130
mov dword [eax + 0x7c], 0x1bd215db
mov dword [eax + 0x80], 0x1fd319cc
mov dword [eax + 0x84], 0x230e1dd0
mov dword [eax + 0x88], 0x27ca2100
mov dword [eax + 0x8c], 0x2bc525cd
mov dword [eax + 0x90], 0x2f0e29cd
mov dword [eax + 0x94], 0x33d72de7
mov dword [eax + 0x98], 0x37d931d7
mov dword [eax + 0x9c], 0x3b1335c7
mov dword [eax + 0xa0], 0x3ff93918
mov dword [eax + 0xa4], 0xc3343dd4
mov dword [eax + 0xa8], 0xc72bc133
mov dword [eax + 0xac], 0xcbf9c521
mov dword [eax + 0xb0], 0xcfffc9f9
mov dword [eax + 0xb4], 0xd3e0cdf5
mov dword [eax + 0xb8], 0xd7e4d1e0
mov dword [eax + 0xbc], 0xdbe8d5e4
mov dword [eax + 0xc0], 0xdffed9e8
mov dword [eax + 0xc4], 0xe303dd0b
mov dword [eax + 0xc8], 0xe707e10a
mov dword [eax + 0xcc], 0xeb03e512
mov dword [eax + 0xd0], 0xefdbe9db
mov dword [eax + 0xd4], 0xf3c9eddb
mov dword [eax + 0xd8], 0xf7c1f1c2
mov dword [eax + 0xdc], 0xfbfaf5ce
mov word [eax + 0xe0], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edi
and esi, 0x58
mov edx, edi
and edx, 2
mov ebx, edx
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edx
mov edx, edi
xor edx, 0x5a
add edx, ebx
add edx, esi
xor dl, byte [eax + edi]
add dl, 0x3e
mov byte [eax + edi], dl
inc edi
cmp edi, 0xe2
jne 0x410560
push 0
push 0
push 0
push 0
push eax
call ecx
jmp dword [0x448bec]
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x448bf4]
mov eax, dword [0x44e3b8]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0xf3f2f0bb
mov ecx, 0x2c
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebx + ecx - 0x2c]
mov edi, ecx
and edi, edx
add edi, edi
sub edx, edi
add edx, ecx
add edx, 0xcd755b23
mov edi, edx
xor edi, 0x1a
and edx, 0x65
add edx, edx
sub edx, edi
add dl, 0x1b
mov byte [ebx + ecx - 0x2c], dl
inc ecx
cmp ecx, 0x30
jne case.default.0x410613
movzx ecx, word [ebx]
push 0
push ecx
push 0x44e3e8
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448bfc]
xor ebx, ebx
jmp dword [0x448c58]
mov dword [ebp - 0x14], eax
mov eax, dword [0x44e3bc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x23a22120
mov dword [eax + 4], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 8
xor dl, byte [eax + ecx]
add dl, 0xd8
mov byte [eax + ecx], dl
inc ecx
cmp ecx, 8
jne 0x410640
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xcfbdc9b8
mov dword [eax + 4], 0xc3b6cdbb
mov word [eax + 8], 0xc1c0
mov dword [eax + 0xa], 0
mov edx, 0x2d
mov edi, 0x82a8ad2
nop
nop
nop
movzx ebx, byte [eax + edi - 0x82a8ad2]
mov eax, edi
or eax, ebx
not ebx
or ebx, edx
and ebx, eax
mov eax, ebx
xor eax, 0xd0
and ebx, 0x2f
add ebx, ebx
sub ebx, eax
mov eax, dword [ebp - 0x10]
add bl, 0xb6
mov byte [eax + edi - 0x82a8ad2], bl
dec edx
inc edi
cmp edx, 0x1f
jne case.default.0x4106cd
push ecx
push 0
push 0
push 0
push dword [ebp + 8]
push eax
mov edi, dword [ebp - 0x14]
push edi
call dword [ebp - 0x1c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448c04]
xor ebx, ebx
jmp 0x4108fe
xor edx, edx
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setg dl
jmp dword [edx*4 + 0x448c0c]
mov dword [ebp - 0x10], eax
movzx eax, byte [0x44e4ec]
mov edi, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x448c14]
push ecx
push ecx
push ecx
push ecx
mov dword [ebp - 0x10], eax
push eax
call dword [0x44e3c4]
movzx eax, byte [0x44e4ec]
mov edi, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x448c14]
mov edx, dword [ebp - 0x20]
mov dword [edx], 0xc95bcb71
mov dword [edx + 4], 0xc553c759
mov dword [edx + 8], 0xc159c353
mov dword [edx + 0xc], 0xbd5ebf06
mov dword [edx + 0x10], 0xb91bbb1d
mov dword [edx + 0x14], 0xb52cb725
mov dword [edx + 0x18], 0xb121b315
mov dword [edx + 0x1c], 0xad0faf39
mov dword [edx + 0x20], 0xa92dab32
mov dword [edx + 0x24], 0xa565a738
mov dword [edx + 0x28], 0xa3a4
xor eax, eax
mov ecx, eax
add cl, 0x33
xor cl, byte [edx + eax]
inc cl
mov byte [edx + eax], cl
inc eax
cmp eax, 0x2c
jne 0x410770
movzx ecx, word [edx]
mov edi, dword [ebp - 0x24]
mov eax, edi
test cx, cx
mov ebx, dword [ebp - 0x18]
je 0x4107b1
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4107a0
mov word [eax], 0
movzx ecx, word [0x44e4ee]
test cx, cx
je 0x4107e5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44e4f0]
add edx, 2
test cx, cx
jne 0x4107d0
add eax, edx
mov word [eax], 0
mov eax, dword [0x44e3c8]
mov dword [ebx], 0xf7d6c9c8
mov dword [ebx + 4], 0
mov ecx, 0x8cf3b64e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebx + ecx + 0x730c49b2]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
mov ebx, dword [ebp - 0x18]
movzx edx, dl
add edx, ecx
add dl, 0x7a
mov byte [ebx + ecx + 0x730c49b2], dl
inc ecx
cmp ecx, 0x8cf3b656
jne 0x410810
push dword [ebx]
push 0xffffffffffffffff
push edi
push dword [ebp - 0x10]
call eax
mov edi, dword [ebp + 0x1c]
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ecx
push dword [ebp - 0x10]
call dword [0x44e3cc]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x448c1c]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x10]
jmp dword [0x448c28]
mov dword [edi], 0
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call dword [0x44e3dc]
nop
nop
nop
nop
nop
nop
mov dword [edi], 0
push edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ebx
call dword [0x44e3dc]
jmp dword [0x448c2c]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448c34]
push 0
push dword [ebp - 0x10]
call dword [0x44e3d0]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x448c3c]
mov bl, 1
mov eax, dword [case.0x4106cd.7]
nop
nop
nop
nop
jmp eax
push dword [ebp - 0x10]
call dword [0x44e3e0]
mov edi, dword [ebp - 0x14]
push edi
call dword [0x44e3e0]
jmp dword [0x448c58]
push esi
call dword [0x44e3e0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call dword [0x44e3e0]
jmp dword [0x448c60]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add byte [ecx], al
psubd mm0, qword [eax]
sub dh, bh
inc eax
add byte [eax - 0x5fffbf03], ah
std
inc eax
add byte [edi - 0x30ffbf02], bh
inc byte [eax]
loopne 0x448b30
inc eax
add dh, ah
inc byte [eax]
mov al, byte [0x5e0040ff]
add byte [ecx], al
mov al, byte [0x190040ff]
cli
inc eax
add byte [esi], ch
inc ecx
add byte [0x870040fa], bh
add byte [ecx], al
xchg ebp, eax
sti
inc eax
add byte [ebx + 0x3d0040fc], dl
cli
inc eax
add byte [ebx - 0x7affbf04], dl
sti
inc eax
add byte [edi - 0x7affbf06], al
sti
inc eax
add byte [ebp + 0x630040fa], ch
sti
inc eax
add byte [eax], dh
sti
inc eax
add al, dl
cli
inc eax
add byte [ebx + edi*8 + 0x40], dl
add byte [edi], al
sti
inc eax
add byte [ebx - 5], ah
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx - 5], ah
inc eax
add byte [ebp + 0x7a0040fb], al
sti
inc eax
add dl, ah
add byte [ecx], al
jmp 0xb644ccad