Function at 0x434a82
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 dword [esp + 0x18], 0xdb69d905
mov dword [esp + 0x1c], 0xd745d55d
mov dword [esp + 0x20], 0xd34fd15c
mov dword [esp + 0x24], 0xcf72cd59
mov dword [esp + 0x28], 0xcb53c95a
mov dword [esp + 0x2c], 0xc75bc54a
mov dword [esp + 0x30], 0xc3c2c11d
lea edx, [esp + 0x34]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x27
ja 0x4349e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x18]
lea esi, [eax + ecx]
add esi, 0x1f24ad24
add eax, 0x1f24ad24
and eax, ecx
add eax, eax
sub esi, eax
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x40]
add al, 4
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x28
jb 0x4349a0
lea eax, [esp + 0x40]
lea ebx, [esp + 0x18]
mov esi, ebx
mov ecx, 7
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x5c]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
lea ecx, [esp + 8]
push ecx
push 8
push ebx
push 0xd
push eax
push 0
call dword [0x4489cc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4460a4]
mov dword [esp + 0x18], 0x3a0043
mov dword [esp + 0x1c], 0x5c
mov dword [esp + 4], 0
push 0xd77f2487
push dword [0x4489c4]
call fcn.0043b2c0
add esp, 8
lea ecx, [esp + 4]
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4460ac]
mov ecx, dword [ebp + 8]
xor eax, eax
mov edi, dword [case.0x434a1c.7]
nop
nop
nop
nop
nop
jmp edi
xor edx, edx
cmp eax, 4
setb dl
jmp dword [edx*4 + 0x4460c4]
xor edx, edx
test eax, eax
sete dl
jmp dword [edx*4 + 0x4460dc]
lea edx, [esp + eax*4]
add edx, 4
jmp 0x434aab
lea edx, [esp + 4]
mov ebx, dword [edx]
mov edx, ebx
and edx, 0x1a5845
mov edi, ebx
or ebx, 0x1a5845
imul ebx, edx
xor edx, 0x1a5845
and edi, 0xffe5a7ba
imul edi, edx
add ebx, edi
lea esi, [ecx + 8]
add ebx, 0xebde8a13
mov dword [esp + eax*4 + 8], ebx
mov byte [ecx + 8], 0
je 0x434b31
mov edx, esi
mov ecx, esi
cmp ebx, 0x100
jb 0x434b3a
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, bl
movzx esi, word [esi + esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], si
add ecx, 0xfffffffe
shr edi, 8
cmp ebx, 0xffff
mov ebx, edi
ja 0x434b00
cmp edi, 0xf
ja 0x434b41
movzx ebx, byte [edi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], bl
dec ecx
jmp 0x434b50
mov byte [ecx + 7], 0x30
add ecx, 7
jmp 0x434b52
mov edi, ebx
cmp edi, 0xf
jbe 0x434b24
movzx esi, word [edi + edi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [ecx - 2], si
add ecx, 0xfffffffe
mov esi, edx
mov ebx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + ebx + 1], 0
lea ebx, [ebx + 1]
jne case.default.0x434b7f
mov edi, ebx
and edi, 0xfffffff7
not ebx
and ebx, 8
sub edi, ebx
xor ebx, ebx
xor edx, edx
cmp edi, ebx
setne dl
jmp dword [edx*4 + 0x4460e4]
mov byte [ecx + ebx - 1], 0x30
dec ebx
xor edx, edx
cmp edi, ebx
setne dl
jmp dword [edx*4 + 0x4460e4]
inc eax
mov ecx, dword [case.0x434a1c.21]
nop
nop
nop
nop
nop
jmp ecx
mov edi, dword [case.0x434a1c.7]
mov ecx, esi
jmp case.0x434a1c.4
jmp dword [0x4460d8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov ecx, dword [case.0x434ce4.9]
jmp case.0x434ce4.6
push 0x400
call fcn.00437c50
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], 0x70716e6f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x434c8a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea edi, [eax - 0x7cabe652]
and edi, edx
add eax, edx
add eax, 0x835419ae
add edi, edi
sub eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
add al, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x434c50
mov eax, dword [esp + 8]
mov edx, dword [0x4489d0]
test edx, edx
je case.default.0x434ce4
xor edi, edi
mov ebx, dword [0x4489d4]
cmp dword [ebx + edi*8], 0x3bebd150
je 0x434cb0
inc edi
cmp edx, edi
jne 0x434ca0
jmp case.default.0x434ce4
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
je case.default.0x434ce4
lea eax, [esp + 0x24]
push 0x2f
push 0x400
push esi
push eax
push ecx
push 5
push dword [0x4489d8]
push edx
call fcn.004398f0
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
jmp dword [eax*4 + 0x446104]
push esi
call fcn.00437d10
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x70716e6f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xb
ja 0x434d6f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx - 0x7cabe652]
and esi, edx
add ecx, edx
add ecx, 0x835419ae
add esi, esi
sub ecx, esi
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x3e
mov edx, dword [esp + 4]
mov byte [esp + edx + 8], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0xc
jb 0x434d30
mov ecx, dword [0x4489d0]
test ecx, ecx
je 0x434e76
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x4489d4]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x11081610
je 0x434e5c
inc esi
cmp ecx, esi
jne 0x434d90
jmp 0x434e76
mov edi, dword [ebp + 0x10]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x18], 0
cmp ecx, dword [esi]
setb al
xor ebx, ebx
mov dword [esp + 0x1c], esi
jmp dword [eax*4 + 0x44610c]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 8]
call fcn.00438180
inc ebx
xor eax, eax
cmp ebx, dword [esi]
setb al
jmp dword [eax*4 + 0x44610c]
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
lea esi, [esp + 8]
mov ecx, esi
push 0
push eax
call fcn.00438020
xor eax, eax
mov ecx, dword [ebp + 0xc]
neg ecx
sbb eax, edi
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, esi
push eax
call fcn.00438040
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446114]
lea ecx, [esp + 8]
push edi
push dword [ebp + 0xc]
push 0
call fcn.00438260
test eax, eax
setns al
mov dword [esp + 0x18], eax
jmp case.0x434ce4.4
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x434e76
push eax
push 1
push dword [0x4489d8]
push ecx
call fcn.004398f0
add esp, 0x10
mov ecx, dword [case.0x434ce4.9]
mov eax, dword [esp + 0x18]
jmp ecx
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004099e0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
add eax, 0xfffffffe
mov dword [ecx], eax
mov dword [ebp - 0x28c], 1
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [edi]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp - 0x35c], edx
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x35c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [edi]
mov word [eax], 0x5c
mov eax, dword [edi]
mov word [eax + 2], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov byte [esi], 1
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
pop esi
mov ebp, dword [ecx]
out dx, al
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
add eax, 0xfffffffe
mov dword [ecx], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [edi]
xor edx, edx
sub eax, ecx
seta dl
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x5c
call fcn.00436400
add esp, 8
mov dword [ebx], eax
mov eax, dword [ebx]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x31c], ecx
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [ebp - 0x20]
jmp eax
mov eax, dword [edi]
mov ax, word [eax + 4]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x294], 1
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax*4]
jmp eax
push eax
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
push eax
push eax
push eax
push eax
mov edx, dword [ebp + 0xc]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x288]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov eax, dword [esi]
add eax, 4
mov dword [esi], eax
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov word [eax], 0x5c
mov eax, dword [edx]
add eax, 2
mov dword [edx], eax
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x300]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edi]
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x4406f0
call fcn.00436440
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
sub esp, 4
mov dword [esp], esi
call fcn.004194a0
add esp, 4
lea eax, [esi + eax*2]
mov esi, dword [ebp - 0x14]
mov dword [ebx], eax
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x318]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebx]
mov ecx, dword [esi]
mov edx, eax
xor edx, ecx
not ecx
and eax, ecx
add eax, eax
sub eax, edx
sar eax, 1
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ecx]
xor ecx, ecx
sub eax, 1
sete cl
mov dword [ebp - 0x30c], ecx
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [ebp - 0x1c]
jmp eax
mov eax, dword [edi]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebx]
mov ecx, dword [esi]
mov edi, ebx
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebx]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.0041d1d0
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [ebx]
lea eax, [ecx + eax*2 - 2]
mov dword [ebx], eax
mov eax, dword [edi]
mov ecx, dword [esi]
lea eax, [ecx + eax*2 - 2]
mov dword [esi], eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx + eax*4]
mov ebx, dword [ebp - 0x20]
jmp eax
call fcn.004099e0
mov eax, dword [edi]
mov word [eax + 4], 0x5c
mov eax, dword [edi]
mov word [eax + 6], 0
mov dword [ebp - 0xa4], 1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x18c], 1
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
jae 0x435cca
aad 0xd3
sub ecx, dword [esi - 0x20a0c9a4]
invalid
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x28]
mov cl, dl
and ecx, 1
mov dword [ebp - 0x364], ecx
mov ecx, dword [ebp - 0x368]
mov edx, dword [ebp - 0x364]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ebp - 0x24]
jmp ecx
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
push esi
cdq
invalid
inc ebp
test byte [ebx + 0x48b804d], cl
cmp edi, 0x83c888e0
loopne 0x435cda
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x324]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x14]
jmp eax
test esp, ebx
cld
invalid
rcr ebx, 1
xchg byte [eax - 0x75], ch
inc ebp
xchg esp, eax
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x304], ecx
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x304]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edx]
add eax, 0xfffffffe
mov dword [edx], eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [ebp - 0x14]
mov eax, dword [esi]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov dh, 0xb8
pop edx
mov edx, 0x74ce4e88
retf
call fcn.004099e0
mov esi, dword [ebx]
mov dword [ebp - 0x224], 1
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
mov ebx, edi
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
push eax
mov dword [ebp - 0x28], esp
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov dword [ebp - 0x14], esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov ebx, esp
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x24], edx
mov dword [edx], ecx
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov edx, dword [eax]
xor ecx, ecx
test edx, edx
sete dl
mov dword [ebp - 0x36c], 0
mov edi, dword [ebp - 0x370]
mov esi, dword [ebp - 0x36c]
mov esi, dword [edi + esi*4]
jmp esi
mov eax, dword [esi]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [ebp - 0x1ec], ecx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esi], 0
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x358]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [edx], eax
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [edi]
mov word [ecx], 0
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x350]
mov eax, dword [ecx + eax*4]
mov esi, edx
mov ebx, dword [ebp - 0x20]
jmp eax
call fcn.004099e0
xor eax, eax
mov ecx, esi
sub ecx, 3
sete cl
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x210]
mov edi, dword [ebp - 0x20c]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [edi]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
and dh, bh
invalid
pop es
xor ch, byte [esp + edx*2 + 0x5c009d52]
push ecx
ficom dword [edx - 0x4b]
shr byte [edx - 6], 1
mov eax, dword [esi]
add eax, 4
mov dword [esi], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edi]
mov ax, word [eax]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [eax + ecx*4]
jmp eax
jle 0x435f67
or byte [eax], cl
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
xor eax, eax
sub ecx, 2
sete cl
mov dword [ebp - 0x2ec], 0
mov edx, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2ec]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.004099e0
mov dword [ebp - 0x194], 1
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x14]
jmp eax
mov al, cl
and eax, 1
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x14]
jmp eax
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ax, word [eax]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x278]
mov ecx, dword [edx + ecx*4]
jmp ecx
sbb edx, esi
push esp
lodsd eax, dword [esi]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edi]
mov ax, word [eax + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x188]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x248]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [ebp - 0x204]
mov esi, dword [ebp - 0x208]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [edi]
add eax, 2
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x4406f0
call fcn.00436440
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov eax, dword [eax + ecx*4]
mov edx, dword [ebp - 0x10]
jmp eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + eax*4]
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
jmp eax
mov esi, dword [ebp - 0x14]
mov eax, dword [esi]
mov ax, word [eax + 4]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x1c4], 1
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x280]
mov eax, dword [ecx + eax*4]
mov edx, dword [ebp - 0x10]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov eax, dword [edi]
mov cx, word [eax]
xor eax, eax
sub cx, 0x5c
sete cl
mov dword [ebp - 0x2ac], 1
mov edx, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2ac]
mov edx, dword [edx + esi*4]
jmp edx
mov al, cl
and eax, 1
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
mov ax, word [eax + 2]
xor ecx, ecx
sub ax, 0x3a
sete cl
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x28]
jmp eax
adc al, 0xa3
and dh, 0x8b
pop es
mov word [eax + 4], 0x5c
mov eax, dword [edi]
mov word [eax + 6], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004099e0
mov eax, dword [edi]
mov cx, word [eax]
xor eax, eax
test cx, cx
sete cl
mov dword [ebp - 0x1bc], 0
mov edx, dword [ebp - 0x1c0]
mov esi, dword [ebp - 0x1bc]
mov edx, dword [edx + esi*4]
jmp edx