Function at 0x438602
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 0xa3cda1f9
mov dword [esp + 0xc], 0xdf51dd29
mov dword [esp + 0x10], 0xdb47d952
mov dword [esp + 0x14], 0xd7a8d54d
mov dword [esp + 0x18], 0xd34bd144
mov dword [esp + 0x1c], 0xcf53cd5c
mov dword [esp + 0x20], 0xcbc8c991
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x27], 0
mov eax, 0xc4
mov ecx, 0xc9009d3b
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x36ff62cd]
mov ebx, eax
xor ebx, ecx
and ebx, edi
xor ebx, ecx
mov dword [esp + 0x40], ebx
mov edi, dword [esp + 0x40]
mov ebx, edi
and ebx, 0x61
xor edi, 0x61
lea ebx, [edi + ebx*2]
add bl, 2
mov byte [esp + ecx + 0x36ff62cd], bl
dec eax
inc ecx
cmp eax, 0xa1
jne case.default.0x438402
lea eax, [esp + 0x40]
lea esi, [esp + 8]
mov ebx, esi
mov edi, eax
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0x5c]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 0x30]
push ecx
push 8
push esi
push 0xd
push eax
push 0
call dword [0x44d510]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44aee4]
mov dword [esp + 8], 0x3a0043
mov word [esp + 0xc], 0x5c
mov word [esp + 0xe], 0
mov dword [esp + 4], 0
push 0xaa14ca30
push dword [0x44d508]
call fcn.0043f840
add esp, 8
lea ecx, [esp + 4]
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44aeec]
mov ecx, dword [case.0x438402.7]
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x44af38]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44af3c]
lea edx, [esp + esi*4]
add edx, 0x2c
jmp 0x4384a4
lea edx, [esp + 4]
mov edx, dword [edx]
mov edi, edx
and edi, 0x1a5845
mov eax, edx
or edx, 0x1a5845
imul edx, edi
xor edi, 0x1a5845
and eax, 0xffe5a7ba
imul eax, edi
add edx, eax
lea eax, [ecx + 8]
add edx, 0xebde8a13
mov dword [esp + esi*4 + 0x30], edx
mov byte [ecx + 8], 0
mov dword [esp], eax
je 0x438530
mov ecx, eax
cmp edx, 0x100
jb 0x438540
mov ebx, edx
nop
nop
nop
nop
nop
movzx eax, dl
movzx eax, word [eax + eax + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
shr ebx, 8
cmp edx, 0xffff
mov edx, ebx
ja 0x4384f0
cmp ebx, 0xf
ja 0x438547
movzx eax, byte [ebx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x438556
mov byte [ecx + 7], 0x30
add ecx, 7
jmp 0x438556
mov ebx, edx
cmp ebx, 0xf
jbe 0x438514
movzx eax, word [ebx + ebx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov edi, 0xfffffff7
mov ebx, 0xfffffff8
cmp byte [ecx + edi + 9], 0
mov edx, ebx
lea edi, [edi + 1]
lea ebx, [ebx + 1]
jne case.default.0x438576
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44af44]
jmp dword [0x44af60]
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc esi
jmp dword [0x44af68]
xor eax, eax
test ebx, ebx
setne al
mov edx, ebx
jmp dword [eax*4 + 0x44af44]
jmp dword [0x44af50]
mov byte [ecx - 1], 0x30
dec ecx
lea ebx, [edx + 1]
jmp dword [0x44af54]
mov byte [ecx - 1], 0x30
dec ecx
mov byte [ecx - 1], 0x30
dec ecx
lea ebx, [edx + 1]
jmp dword [0x44af54]
mov ecx, dword [esp]
mov edx, dword [case.0x438402.11]
nop
nop
nop
nop
nop
nop
nop
jmp edx
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x44af14]
jmp dword [0x44af28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x43898f
push 0x400
call fcn.0043bda0
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x14]
mov dword [esp], 0xfb10fba6
mov eax, dword [esp]
mov edx, eax
or edx, 0x58
and eax, 0x58
add eax, edx
inc eax
movzx edx, al
mov dword [esp], 0xfb10fba6
mov eax, dword [esp]
mov esi, eax
or esi, 0x58
and eax, 0x58
add eax, esi
shl eax, 8
add eax, 0x100
movzx eax, ax
or eax, edx
mov dword [esp], 0xfb10fba6
mov edx, dword [esp]
mov esi, edx
or esi, 0x58
and edx, 0x58
add edx, esi
shl edx, 0x10
add edx, 0x10000
mov dword [esp], 0xfb10fba6
mov esi, dword [esp]
mov edi, esi
or edi, 0x58
and esi, 0x58
add esi, edi
shl esi, 0x18
and edx, 0xff0000
or edx, eax
lea eax, [esi + edx]
add eax, 0x1000000
mov dword [esp], 0xfb10fb65
mov edx, dword [esp]
mov dword [esp], 0xfb10fb66
mov edx, dword [esp]
mov dword [esp], 0xfb10fb67
mov edx, dword [esp]
mov dword [esp], 0xfb10fb68
mov edx, dword [esp]
mov edx, dword [0x44d514]
test edx, edx
je 0x438750
xor edi, edi
mov ebx, dword [0x44d518]
mov esi, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xd75bc899
je 0x438756
inc edi
cmp edx, edi
jne 0x438740
jmp case.default.0x438782
mov esi, dword [esp + 0x10]
jmp case.default.0x438782
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je case.default.0x438782
lea eax, [esp + 0x18]
push 0x2f
push 0x400
push esi
push eax
push ecx
push 5
push dword [0x44d51c]
push edx
call fcn.0043d9a0
add esp, 0x20
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44af74]
mov dword [esp + 0xc], 0
jmp 0x4387bf
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esi]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x44af7c]
mov eax, dword [esp + 0xc]
and al, 1
mov dword [esp + 0xc], eax
push esi
call fcn.0043be60
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp], 0xfb10fba6
mov ebx, dword [esp]
mov dword [esp], 0xfb10fba6
mov edi, dword [esp]
mov dword [esp], 0xfb10fba6
mov edx, dword [esp]
mov dword [esp], 0xfb10fba6
mov esi, dword [esp]
mov dword [esp], 0xfb10fb65
mov ecx, dword [esp]
mov dword [esp], 0xfb10fb66
mov ecx, dword [esp]
mov dword [esp], 0xfb10fb67
mov ecx, dword [esp]
mov dword [esp], 0xfb10fb68
mov ecx, dword [esp]
mov ecx, dword [0x44d514]
test ecx, ecx
je 0x43898b
mov ebp, ebx
or ebp, 0x58
and ebx, 0x58
add ebx, ebp
inc ebx
movzx ebx, bl
mov ebp, edi
or ebp, 0x58
and edi, 0x58
add edi, ebp
shl edi, 8
add edi, 0x100
movzx edi, di
or edi, ebx
mov ebx, edx
or ebx, 0x58
and edx, 0x58
add edx, ebx
shl edx, 0x10
add edx, 0x10000
mov ebx, esi
or ebx, 0x58
and esi, 0x58
add esi, ebx
shl esi, 0x18
and edx, 0xff0000
or edx, edi
add edx, esi
add edx, 0x1000000
xor esi, esi
mov edi, dword [0x44d518]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xa3c1f363
je 0x438971
inc esi
cmp ecx, esi
jne 0x438890
jmp 0x43898b
mov esi, dword [esp + 0x10]
mov ecx, esp
call fcn.0043c2f0
inc ebx
xor eax, eax
cmp ebx, dword [esi]
setb al
jmp dword [eax*4 + 0x44af7c]
mov eax, dword [case.0x438782.10]
nop
jmp eax
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ecx, esp
push 0
push eax
call fcn.0043c1a0
mov eax, dword [case.0x438782.14]
nop
nop
nop
nop
jmp eax
xor eax, eax
mov ecx, ebp
neg ecx
sbb eax, edi
setl al
cmp ebp, 1
mov ecx, edi
sbb ecx, 0
setl dl
movzx ecx, al
mov eax, ecx
shl eax, 0x14
shl ecx, 0x15
not ecx
add ecx, eax
xor ecx, 0xfffffffe
movzx edx, dl
shl edx, 0x14
or edx, 0xffeffffe
add edx, ecx
lea esi, [edx + edx]
not esi
add esi, edx
or esi, eax
or esi, 1
mov ecx, esp
push esi
call fcn.0043c1c0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44afb4]
mov ecx, esp
push edi
push ebp
push 0
call fcn.0043c3f0
test eax, eax
setns al
mov dword [esp + 0xc], eax
jmp case.0x438782.16
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x43898b
push eax
push 1
push dword [0x44d51c]
push ecx
call fcn.0043d9a0
add esp, 0x10
mov eax, dword [esp + 0xc]
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov ecx, dword [esp + 0x4c8]
xor eax, eax
test ecx, ecx
sete cl
mov dword [esp + 0x4a0], 0
mov edx, dword [esp + 0x4a4]
mov esi, dword [esp + 0x4a0]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.00409740
mov eax, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x298], 1
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x300], ecx
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov esi, dword [esp + 0x20]
mov dword [esp + 0x438], 0
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0x10]
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x200], 1
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x2b8], 1
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x248], ecx
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x208], 0
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x380]
mov edx, dword [esp + 0x384]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0xc]
mov cx, word [eax + 4]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [esp + 0x1a8], 0
mov edx, dword [esp + 0x1ac]
mov esi, dword [esp + 0x1a8]
mov edx, dword [edx + esi*4]
jmp edx
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx + eax*4]
jmp eax
lahf
salc
cmp dword [ecx - 0x75], edx
inc esp
and al, 0x10
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x258], ecx
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x358]
mov ecx, dword [esp + 0x35c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x320]
mov edx, dword [esp + 0x324]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0xc]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x260], ecx
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
fcom dword [esi - 0x6c82c5e3]
and ah, byte [ebx + ecx*4]
test byte [eax + ecx*4], ah
add byte [eax], al
add byte [ebx + 0x8c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x4a8], 1
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.00409740
mov dword [esp + 0x408], 1
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x470], 0
mov eax, dword [esp + 0x474]
mov ecx, dword [esp + 0x470]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x10], esi
mov dword [esp + 0x2d0], 1
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov ax, word [esi]
mov dword [esp + 0x3e0], 1
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
fmul dword [esi]
jo 0x439a60
sub dword [eax - 0x24], edx
or byte [ebx + 0x66102444], 0xc7
add byte [eax], al
add byte [ebx - 0x74c7dbbc], cl
dec esp
and al, 0x3c
mov eax, dword [ecx + eax*4]
jmp eax
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x3ec2484], cl
add byte [eax], al
mov ecx, dword [esp + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x434]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x2f8], ecx
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0041e430
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*2 - 2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax*2 - 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x18]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 4
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
add eax, 2
mov dword [esp], eax
mov dword [esp + 4], 0x4457da
call fcn.0043a700
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x250], ecx
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0x18]
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
mov dword [esp + 0x1d0], 0
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x360], 0
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x450], ecx
mov eax, dword [esp + 0x454]
mov ecx, dword [esp + 0x450]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x388], 0
mov ecx, dword [esp + 0x38c]
mov edx, dword [esp + 0x388]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor ecx, ecx
sub eax, 1
sete cl
mov dword [esp + 0x458], ecx
mov eax, dword [esp + 0x45c]
mov ecx, dword [esp + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x440], 1
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x440]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0x10]
mov word [eax], 0
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x498]
mov eax, dword [eax + ecx*4]
jmp eax
and bl, 1
movzx eax, bl
add esp, 0x4b8
pop esi
pop ebx
ret
mov al, byte [esp + 0x1e]
mov bl, al
and ebx, 1
mov dword [esp + 0x330], ebx
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x268], ecx
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov eax, dword [esp + 0x4c8]
mov cx, word [eax + 2]
xor eax, eax
sub cx, 0x3a
sete cl
mov dword [esp + 0x128], 0
mov edx, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.00409740
mov dword [esp + 0x338], 1
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x338]
mov eax, dword [eax + ecx*4]
jmp eax
jmp eax
loopne 0x43a093
jecxz 0x43a052
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x2a0], 0
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
add byte [eax], al
mov ax, word [eax + 4]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x118], ecx
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov ecx, dword [esp + 0x20]
xor eax, eax
sub ecx, 3
sete cl
mov dword [esp + 0x278], 0
mov edx, dword [esp + 0x27c]
mov esi, dword [esp + 0x278]
mov edx, dword [edx + esi*4]
jmp edx
mov byte [esp + 0x1f], dl
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x390], 0
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esp + 0x17], 0
mov eax, dword [esp + 0x490]
mov ecx, dword [esp + 0x494]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x1d8], 0
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x3dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x244]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x4c8]
mov word [eax], 0x5c
mov eax, dword [esp + 0x4c8]
mov word [eax + 2], 0
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, dword [esp + 0xc]
mov dword [esp], esi
call fcn.00419630
lea eax, [esi + eax*2]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov esi, dword [esp + 0xc]
mov dword [esp], esi
call fcn.00419630
lea eax, [esi + eax*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x468], 1
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x468]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x328], ecx
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x280], 1
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.0043a6c0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x478], ecx
mov eax, dword [esp + 0x47c]
mov ecx, dword [esp + 0x478]
mov eax, dword [eax + ecx*4]
jmp eax
test dh, 7
sar dword [ebp + esi*8 + 0x22], 1
fisttp dword [ebx - 0x74bfdbbc]
dec esp
and al, 0x44
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x130], 0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov eax, dword [eax + ecx*4]
jmp eax
push 0x9769a375
mov ebp, 0x448b885e
and al, 0x18
add eax, 0xfffffffe
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c8]
mov word [eax], 0
mov eax, dword [esp + 0x4c4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x48c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
movzx eax, si
mov dword [esp + 0x228], 0
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x228]
mov ecx, dword [ecx + edx*4]
jmp ecx
cmpsd dword [esi], dword es:[edi]
fld dword [edx]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x404]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xc]
add eax, 2
mov ecx, dword [esp + 0x3b8]
mov edx, dword [esp + 0x3bc]
add eax, dword [eax]
add byte [ebx + 0x3bc2494], cl
add byte [eax], al
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
loopne 0x43a51d
cdq
sbb dword [ebx + 0xa82484], ecx
add byte [eax], al
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [esp + 0x17], 1
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.00409740
xor ebx, ebx
mov eax, esi
sub eax, 2
sete dl
mov dword [esp + 0x420], 1
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.00409740
mov dword [esp + 0x168], 1
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x10]
mov word [eax], 0x5c
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x448]
mov ecx, dword [esp + 0x44c]
mov eax, dword [ecx + eax*4]
jmp eax
inc ebx
add byte [ecx + 0x5800434a], bh
dec ebp
inc ebx
add byte [ecx + 0x49], bl
inc ebx
add byte [edx], ch
dec esi
inc ebx
add byte [eax + 0x4d], bl
inc ebx
add byte [ecx + edx*2 + 0x44ff0043], dh
inc ebx
add byte [esi], ah
push esp
inc ebx
add byte [ecx + edx*2 + 0x449e0043], dh
inc ebx
add byte [edx + edx*2 + 0x546a0043], dl
inc ebx
add bh, dl
push ecx
inc ebx
add byte [edx + 0x4b], ch
inc ebx
add bh, dl
push ecx
inc ebx
add byte [edx + 0x72004349], dl
dec ecx
inc ebx
add byte [edx + 0x49], dh
inc ebx
add byte [0xc500434d], ah
dec ebx
inc ebx
add byte [esi + 0x44], bh
inc ebx
add byte [ecx], bl
dec esi
inc ebx
add ch, al
dec ebx
inc ebx
add byte [ecx], cl
test byte [ebx], al
adc dword [ebx + eax*2 + 0x43862600], eax
add byte [esp + eax*4 + 67], bl
add byte [eax - 0x7c], dh
inc ebx
add byte [eax - 0x7c], dh
inc ebx
add al, dh
test dword [ebx], eax
jo 0x44ae86
inc ebx
add byte [eax], al
xchg byte [ebx], al
add byte [esi - 0x79fdffbd], al
inc ebx
add byte [eax], al
xchg byte [ebx], al
and byte [esi - 0x7b7fffbd], al
inc ebx
add byte [eax], ah
xchg byte [ebx], al
and byte [esi - 0x79dfffbd], al
inc ebx
add byte [esi], ah
xchg byte [ebx], al
add byte [ebx + eax*2 + 0x43848000], 0
add byte [ebx + eax*2 + 1132758528], 0
xchg esp, eax
test byte [ebx], al
mov al, byte [0x80004384]
test dword [ebx], eax
mov al, 0x85
inc ebx
add al, dl
test dword [ebx], eax
mov dh, 0x85
inc ebx
add byte [eax - 0x2fffbc7b], ah
test dword [ebx], eax
xchg byte [ebp - 0x7a6fffbd], al
inc ebx
add byte [eax - 0xfffbc7b], dl
test dword [ebx], eax
pop ebp
xchg byte [ebx], al
xchg byte fs:[ebx], al
mov dword [edi - 2020409277], eax
xchg dword [ebx], eax
xchg ebx, eax
xchg dword [ebx], eax
mov ch, 0x87
inc ebx
add dl, cl
xchg dword [ebx], eax
xchg ebx, eax
xchg dword [ebx], eax
mov ch, 0x87
inc ebx
add dl, cl
mov byte [ebx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
ror byte [eax - 0x772fffbd], 1
inc ebx
add al, dl
mov byte [ebx], al
ror byte [eax - 0x772fffbd], cl
inc ebx
add byte [eax], al
mov dword [ebx], eax
add byte [ecx - 0x76fdffbd], cl
inc ebx
add byte [eax], al
mov dword [ebx], eax
mov al, 0x88
inc ebx
add byte [eax - 0x77], bl
inc ebx
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 ah, cl
xchg dword [ebx], eax
sahf
cwde
inc ebx
add byte [eax - 0xfffbc5f], dl
popfd
inc ebx
add ah, dh
xchg esp, eax
inc ebx
add byte [eax - 0x62], bh
inc ebx
add ah, dh
xchg esp, eax
inc ebx
add byte [edi], ch
movsb byte es:[edi], byte [esi]
inc ebx
add byte [eax - 0x3dffbc5f], dl
cdq
inc ebx
add byte [ebx], bh
mov dword [0x9db90043], eax
inc ebx
add dh, bh
cwde
inc ebx
add byte [eax + 0x670043a2], ah
mov byte [0xa2670043], al
inc ebx
add byte [edx + 0x30043a4], dl
sahf
inc ebx
add byte [ebp - 0x63], ah
inc ebx
add byte [ebx], al
sahf
inc ebx
add byte [eax + 0x5c0043a6], al
xchg edi, eax
inc ebx
add byte [eax - 0x53ffbc6b], al
lcall 0x43, 0x95800043
push esp
mov al, byte [2782068803]
inc ebx
add byte [eax + 0x43], dl
add byte [edi], dh
mov eax, dword [0x98db0043]
inc ebx
add byte [ecx - 0x6effbc5b], dl
movsd dword es:[edi], dword [esi]
inc ebx
add bh, bh
movsb byte es:[edi], byte [esi]
inc ebx
add byte [edx], al
mov dword [0x971e0043], eax
inc ebx
add dh, ch
cdq
inc ebx
add byte [ebp - 0x72ffbc5e], cl
mov byte [0xa1cb0043], al
inc ebx
add byte [edx], al
mov dword [0xa5120043], eax
inc ebx
add byte [ebx - 0x60], ch
inc ebx
add byte [ebp - 0x5f], ch
inc ebx
add byte [edi - 0x44ffbc63], cl
mov al, byte [0x96760043]
inc ebx
add byte [edi - 0x5cffbc63], cl
lahf
inc ebx
add byte [edx - 0x63], al
inc ebx
add dl, bl
xchg edi, eax
inc ebx
add byte [ebx + 0x4500439f], ah
cwde
inc ebx
add ch, ch
lahf
inc ebx
add byte [ebp - 0x68], al
inc ebx
add ch, bh
sahf
inc ebx
add dh, bh
wait
inc ebx
add dh, dl
mov byte [0x97ed0043], al
inc ebx
add byte [esi - 0x65], cl
inc ebx
add byte [ebx - 0x6b], dl
inc ebx
add byte [esi - 0x65], cl
inc ebx
add byte [esi - 0x65], cl
inc ebx
add byte [edi + 0x4e00439a], bh
wait
inc ebx
add dh, bh
wait
inc ebx
add byte [ebx - 0x6affbc67], bl
pushfd
inc ebx
add byte [ebp + 0x4300439c], dl
lahf
inc ebx
add al, ah
xchg ebp, eax
inc ebx
add bl, cl
movsb byte es:[edi], byte [esi]
inc ebx
add bl, cl
movsb byte es:[edi], byte [esi]
inc ebx
add byte [ebp + 0x250043a3], cl
xchg ebp, eax
inc ebx
add al, cl
wait
inc ebx
add al, cl
wait
inc ebx
add byte [esi], ah
sahf
inc ebx
add byte [esi + edx*4 - 0x5f1affbd], ah
inc ebx
add byte [esi - 0x64], dh
inc ebx
add ch, ah
mov al, byte [0x9aec0043]
inc ebx
add byte [ecx - 0x61], bh
inc ebx
add ah, ch
lcall 0x43, 0x98070043
in al, dx
lcall 67, 0x979b0043
invalid