Function at 0x427c1a
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push dword [esp + 4]
call fcn.00425620
add esp, 4
test al, al
je 0x425d10
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xdc
mov dword [esp + 0x34], 0x78117877
mov dword [esp + 0x38], 0x78357833
mov dword [esp + 0x3c], 0x780f7803
mov dword [esp + 0x40], 0x78157808
mov dword [esp + 0x44], 0x78337807
mov dword [esp + 0x48], 0x78a97800
mov eax, 0xece
nop
movzx ecx, word [esp + eax*2 - 0x1d68]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0xffff8990
mov word [esp + eax*2 - 0x1d68], cx
inc eax
cmp eax, 0xeda
jne 0x425d50
mov dword [esp + 0x7a], 0x221e2207
mov dword [esp + 0x7e], 0x22292228
mov dword [esp + 0x82], 0x22132216
mov dword [esp + 0x86], 0x22102215
mov dword [esp + 0x8a], 0x2208220a
mov dword [esp + 0x8e], 0x22272218
mov dword [esp + 0x92], 0x21e02224
mov dword [esp + 0x96], 0x21e421e0
mov dword [esp + 0x9a], 0x21f021de
mov dword [esp + 0x9e], 0x21e121ee
mov dword [esp + 0xa2], 0x21e421d9
mov dword [esp + 0xa6], 0x21d321e6
mov dword [esp + 0xaa], 0x21d121e1
mov dword [esp + 0xae], 0x21e021f9
mov dword [esp + 0xb2], 0x3e1421f6
mov dword [esp + 0xb6], 0x21ef3e1f
mov dword [esp + 0xba], 0x21ff21e7
mov dword [esp + 0xbe], 0x21eb3e19
mov dword [esp + 0xc2], 0x3e1d21ee
mov word [esp + 0xc6], 0x2181
xor eax, eax
nop
lea ecx, [eax + 0x4df3]
xor cx, word [esp + eax*2 + 0x7a]
add ecx, 0xffff9068
mov word [esp + eax*2 + 0x7a], cx
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
inc ecx
mov edx, ecx
and edx, 0xfffffffd
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
xor esi, 2
imul esi, edx
xor eax, 1
add eax, ecx
add eax, esi
cmp eax, 0x27
jb case.default.0x425eab
lea ecx, [esp + 0x34]
lea eax, [esp + 0x7a]
push ecx
push eax
call fcn.00436630
add esp, 8
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44364c]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add ecx, 2
cmp word [edx], 0
jne 0x425ec0
sub edx, eax
cmp edx, 0xffffffd9
mov dword [esp], eax
jge 0x425ee3
mov edx, 0xffffffff
jmp 0x425ee6
xor ebx, ebx
jmp 0x426f61
add edx, 0x26
push edx
call fcn.00407fc0
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x7a], 0xb7cab7f4
mov dword [esp + 0x7e], 0xb7c5b7c5
mov dword [esp + 0x82], 0xb7c4b7ca
mov dword [esp + 0x86], 0xb7f3b7c9
mov dword [esp + 0x8a], 0xb7deb7d3
mov dword [esp + 0x8e], 0xb7d5b7dc
mov dword [esp + 0x92], 0xb7d2b7dd
mov dword [esp + 0x96], 0xb7c1b718
mov dword [esp + 0x9a], 0xb7dfb7dc
mov word [esp + 0x9e], 0xb73a
mov eax, 0xeab1eb97
mov ebp, 0x154e1469
mov edx, 0x154e1468
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esp + edx*2 - 0x2a9c2856]
mov dword [esp + 4], ecx
mov esi, eax
xor esi, ecx
lea ebx, [eax + 0x20000000]
or ebx, esi
lea ecx, [edx + ebx]
inc ecx
mov edi, ecx
or edi, 0xfffffffd
inc edi
mov esi, ecx
and esi, 0xfffffffd
imul esi, edi
or ecx, 2
mov dword [esp + 0xc], ebp
add ebx, ebp
shr ebx, 1
and ebx, 1
imul ebx, ecx
mov ecx, dword [esp + 4]
lea edi, [esi + ecx]
add ebx, ebx
sub edi, ebx
add edi, edx
sub ebx, esi
mov esi, edi
sub ebx, ecx
add ebx, eax
mov ebp, ebx
and ebx, 0x6b25
and edi, 0x94da
or edi, ebx
not ebp
xor edi, 0x379a
and ebp, 0x5cbf
or ebp, edi
and esi, 0x5cbf
lea ecx, [esi + ebp]
inc ecx
mov word [esp + edx*2 - 0x2a9c2856], cx
dec eax
mov ebp, dword [esp + 0xc]
inc ebp
inc edx
cmp edx, 0x154e147b
jne 0x425f70
mov esi, dword [esp]
movzx ecx, word [esi]
mov edi, dword [esp + 8]
mov eax, edi
test cx, cx
je 0x426031
mov edx, esi
add edx, 2
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426020
mov word [eax], 0
movzx ecx, word [esp + 0x7a]
test cx, cx
je 0x426061
lea edx, [esp + 0x7c]
nop
nop
nop
nop
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 0x426050
mov word [eax], 0
jmp dword [0x443654]
jmp dword [0x443660]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x443764]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
jne case.default.0x42609f
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44377c]
test edx, edx
setne al
xor ecx, ecx
test ecx, ecx
setne cl
and cl, al
movzx eax, cl
xor edi, edi
jmp dword [eax*4 + 0x44377c]
mov dword [esp + 0xd4], edx
mov dword [esp + 0x10], esi
mov eax, edi
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x426106
mov dword [esp + 0x20], ebx
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0xc], ecx
lea eax, [ecx + 1]
push eax
call fcn.00407fc0
add esp, 4
mov ebp, eax
mov eax, dword [case.0x4261b6.52]
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x1c], ebp
jmp dword [ecx*4 + 0x443784]
mov byte [ebp], 0
xor esi, esi
push 0
push 0x10
push 0
push dword [esp + 0xe0]
call fcn.00428e60
add esp, 0x10
xor ebx, ebx
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 4]
setne bl
jmp dword [ebx*4 + 0x4437a4]
shl dl, 4
or dl, cl
add edi, 2
mov byte [ebp], dl
inc ebp
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x443784]
lea esi, [edi + 1]
mov ecx, edx
or ecx, 0x20
add ecx, 0xffffff9f
cmp ecx, 5
ja case.default.0x426184
mov ecx, edx
or cl, 0xfe
and dl, 0x9e
add dl, cl
add dl, 0xb
movsx ebx, byte [esi]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x44378c]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x4261a0
mov dl, 0xff
jmp 0x4261ac
mov ecx, edx
xor cl, 0x30
add dl, dl
and dl, 0x9e
sub dl, cl
movsx ebx, byte [esi]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x44378c]
mov byte [ebp], dl
inc ebp
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
mov edi, esi
jmp dword [ecx*4 + 0x443784]
mov ch, bl
or ch, 0xfe
mov cl, bl
and cl, 0x9e
add cl, ch
add cl, 0xb
jmp eax
mov ecx, ebx
or ecx, 0x20
add ecx, 0xffffff9f
cmp ecx, 5
jbe 0x4261e0
lea ecx, [ebx - 0x30]
cmp ecx, 0xa
jb 0x426210
mov cl, 0xff
jmp eax
mov ch, bl
xor ch, 0x30
mov cl, bl
add cl, bl
and cl, 0x9e
sub cl, ch
jmp eax
mov esi, dword [ebp]
xor edi, edi
jmp dword [edi*4 + 0x4437b4]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 4]
setne bl
jmp dword [ebx*4 + 0x4437a4]
mov edi, dword [ebp + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x4437ac]
mov edi, 1
jmp dword [edi*4 + 0x4437b4]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4437bc]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
jmp dword [0x4437dc]
lea edi, [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
jmp dword [0x4437c4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
mov eax, 0xffffffff
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne 0x4262b0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
push 0x8b2600cb
push dword [0x4482ec]
call fcn.0043b790
add esp, 8
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x24]
push ecx
push 1
push 0
push 0
push edx
push 0
push edi
call eax
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne 0x426320
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
push 0x8b2600cb
push dword [0x4482ec]
call fcn.0043b790
add esp, 8
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x24]
push ecx
push 1
push 0
push 0
push edx
push 0
push edi
call eax
jmp dword [0x4437cc]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4437d4]
mov esi, dword [esp + 0x10]
jmp dword [0x4437dc]
movzx eax, byte [esi]
test al, al
je 0x4263a0
inc esi
mov ecx, dword [esp]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x426393
jmp 0x4263a3
mov ecx, dword [esp]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4263dd
mov ecx, dword [esp + 0x30]
mov edx, esi
and edx, 3
je 0x4263e1
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x4263c2
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x4263e3
mov edi, eax
jmp 0x426421
mov edx, esi
cmp esi, 4
jb 0x426421
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x4263e8
mov byte [edi], 0xa
inc edi
mov dword [esp], edi
push 0xd77a5d9a
push dword [0x4472d4]
call fcn.0043b790
add esp, 8
push dword [esp + 0x30]
call eax
mov bl, 1
mov esi, dword [esp + 0x10]
jmp dword [0x4437dc]
push ebp
call fcn.00407fd0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x443764]
mov eax, dword [case.0x426c77.23]
mov edi, dword [esp + 0xf0]
jmp eax
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor esi, esi
mov dword [esp + 0x14], 0
xor ebp, ebp
jmp dword [eax*4 + 0x4436ac]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp]
mov dword [ebp + eax + 4], ecx
mov esi, dword [esp + 4]
add esi, 8
mov ecx, dword [esp + 0x20]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebp
jmp dword [eax*4 + 0x4436ac]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov ecx, esi
sub ecx, edi
mov dword [esp + 4], esi
mov ebp, dword [esp + 0x14]
cmp esi, ebp
mov dword [esp], ecx
je 0x4264ef
mov esi, edi
jmp 0x426579
mov eax, ecx
sar eax, 3
inc eax
mov ecx, ebp
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x426508
mov ebx, eax
mov eax, ebx
and eax, 0xfffffff7
mov ecx, ebx
and ecx, 8
mov edx, ebx
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.00407fc0
add esp, 4
mov esi, eax
test edi, edi
je 0x42656b
cmp edi, ebp
je 0x426562
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x426540
push edi
call fcn.00407fd0
add esp, 4
lea ebp, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp]
add eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 0x14], ebp
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
mov ebp, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x4265a0
push ebx
call fcn.00407fc0
add esp, 4
mov dword [esp + 0x18], esi
mov ecx, dword [esp]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea esi, [edx + ebp]
add edx, eax
mov eax, ebx
and eax, 3
mov ecx, eax
shr ecx, 1
mov ebp, esi
mov edi, edx
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, ebx
inc cl
test cl, 1
jne 0x426607
movzx ecx, byte [esi + eax - 1]
mov byte [edx + eax - 1], cl
xor ecx, ecx
cmp ebx, 1
je 0x4264a0
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov ebp, edx
shr ebp, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, ebp
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebp
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp ebx, eax
jne 0x426620
not ecx
jmp 0x4264a0
mov dword [esp + 4], esi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7a], 0x71a271a3
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + edi*2 + 0x7a]
mov esi, edi
or esi, 0xe36e627c
and esi, edx
add edx, edi
add edx, 0xe36e627c
add esi, esi
sub edx, esi
mov esi, edx
and esi, 0x6c1f
add esi, esi
xor edx, 0x13e0
sub esi, edx
mov word [esp + edi*2 + 0x7a], si
mov edi, 1
test cl, 1
mov ecx, 0
jne 0x4266e0
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x426774
mov edx, dword [esp + 0x7a]
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x42675a
mov ebx, esi
xor ebx, 1
and esi, 1
lea esi, [ebx + esi*2]
cmp esi, ecx
jb 0x426740
jmp 0x426774
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x426774
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
mov eax, dword [case.0x426923.1584870716]
mov edi, dword [esp + 4]
jmp case.0x426923.1584870719
xor ebx, ebx
mov edi, dword [esp + 4]
jmp dword [0x443734]
push esi
call fcn.00407fd0
add esp, 4
jmp case.0x426b41.30
mov esi, dword [esp + 0xc8]
mov ecx, esi
call fcn.00428dc0
push esi
call fcn.00407fd0
add esp, 4
jmp dword [0x4437ec]
jmp dword [0x443684]
mov esi, dword [esp + 0x24]
push esi
call fcn.00407fc0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x40]
call fcn.0043c2b0
add esp, 0x10
nop
nop
nop
nop
mov esi, dword [esp + 0x24]
lea eax, [esi + 1]
push eax
call fcn.00407fc0
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x40]
call fcn.0043c2b0
add esp, 0x10
jmp dword [0x443690]
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x443694]
mov esi, dword [esp + 0x24]
mov byte [ebx + esi], 0
push 0x20
call fcn.00407fc0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x10], eax
mov ecx, eax
push esi
mov dword [esp + 0x20], ebx
push ebx
call fcn.00428a20
movzx eax, al
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x44369c]
mov dword [esp + 0x7a], 0xd1e8d41e
mov dword [esp + 0x7e], 0xeef2e2f8
mov dword [esp + 0x82], 0xe9e3ff3e
mov dword [esp + 0x86], 0xf03beef5
mov dword [esp + 0x8a], 0xd6e7eef1
mov dword [esp + 0x8e], 0xe0fb0238
mov dword [esp + 0x92], 0xd1e4dee6
mov word [esp + 0x96], 0x45e8
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0xb
xor ecx, 0x99b
mov edx, eax
and edx, 4
sub edx, ecx
xor dx, word [esp + eax*2 + 0x7a]
add edx, 0x4cd8
mov word [esp + eax*2 + 0x7a], dx
mov ecx, eax
xor ecx, 0xa188cab6
and eax, 6
lea eax, [ecx + eax*2]
add eax, 0x5e77354b
cmp eax, 0xf
jb case.default.0x426923
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x7a]
push eax
call fcn.00428c50
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor ebp, ebp
jmp dword [ecx*4 + 0x4436a4]
xor edi, edi
mov ebx, dword [esp + 0x1c]
jmp dword [0x4436b4]
mov ecx, dword [esp + 0x10]
call fcn.00428dc0
push dword [esp + 0x10]
call fcn.00407fd0
add esp, 4
jmp dword [0x4436bc]
jmp dword [0x4436bc]
jmp dword [0x4436c4]
push ebx
call fcn.00407fd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00407fd0
add esp, 4
jmp dword [0x4436cc]
push dword [esp + 8]
call fcn.00407fd0
add esp, 4
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x4436ec]
xor ebx, ebx
test ebp, ebp
jne 0x426f31
jmp 0x426f61
mov dword [esp + 0x34], 0x87418255
mov dword [esp + 0x38], 0x987b947f
mov dword [esp + 0x3c], 0x9f4aa885
mov dword [esp + 0x40], 0xa582987a
mov dword [esp + 0x44], 0x804e987a
mov dword [esp + 0x48], 0x817eb5bf
mov dword [esp + 0x4c], 0x8770987c
mov dword [esp + 0x50], 0x9b769397
mov word [esp + 0x54], 0xf373
mov eax, 0xe137056
movzx ecx, word [esp + eax*2 - 0x1c26e078]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0x7d50
mov word [esp + eax*2 - 0x1c26e078], cx
inc eax
cmp eax, 0xe137067
jne 0x4269f4
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x34]
push eax
call fcn.00428c50
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edx, dword [esp + 8]
mov dword [esp], edx
jmp dword [ecx*4 + 0x44375c]
add eax, 8
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
mov ecx, dword [esp + 8]
mov dword [esp], ecx
jmp dword [eax*4 + 0x443764]
mov dword [esp + 0x7a], 0xb7d2b7e4
mov dword [esp + 0x7e], 0xb7b9b7b5
mov dword [esp + 0x82], 0xb782b784
mov dword [esp + 0x86], 0xb787b7bb
mov dword [esp + 0x8a], 0xb7bcb7b8
mov dword [esp + 0x8e], 0xb78db7b2
mov dword [esp + 0x92], 0xb7b2b78d
mov dword [esp + 0x96], 0xb7b1b78c
mov dword [esp + 0x9a], 0xb79eb7c9
mov dword [esp + 0x9e], 0xb7acb7ad
mov word [esp + 0xa2], 0xb60b
mov eax, 0xdf
mov ecx, 0xcf20
nop
nop
nop
nop
mov edx, ecx
and edx, 0x8029
mov esi, eax
and esi, 0xd6
or esi, edx
xor si, word [esp + eax*2 - 0x144]
xor esi, 0xffffb029
add esi, 0x7908
mov word [esp + eax*2 - 0x144], si
inc eax
dec ecx
cmp eax, 0xf4
jne case.default.0x426b41
push 0
lea eax, [esp + 0x7e]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x40]
push eax
push edi
call fcn.0043be40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443674]
xor ebp, ebp
mov eax, dword [case.0x426923.1584870716]
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4436e4]
xor eax, eax
cmp ebp, edi
sete al
jmp dword [eax*4 + 0x4436ec]
mov dword [esp + 4], edi
mov dword [esp + 0x34], 0x9f549f12
mov dword [esp + 0x38], 0x9f499f76
mov dword [esp + 0x3c], 0x9f709f4a
mov dword [esp + 0x40], 0x9f7e9f2c
mov dword [esp + 0x44], 0x9f249f7f
mov dword [esp + 0x48], 0x9f769f40
mov dword [esp + 0x4c], 0x9f019f42
mov dword [esp + 0x50], 0x9f559f49
mov dword [esp + 0x54], 0x9f7d9f73
mov dword [esp + 0x58], 0x9f479f78
mov dword [esp + 0x5c], 0x9f409f77
mov dword [esp + 0x60], 0x9f7d9f42
mov dword [esp + 0x64], 0x9f4c9f7e
mov dword [esp + 0x68], 0x9f449f0f
mov dword [esp + 0x6c], 0x9f729f77
lea eax, [esp + 0x70]
mov word [esp + 0x70], 0x9fd5
xor ecx, ecx
nop
mov edx, ecx
xor edx, 0x7c70
mov esi, ecx
or esi, 0xf
and esi, edx
mov edx, ecx
xor edx, 0x838f
lea edx, [edx + esi*2]
xor dx, word [esp + ecx*2 + 0x34]
add edx, 0xffffe388
mov word [esp + ecx*2 + 0x34], dx
inc ecx
cmp ecx, 0x1f
jne case.default.0x426c77
lea edx, [esp + 0x34]
mov ecx, 0xf
lea ebx, [esp + 0x7a]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xb6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xd8]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x4482dc]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
jmp dword [ecx*4 + 0x4436f4]
mov edi, dword [esp + 0xd8]
test edi, edi
jns 0x426ccf
mov eax, 0xffffffff
jmp 0x426cd2
lea eax, [esp + 0x24]
push 0
push eax
push dword [esp + 0x3c]
call fcn.0043c1c0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x44367c]
mov eax, dword [case.0x426c77.3]
mov edi, dword [esp + 4]
xor ebx, ebx
jmp eax
test ebp, ebp
jne 0x426f31
jmp 0x426f61
lea eax, [edi + edi]
push eax
call fcn.00407fc0
add esp, 4
push esi
mov esi, eax
push edi
push eax
push 0x1e
lea eax, [esp + 0x8a]
push eax
push 0
call dword [0x4482dc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44371c]
jmp dword [0x443730]
mov eax, dword [esp + 4]
sub eax, ebp
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00407fc0
add esp, 4
mov ecx, esi
mov esi, eax
lea eax, [esp + 0x74]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x24], ecx
push ecx
call fcn.0043be40
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 8], esi
jmp dword [eax*4 + 0x44373c]
xor ebx, ebx
mov dword [esp], esi
mov edi, dword [esp + 0xf0]
mov esi, dword [esp + 0x14]
jmp dword [0x4437f4]
mov dword [esp + 0x18], ebp
lea eax, [esp + 0xd0]
push 0
push eax
push dword [esp + 0x7c]
call fcn.0043c1c0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp], esi
xor ebx, ebx
mov edi, dword [esp + 0xf0]
jmp dword [eax*4 + 0x443744]
mov esi, dword [esp + 0xd0]
lea eax, [esi + 1]
push eax
call fcn.00407fc0
add esp, 4
push 0
push esi
mov dword [esp + 0xd4], eax
push eax
push dword [esp + 0x80]
call fcn.0043c2b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov ecx, dword [esp + 8]
mov dword [esp], ecx
jmp dword [eax*4 + 0x44374c]
mov esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov byte [ebx + esi], 0
push 0x20
call fcn.00407fc0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0xc8], eax
mov ecx, eax
push esi
push ebx
call fcn.00428a20
movzx eax, al
xor ebx, ebx
mov ecx, dword [esp + 8]
mov dword [esp], ecx
jmp dword [eax*4 + 0x443754]
jmp dword [0x4437e4]
jmp dword [0x4437ec]
push dword [esp + 0xcc]
call fcn.00407fd0
add esp, 4
mov ebp, edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
mov dword [esp + 0x34], 0x71a271a3
mov cl, 1
xor edi, edi
movzx edx, word [esp + edi*2 + 0x34]
mov esi, edi
or esi, 0xe36e627c
and esi, edx
add edx, edi
add edx, 0xe36e627c
add esi, esi
sub edx, esi
mov esi, edx
and esi, 0x6c1f
add esi, esi
xor edx, 0x13e0
sub esi, edx
mov word [esp + edi*2 + 0x34], si
mov edi, 1
test cl, 1
mov ecx, 0
jne 0x426e70
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x426ef6
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x426eee
mov eax, ebx
mov ebx, esi
xor ebx, 1
and esi, 1
lea esi, [ebx + esi*2]
mov ebx, eax
cmp esi, ecx
jb 0x426ed0
jmp 0x426ef6
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426f0c
mov edi, ebp
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp dword [0x4437f4]
jmp dword [0x443800]
push dword [esp + 0xc]
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
mov edi, ebp
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp dword [0x4437f4]
cmp ebp, edi
je 0x426f61
mov esi, ebp
jmp 0x426f47
add esi, 8
cmp esi, edi
je 0x426f58
mov eax, dword [esi]
test eax, eax
je 0x426f40
push eax
call fcn.00407fd0
add esp, 4
jmp 0x426f40
push ebp
call fcn.00407fd0
add esp, 4
mov eax, ebx
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.00407fd0
add esp, 4
push esi
call fcn.00407fd0
add esp, 4
jmp dword [0x443808]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44380c]
mov esi, dword [esp + 8]
jmp dword [0x443814]
mov eax, dword [esp]
mov byte [eax], 0
mov dword [esp + 0x34], 0xe894ecc2
mov dword [esp + 0x38], 0xf0e7e19c
mov dword [esp + 0x3c], 0xf1a6ed9e
mov dword [esp + 0x40], 0xe7ae11e6
mov dword [esp + 0x44], 0x10e3efda
mov dword [esp + 0x48], 0xeedbe9a2
mov dword [esp + 0x4c], 0xf4a42eac
mov word [esp + 0x50], 0x7ca5
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 + 0x34]
mov ecx, eax
and ecx, 0xb
mov esi, eax
and esi, 4
xor esi, 0xa8419c25
sub ecx, esi
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
lea edx, [ecx + 0xe127]
mov esi, 0x1ed8
sub esi, ecx
or esi, 1
add esi, ecx
or edx, 1
lea ecx, [edx + esi]
add ecx, 0xffffe128
mov word [esp + eax*2 + 0x34], cx
inc eax
cmp eax, 0xf
jne 0x426ff0
mov esi, dword [esp + 8]
mov eax, dword [esp]
sub eax, esi
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x3c]
push eax
call fcn.00408dc0
mov ebx, eax
jmp dword [0x443814]
push esi
call fcn.00407fd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x443824]
and bl, 1
mov edi, dword [esp + 4]
test ebp, ebp
jne 0x426f31
jmp 0x426f61
push esi
call fcn.00407fd0
add esp, 4
push esi
call fcn.00407fd0
add esp, 4
jmp dword [0x443664]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x44366c]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jns 0x4271c9
mov eax, 0xffffffff
jmp 0x4271cc
lea eax, [ebx + ebx]
push eax
call fcn.00407fc0
add esp, 4
push edi
push ebx
mov dword [esp + 0x44], eax
push eax
push 9
push esi
push 0
call dword [0x4482dc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443834]
xor eax, eax
jmp dword [0x44383c]
push dword [esp + 0x3c]
call fcn.00407fd0
add esp, 4
xor eax, eax
jmp case.0x426b41.110
mov dword [esp + 4], 0x16e016cc
mov dword [esp + 8], 0x16e816f9
mov dword [esp + 0xc], 0x16ff16e3
mov dword [esp + 0x10], 0x160f16ea
mov eax, 0xb448
mov ecx, 0x4bb7
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 - 0x1688c]
mov esi, ecx
xor esi, eax
and esi, edx
xor esi, eax
add esi, 0x5dc0
mov word [esp + eax*2 - 0x1688c], si
inc eax
dec ecx
cmp eax, 0xb450
jne 0x427240
lea eax, [esp + 0x92]
lea edx, [esp + 4]
mov esi, edx
mov edi, eax
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xa2]
lea esi, [esp + 0x14]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x22b0215
mov dword [esp + 8], 0x2370220
mov dword [esp + 0xc], 0x224022a
mov dword [esp + 0x10], 0x22b0233
mov dword [esp + 0x14], 0x2140208
mov dword [esp + 0x18], 0x21e020a
mov dword [esp + 0x1c], 0x3ee0264
mov ecx, 0xf75924e6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx]
xor esi, ecx
mov edi, esi
and edi, 1
add esi, 0xd8c9
and esi, 0xfffe
or esi, edi
not esi
lea esi, [esi + edi*2]
mov word [edx], si
add edx, 2
dec ecx
cmp ecx, 0xf75924d8
jne 0x4272e0
lea edx, [esp + 0xcc]
lea esi, [esp + 4]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xe8]
lea ebx, [esp + 0x20]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 4], 0xf091f0d3
mov dword [esp + 8], 0xf0a9f09a
mov dword [esp + 0xc], 0xf09ef094
mov dword [esp + 0x10], 0xf0bef0a9
mov dword [esp + 0x14], 0xf0c2f0bb
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0xf001
nop
nop
nop
lea ecx, [esi - 0x5491]
xor cx, word [esp + esi*2 + 4]
add ecx, 0xffffa488
mov word [esp + esi*2 + 4], cx
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
cmp esi, 0xb
jb case.default.0x4273f5
lea esi, [esp + 0xb6]
lea ebp, [esp + 4]
mov ecx, 5
mov edi, esi
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
lea edi, [esp + 0xca]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x3c]
add eax, 2
mov dword [esp + 0x5c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x48], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x443844]
jmp dword [0x44384c]
push dword [esp + 0x3c]
call fcn.00407fd0
add esp, 4
mov eax, dword [esp + 0x48]
and al, 1
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x60]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x443844]
mov dword [esp + 0x60], ecx
mov esi, dword [esp + ecx + 0x84]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x427450
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x54]
lea ecx, [edx + eax]
mov dword [esp + 0x4c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42747f
mov eax, 0xffffffff
mov dword [esp + 0x40], esi
push eax
call fcn.00407fc0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x3c]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4274c1
mov edx, dword [esp + 0x5c]
mov eax, esi
nop
nop
nop
nop
nop
nop
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 0x4274b0
mov dword [esp + 0x64], esi
mov word [eax], 0x5c
mov dword [esp + 4], 0x28092818
mov dword [esp + 8], 0x28e428e9
mov dword [esp + 0xc], 0x28e528e9
mov dword [esp + 0x10], 0x2818282a
mov dword [esp + 0x14], 0x28ec28f8
mov dword [esp + 0x18], 0x28ea28fa
mov word [esp + 0x1c], 0x2850
mov ecx, 0xee9db364
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + ecx*2 + 0x22c4993c]
xor edx, ecx
mov ebx, edx
and ebx, 0x8a1064dd
mov ebp, edx
and ebp, 2
mov esi, ebp
xor esi, 2
imul esi, ebx
or ebx, 2
imul ebx, ebp
xor edx, 0x8b1264df
add esi, edx
add esi, ebx
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov word [esp + ecx*2 + 0x22c4993c], dx
inc ecx
cmp ecx, 0xee9db371
jne 0x427510
add eax, 2
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x427581
add edx, 2
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427570
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
mov esi, dword [esp + 0x64]
je 0x4275b1
lea edx, [esp + 6]
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 0x4275a0
mov word [eax], 0
lea eax, [esp + 0x44]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043be40
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp], 0
jmp dword [eax*4 + 0x443854]
movzx esi, byte [esp]
jmp dword [0x4438d4]
push dword [esp + 0x64]
call fcn.00407fd0
add esp, 4
jmp dword [esi*4 + 0x4438dc]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x4c]
call fcn.0043c1c0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44385c]
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.00407fc0
add esp, 4
mov ebp, eax
push 0
push esi
push eax
push dword [esp + 0x50]
call fcn.0043c2b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x443864]
mov eax, dword [esp + 0x70]
mov byte [ebp + eax], 0
push ebp
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44386c]
xor ebx, ebx
jmp 0x427d7b
jmp dword [esi*4 + 0x4438dc]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x4276a7
mov eax, 0xffffffff
push eax
call fcn.00407fc0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x3c]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x4276e1
mov edx, dword [esp + 0x5c]
mov eax, esi
nop
nop
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 0x4276d0
mov word [eax], 0x5c
mov dword [esp + 4], 0x3e253e34
mov dword [esp + 8], 0x3e083e05
mov dword [esp + 0xc], 0x3e013e0d
mov dword [esp + 0x10], 0x3e3c3ece
mov dword [esp + 0x14], 0x3e1e3e04
mov dword [esp + 0x18], 0x3e123e00
mov dword [esp + 0x1c], 0x3e103e13
mov dword [esp + 0x20], 0x3e1b3e2a
mov dword [esp + 0x24], 0x3e0f3e1d
mov dword [esp + 0x28], 0x3e173e1f
mov dword [esp + 0x2c], 0x3e1f3e18
mov word [esp + 0x30], 0x3efe
xor ecx, ecx
mov dx, 0xdc57
nop
nop
nop
nop
nop
mov ebx, edx
xor bx, word [esp + ecx*2 + 4]
mov ebp, 0xffffe2bf
sub ebp, ebx
mov word [esp + ecx*2 + 4], bp
inc ecx
dec edx
cmp ecx, 0x17
jne 0x427750
add eax, 2
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
test cx, cx
je 0x427791
add edx, 2
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427780
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x4277c1
lea edx, [esp + 6]
nop
nop
nop
nop
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 0x4277b0
mov word [eax], 0
add edi, 0x12
cmp dword [esp + 0x4c], 0xfffffff7
jge 0x4277d5
mov edi, 0xffffffff
push edi
call fcn.00407fc0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0xb100b1c4
mov dword [esp + 8], 0xb108b1f8
mov dword [esp + 0xc], 0xb10cb1fa
mov dword [esp + 0x10], 0xb1f0b1f5
mov word [esp + 0x14], 0xb193
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 2
mov ebx, edx
xor ebx, 2
imul ebx, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0x5d83
add edx, ebx
add edx, ecx
xor dx, word [esp + eax*2 + 4]
add edx, 0x13e8
mov word [esp + eax*2 + 4], dx
inc eax
cmp eax, 9
jne 0x427810
mov edx, dword [esp + 0x40]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x427871
add edx, 2
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427860
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x4278a1
lea edx, [esp + 6]
nop
nop
nop
nop
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 0x427890
mov word [eax], 0
mov dword [esp + 4], 0xf22ef257
xor eax, eax
movzx ecx, word [esp + eax*2 + 4]
lea ebx, [eax + 0xadee205]
and ebx, ecx
add ebx, ebx
lea edx, [eax + ecx]
add edx, 0xadee205
mov ecx, edx
sub ecx, ebx
add ecx, 0xa908efd7
mov ebx, edx
not ebx
add ebx, ebx
and ebx, 2
and edx, 1
mov ebp, ecx
and ebp, 0xfffe
or ebp, edx
and ecx, ebx
xor ebp, ebx
lea ecx, [ecx*2]
add ecx, ebp
mov word [esp + eax*2 + 4], cx
add eax, 0xe18f9b63
mov ecx, eax
and ecx, 6
or eax, 0x1e70649e
add eax, ecx
cmp eax, 2
jb 0x4278b0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x10]
push eax
push esi
push edi
push dword [esp + 0x114]
call fcn.00420080
add esp, 0x1c
mov ecx, dword [esp + 0x48]
and cl, 1
or cl, al
mov dword [esp + 0x48], ecx
jmp dword [0x4438e4]
jmp dword [0x4438ec]
push edi
call fcn.00407fd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00407fd0
add esp, 4
jmp dword [0x4438f8]
jmp dword [0x4438fc]
push esi
call fcn.00407fd0
add esp, 4
mov ecx, dword [esp + 0x60]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x443844]
mov dword [esp + 0x78], eax
push eax
call fcn.00401a60
add esp, 4
mov dword [esp + 4], 0xf4dae42b
mov dword [esp + 8], 0xe537e234
mov dword [esp + 0xc], 0xf427f6e6
mov dword [esp + 0x10], 0xe53be238
mov dword [esp + 0x14], 0xecd2f529
mov dword [esp + 0x18], 0x598fe22b
mov ecx, 0xc95ebca4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + ecx*2 + 0x6d4286bc]
xor edx, ecx
mov esi, edx
not esi
and esi, 1
mov ebx, 0xe520
sub ebx, edx
and ebx, 0xfffe
or edx, 0xfffe
xor edx, ebx
lea edx, [edx + esi*2]
mov word [esp + ecx*2 + 0x6d4286bc], dx
inc ecx
cmp ecx, 0xc95ebcb0
jne 0x4279e0
lea ecx, [esp + 4]
push ecx
push eax
call fcn.00401da0
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x427a40
shr ecx, 2
mov esi, edx
mov dword [esp + 0x38], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x427a65
cmp edx, 0x2e
jne 0x427a66
dec ecx
mov edx, dword [esp + 0x38]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], ebp
je 0x427a81
cmp edx, 0x2e
jne 0x427a82
dec ecx
mov dword [esp + 0x74], ecx
lea eax, [ecx + 1]
push eax
call fcn.00407fc0
add esp, 4
mov dword [esp + 0x34], eax
cmp dword [esp + 0x38], 0
je 0x427bac
xor ebp, ebp
mov esi, 2
jmp 0x427ac2
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x427bac
mov ebx, dword [esp + 0x50]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.0041c2d0
add esp, 4
mov byte [esp], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.0041c2d0
add esp, 4
movzx ecx, byte [esp]
shl cl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, cl
mov ecx, ebp
and ecx, 1
mov edx, ebp
xor edx, 1
lea ebx, [edx + ecx*2]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov byte [ecx + ebp], ah
cmp esi, edx
jae 0x427ab0
mov byte [esp + 0x33], al
mov dword [esp], ebx
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi]
push eax
call fcn.0041c2d0
add esp, 4
cmp al, 0x40
jne 0x427b40
mov ebp, dword [esp]
mov edx, dword [esp + 0x38]
jmp 0x427ab2
mov ah, byte [esp + 0x33]
shl ah, 4
mov ecx, eax
xor cl, 0xc0
mov edx, eax
or dl, 0x3c
and dl, cl
shr dl, 2
add dl, ah
mov ebx, dword [esp]
lea ebp, [ebx + 1]
mov ecx, dword [esp + 0x34]
mov byte [ecx + ebx], dl
lea ecx, [esi + 1]
mov edx, dword [esp + 0x38]
cmp ecx, edx
jae 0x427ab2
mov ebx, eax
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041c2d0
mov edx, dword [esp + 0x3c]
add esp, 4
cmp al, 0x40
je 0x427ab2
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp]
mov byte [ecx + ebp + 1], al
add ebp, 2
jmp 0x427ab2
mov eax, dword [esp + 0x74]
add eax, 0xfffffffb
mov dword [esp + 0x7c], eax
mov esi, dword [esp + 0x34]
mov eax, esi
add eax, 5
mov dword [esp + 0x80], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
push 0x8b2600cb
push dword [0x4482ec]
call fcn.0043b790
add esp, 8
lea ecx, [esp + 0x68]
lea edx, [esp + 0x7c]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443874]
xor ebx, ebx
mov ebp, dword [esp + 0x58]
jmp dword [0x443884]
lea eax, [edi + 0x10]
cmp dword [esp + 0x4c], 0xfffffff8
mov ebx, dword [esp + 0x40]
jge 0x427c2d
mov eax, 0xffffffff
push eax
call fcn.00407fc0
add esp, 4
mov ebp, eax
mov dword [esp + 4], 0x4a444bb0
mov dword [esp + 8], 0x4bbc4a71
mov dword [esp + 0xc], 0x4a6c4a77
mov dword [esp + 0x10], 0x4be64a71
mov eax, 0x4157
mov ecx, 0xbea8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + eax*2 - 0x82aa]
lea esi, [edx + edx]
not esi
add esi, edx
or esi, eax
xor edx, ecx
and edx, esi
mov esi, 0xfffff547
sub esi, edx
mov word [esp + eax*2 - 0x82aa], si
inc eax
dec ecx
cmp eax, 0x415f
jne 0x427c70
movzx ecx, word [ebx]
mov eax, ebp
test cx, cx
je 0x427cc1
lea edx, [ebx + 2]
mov eax, ebp
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427cb0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x427cf3
lea edx, [esp + 6]
mov esi, dword [esp + 0x34]
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 0x427ce0
jmp 0x427cf7
mov esi, dword [esp + 0x34]
mov word [eax], 0
mov ecx, dword [esp + 0xfc]
push dword [esp + 0x68]
push dword [esp + 0x70]
push ebp
call fcn.00408ba0
mov ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x58]
jmp dword [0x44387c]
push eax
call fcn.00407fd0
add esp, 4
push 0xd77a5d9a
push dword [0x4472d4]
call fcn.0043b790
add esp, 8
push dword [esp + 0x6c]
call eax
jmp dword [0x443884]
jmp dword [0x44388c]
push esi
call fcn.00407fd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00407fd0
add esp, 4
jmp dword [0x443894]
push dword [esp + 0x78]
call fcn.00401f70
add esp, 4
mov eax, dword [case.0x4273f5.8]
jmp eax
jmp dword [0x4438bc]
mov dword [esp], ebx
push ebp
call fcn.00407fd0
add esp, 4
jmp dword [0x4438c4]
mov dword [esp], ebx
jmp dword [0x4438c4]
mov ebp, dword [esp + 0x44]
mov dword [esp + 4], 0x71a271a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 4]
mov ebx, ecx
or ebx, 0xe36e627c
and ebx, esi
add esi, ecx
add esi, 0xe36e627c
add ebx, ebx
sub esi, ebx
mov ebx, esi
and ebx, 0x6c1f
add ebx, ebx
xor esi, 0x13e0
sub ebx, esi
mov word [esp + ecx*2 + 4], bx
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x427dc0
mov ecx, dword [0x4482e0]
test ecx, ecx
je case.0x426b41.147
mov edx, dword [esp + 4]
xor esi, esi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xb430e561
je 0x427e3a
mov eax, esi
xor eax, 1
and esi, 1
lea esi, [eax + esi*2]
cmp esi, ecx
jb 0x427e20
jmp case.0x426b41.147
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.0x426b41.147
push ebp
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
jmp case.0x426b41.147
jmp dword [0x4438d0]
mov eax, dword [esp + 0x44]
mov dword [esp + 4], 0x71a271a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 4]
mov ebx, ecx
or ebx, 0xe36e627c
and ebx, esi
add esi, ecx
add esi, 0xe36e627c
add ebx, ebx
sub esi, ebx
mov ebx, esi
and ebx, 0x6c1f
add ebx, ebx
xor esi, 0x13e0
sub ebx, esi
mov word [esp + ecx*2 + 4], bx
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x427e80
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x427e60
mov edx, dword [esp + 4]
xor esi, esi
mov ebx, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xb430e561
je 0x427f10
mov ebp, esi
xor ebp, 1
and esi, 1
lea esi, [esi*2]
add esi, ebp
cmp esi, ecx
jb 0x427ee0
jmp 0x427e60
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je 0x427e60
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
jmp dword [0x4438d0]
mov ebx, dword [esp + 0x84]
test ebx, ebx
jns 0x4280d8
mov eax, 0xffffffff
jmp 0x4280db
xor ebx, ebx
jmp dword [0x443914]
lea eax, [ebx + ebx]
push eax
call fcn.00407fc0
add esp, 4
mov edi, eax
lea eax, [esp + 0x84]
push eax
push ebx
push edi
push 0x1f
push esi
push 0
call dword [0x4482dc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44391c]
jmp dword [0x443924]
push edi
call fcn.00407fd0
add esp, 4
mov eax, dword [case.0x426b41.167]
xor ebx, ebx
nop
nop
nop
jmp eax
lea eax, [esp + 0x38]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0043be40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44393c]
xor ebx, ebx
jmp dword [0x443a74]
mov eax, ebx
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x7c], edi
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x40]
call fcn.0043c1c0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x443954]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.00407fc0
add esp, 4
push 0
push esi
mov dword [esp + 0x38], eax
push eax
push dword [esp + 0x44]
call fcn.0043c2b0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44395c]
jmp dword [0x44396c]
mov eax, dword [esp + 0x80]
jmp dword [0x443978]
mov ecx, dword [esp + 0x30]
mov byte [ecx + eax], 0
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x30]
mov byte [esi + eax], 0
xor ebx, ebx
jmp dword [0x44397c]
jmp dword [0x443998]
lea esi, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor edx, edx
test al, al
je 0x428200
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x428230
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x428220
jmp 0x428200
mov edx, ecx
jmp dword [0x443998]
mov ecx, edx
sub ecx, esi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44399c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x4439b4]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x4439bc]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x4439c4]
jmp dword [0x4439d8]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x4439dc]
mov eax, ecx
inc eax
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 4], eax
jns 0x4282ae
mov eax, 0xffffffff
jmp 0x4282b5
lea eax, [ecx*2 + 2]
push eax
call fcn.00407fc0
add esp, 4
mov ebp, eax
push dword [esp + 0x1c]
push esi
push dword [esp + 0xc]
push eax
call fcn.0040a570
add esp, 0x10
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x1c], ebp
push ebp
call fcn.0043be40
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4439e4]
jmp dword [0x443a44]
lea eax, [esp + 0x14]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043c1c0
add esp, 0xc
test eax, eax
setns al
mov edx, dword [esp + 0x14]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4439ec]
mov dword [esp], edx
jmp dword [0x4439f4]
mov eax, dword [esp]
mov dword [esp + 4], eax
jmp 0x428371
jmp dword [0x443a50]
mov ebp, dword [esp]
push ebp
call fcn.00407fc0
add esp, 4
push 0
push dword [esp + 0x18]
push eax
push dword [esp + 0x2c]
call fcn.0043c2b0
add esp, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, ebp
push eax
call fcn.00407fc0
add esp, 4
mov ebp, eax
push 0
push dword [esp + 8]
push eax
push dword [esp + 0x2c]
call fcn.0043c2b0
add esp, 0x10
jmp dword [0x4439fc]
mov dword [esp + 0x28], ebp
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp + 0xc]
jmp dword [eax*4 + 0x443a04]
add ecx, 2
test ax, ax
je 0x4283c9
mov ebx, edx
movzx eax, word [ecx]
mov edx, ecx
cmp ax, 0x5c
je 0x4283b0
mov edx, ebx
jmp 0x4283b0
mov ecx, dword [esp + 0xc]
xor edx, edx
jmp dword [0x443a18]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x443a1c]
mov dword [esp + 0x24], 0
xor ebx, ebx
mov ebp, dword [esp + 8]
jmp dword [0x443a24]
sub ebx, dword [esp + 0xc]
sar ebx, 1
inc ebx
mov ebp, dword [esp + 8]
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x24], eax
jmp dword [0x443a24]
mov eax, 0x1b
mov ecx, dword [esp + 0x24]
shl eax, cl
push eax
call fcn.00407fc0
add esp, 4
mov dword [esp], eax
xor ecx, ecx
mov eax, ebp
xor edx, edx
mov dword [esp + 4], ebx
div ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], 0xe557e68f
mov dword [esp + 0x40], 0xe468ee5a
mov dword [esp + 0x44], 0xda8d125e
mov dword [esp + 0x48], 0x255edf60
mov dword [esp + 0x4c], 0xdf5be480
mov dword [esp + 0x50], 0x1995d3a0
mov dword [esp + 0x54], 0x75332459
xor edx, edx
movzx ebp, word [esp + edx*2 + 0x3c]
mov ebx, ecx
and ebx, 0xc
mov eax, edx
xor eax, 0x28c14676
add eax, ebx
mov ebx, eax
and ebx, ebp
add ebx, ebx
sub eax, ebx
add eax, ebp
add eax, 0xffffcc50
mov word [esp + edx*2 + 0x3c], ax
inc edx
add ecx, 2
cmp edx, 0xe
jne 0x428471
movzx eax, byte [esp + 0x3c]
mov ebx, dword [esp]
test al, al
je 0x4284bf
lea ecx, [esp + 0x3d]
mov ebx, dword [esp]
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4284b4
mov byte [ebx], 0
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x428562
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 4]
lea ecx, [esi + ebx]
mov eax, dword [esp + 8]
xor edx, edx
div ebx
mov dword [esp + 0x2c], edx
mov ebx, ebp
and ebx, 3
je 0x428506
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
dec ebp
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
mov byte [eax], dl
inc eax
dec ebx
jne 0x4284f4
jmp 0x42850e
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub edx, edi
mov ebx, dword [esp + 0x2c]
sub ebx, dword [esp + 8]
add edx, ebx
add edx, 0xfffffff5
mov ebx, eax
cmp edx, 3
jb 0x428562
mov edx, eax
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [ecx]
cmp al, 1
sbb ecx, 0xffffffff
mov byte [edx + 2], al
mov eax, edx
movzx edx, byte [ecx]
cmp dl, 1
sbb ecx, 0xffffffff
lea ebx, [eax + 4]
mov byte [eax + 3], dl
mov edx, ebx
add ebp, 0xfffffffc
jne 0x42852a
mov byte [ebx], 0
mov ecx, dword [esp + 0xe0]
push dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [esp + 8]
call fcn.00408dc0
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
jmp case.0x426b41.235
mov eax, ecx
mov byte [eax], 0
mov ecx, dword [esp + 0xe0]
push dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [esp + 8]
call fcn.00408dc0
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
jmp dword [0x443a2c]
mov ecx, dword [esp + 0x1c]
sub ecx, ebx
sub ecx, edi
lea eax, [ecx - 0xa]
mov dword [esp + 0x88], eax
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0xb]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
add eax, 0x1b
push eax
call fcn.00407fc0
add esp, 4
mov dword [esp], eax
mov dword [esp + 4], ebx
sub ebp, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x3c], 0xe557e68f
mov dword [esp + 0x40], 0xe468ee5a
mov dword [esp + 0x44], 0xda8d125e
mov dword [esp + 0x48], 0x255edf60
mov dword [esp + 0x4c], 0xdf5be480
mov dword [esp + 0x50], 0x1995d3a0
mov dword [esp + 0x54], 0x75332459
xor eax, eax
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + ebp*2 + 0x3c]
mov ebx, eax
and ebx, 0xc
mov ecx, ebp
xor ecx, 0x28c14676
add ecx, ebx
mov ebx, ecx
and ebx, edx
add ebx, ebx
sub ecx, ebx
add ecx, edx
add ecx, 0xffffcc50
mov word [esp + ebp*2 + 0x3c], cx
inc ebp
add eax, 2
cmp ebp, 0xe
jne 0x428630
movzx eax, byte [esp + 0x3c]
mov ebx, dword [esp]
mov ecx, ebx
test al, al
je 0x42868b
lea edx, [esp + 0x3d]
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x428680
mov byte [ecx], 0
mov ebx, dword [esp + 0x10]
test ebx, ebx
mov eax, dword [esp + 4]
je 0x428587
lea edx, [esi + eax]
mov ebp, dword [esp + 0x2c]
and ebp, 3
xor ebp, 2
je 0x4286da
xor eax, eax
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + eax], bl
inc eax
cmp ebp, eax
jne 0x4286b0
add ecx, eax
mov ebx, dword [esp + 0x88]
sub ebx, eax
mov eax, ecx
cmp dword [esp + 0x18], 3
jae 0x4286f0
jmp 0x428589
cmp dword [esp + 0x18], 3
jb 0x428589
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx], al
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx + 1], al
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx + 2], al
mov ebp, ebx
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea eax, [ecx + 4]
mov byte [ecx + 3], bl
mov ebx, ebp
mov ecx, eax
add ebx, 0xfffffffc
jne 0x4286f0
jmp 0x428589
mov ebx, dword [esp + 0x34]
and bl, 1
or bl, al
jmp dword [0x443a34]
push dword [esp]
call fcn.00407fd0
add esp, 4
jmp dword [0x443a3c]
jmp dword [0x443a3c]
push dword [esp + 0x28]
call fcn.00407fd0
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], 0x71a271a3
xor ecx, ecx
mov dl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2 + 0x3c]
mov edi, ecx
or edi, 0xe36e627c
and edi, esi
add esi, ecx
add esi, 0xe36e627c
add edi, edi
sub esi, edi
mov edi, esi
and edi, 0x6c1f
add edi, edi
xor esi, 0x13e0
sub edi, esi
mov word [esp + ecx*2 + 0x3c], di
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x428780
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x4287fd
mov edx, dword [esp + 0x3c]
xor esi, esi
mov edi, dword [0x4482e4]
cmp dword [edi + esi*8], 0xb430e561
je 0x4287f5
mov ebp, ebx
mov ebx, esi
xor ebx, 1
and esi, 1
lea esi, [ebx + esi*2]
mov ebx, ebp
cmp esi, ecx
jb 0x4287d7
jmp 0x4287fd
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428803
jmp dword [0x443a44]
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
jmp dword [0x443a44]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], 0xf1ebede0
mov dword [esp + 0x40], 0xf1e4f5e6
mov dword [esp + 0x44], 0x5b4bb517
mov eax, 0x253fbcf6
mov ecx, 0x4309
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [esp + eax*2 - 0x4a7f79b0]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
mov edi, edx
and edi, 0x184d
mov ebx, edx
and ebx, 2
mov ebp, ebx
xor ebp, 2
imul ebp, edi
or edi, 2
imul edi, ebx
xor edx, 0x184f
add edx, ebp
add edx, edi
inc edx
mov word [esp + eax*2 - 0x4a7f79b0], dx
inc eax
dec ecx
cmp eax, 0x253fbcfc
jne 0x428890
movzx ecx, byte [esp + 0x3c]
test cl, cl
je 0x428920
lea eax, [esp + 0x3c]
mov edi, esi
mov ebx, dword [esp + 0x34]
jmp 0x4288f7
movzx ecx, byte [eax]
test cl, cl
je 0x428932
movzx edx, byte [esi]
test dl, dl
je 0x428930
inc eax
inc esi
lea ebp, [edi + 1]
cmp dl, cl
je 0x42890b
mov edi, ebp
mov esi, ebp
je 0x4288f0
lea eax, [esp + 0x3c]
jmp 0x4288f0
mov edi, esi
mov ebx, dword [esp + 0x34]
jmp 0x428932
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x443984]
xor edi, edi
jmp dword [0x443a6c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], 0x71a271a3
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [esp + edi*2 + 0x3c]
mov esi, edi
or esi, 0xe36e627c
and esi, edx
add edx, edi
add edx, 0xe36e627c
add esi, esi
sub edx, esi
mov esi, edx
and esi, 0x6c1f
add esi, esi
xor edx, 0x13e0
sub esi, edx
mov word [esp + edi*2 + 0x3c], si
mov edi, 1
test cl, 1
mov ecx, 0
jne 0x428970
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x4289f8
mov edx, dword [esp + 0x3c]
xor esi, esi
mov edi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb430e561
je 0x4289f0
mov ebp, esi
xor ebp, 1
and esi, 1
lea esi, [esi*2]
add esi, ebp
cmp esi, ecx
jb 0x4289d0
jmp 0x4289f8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428a02
mov edi, dword [esp + 0x7c]
jmp dword [0x443a74]
push eax
push 4
push ecx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x10
mov edi, dword [esp + 0x7c]
jmp dword [0x443a74]
imul eax, dword [edx], 0xffffff90
insb byte es:[edi], dx
inc edx
add cl, al
inc dx
add byte [ecx - 0x1fffbd99], bh
inc edx
add byte [edi - 0x1fffbd99], bh
inc edx
add byte [eax], cl
push 0x69510042
inc edx
add byte [eax], bl
push 0x692a0042
inc edx
add byte [edx + 0x68], dh
inc edx
add byte [edx], ch
imul eax, dword [edx], case.0x426923.1584870730
sub ch, byte [ecx + 0x42]
add bl, cl
inc edx
add byte [esi], dh
imul eax, dword [edx], case.0x426b41.7
push edi
imul eax, dword [edx], case.0x426b41.1
jo 0x44372f
inc edx
add byte [ebp + 0x69], bl
inc edx
add cl, al
inc dx
add byte [eax + 0x69], dh
inc edx
add byte [eax + 0x6b], ah
inc edx
add byte [eax + 0x6b], ah
inc edx
add byte [eax + 0x6b], ah
inc edx
add byte [edx + 0x6b], ah
inc edx
add byte [edi + 0x69], bh
inc edx
add byte [eax + 0x6b], ch
inc edx
add byte [esi + 0x6b], dh
inc edx
add byte [ecx + 0x7e004269], bl
insb byte es:[edi], dx
inc edx
add byte [ebp - 0x3fffbd94], dh
insb byte es:[edi], dx
inc edx
add al, al
insb byte es:[edi], dx
inc edx
add dl, al
insb byte es:[edi], dx
inc edx
add al, al
insb byte es:[edi], dx
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x6c], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
insd dword es:[edi], dx
inc edx
add byte [esi], al
insd dword es:[edi], dx
inc edx
add byte [eax], al
insd dword es:[edi], dx
inc edx
add byte [eax], al
insd dword es:[edi], dx
inc edx
add byte [eax], al
insd dword es:[edi], dx
inc edx
add byte [edx - 0x71ffbd99], al
inc edx
add dl, al
insb byte es:[edi], dx
inc edx
add byte [ebp + 0x6d], cl
inc edx
add byte [ebx + 0x6d], ah
inc edx
add byte [edx + 0x6e], bl
inc edx
add byte [ebp + 0x4500426d], dl
outsb dx, byte [esi]
inc edx
add bh, dl
insd dword es:[edi], dx
inc edx
add byte [edi], bh
outsb dx, byte [esi]
inc edx
add byte [eax + 0x3f004269], ch
outsb dx, byte [esi]
inc edx
add byte [edx + ebp*2 + 0x42], al
add byte [ecx + 0x64], ch
inc edx
add byte [ebp + 0x75004260], al
inc edx
add byte [ebp + 0x64], dh
inc edx
add byte [ebp + 0x64], dh
inc edx
add byte [edi], bh
outsb dx, byte [esi]
inc edx
add byte [edx + 0x60], dh
inc edx
add al, al
pushal
inc edx
add byte [0x5d004261], cl
popal
inc edx
add byte [ebp - 0xeffbd9f], bh
popal
inc edx
add cl, dh
popal
inc edx
add cl, dh
popal
inc edx
add byte [eax + 0x61], al
inc edx
add cl, dh
popal
inc edx
add byte [ebx + 0x62], ch
inc edx
add byte [edi], bh
bound eax, qword [edx]
pop edi
bound eax, qword [edx]
and byte [edx + 0x42], ah
add byte [ebx + 98], ch
inc edx
add byte [edx], ch
inc edx
add byte [ecx + 0x62], bh
inc edx
add byte [ebx + 0x4262], cl
arpl word [edx], ax
popfd
bound eax, qword [edx]
jo 0x443831
inc edx
add byte [eax], al
arpl word [edx], ax
jle 0x443839
inc edx
add byte [eax + 0x4d004263], cl
inc edx
add byte [edx + 0x60], dh
inc edx
add byte [edi + 0x6e450042], bl
inc edx
add byte [ebx + 0x6e], cl
inc edx
add byte [edx + 0x6e], bl
inc edx
add byte [esi], al
outsd dx, dword [esi]
inc edx
add byte [esi + 0x6e00426f], al
outsd dx, dword [esi]
inc edx
add byte [edi + 0x6f], dh
inc edx
add byte [esi + 0x6f], ch
inc edx
add byte [esi - 0x6bffbd91], al
outsd dx, dword [esi]
inc edx
add byte [esi + 0x5900426f], bl
jo 0x443859
add byte [eax + 0x70], dh
inc edx
add byte [eax + 0x70], dh
inc edx
add byte [eax + 0x70], dh
inc edx
add byte [esi + 0x70], dh
inc edx
add byte [eax + 0x70], dh
inc edx
add byte [edx + 0x14004271], bh
je 0x443875
add bl, dh
jno 0x443879
add byte [esi], cl
jb 0x44387d
add bl, bh
jno 0x443881
add byte [esp + esi*2], dl
inc edx
add ah, bh
jae 0x443889
add byte [esi], dh
je 0x44388d
add byte [edx], al
je 0x443891
add byte [esi], cl
je 0x443895
add al, ah
jne 0x443899
add byte [eax], al
jbe 0x44389d
add byte [eax + 0x2100427d], ah
jbe 0x4438a5
add byte [edx + 0x5100427d], al
jbe 0x4438ad
add byte [ecx + 0x76], dh
inc edx
add byte [ecx + edi*2 + 0x7c0e0042], dl
inc edx
jl 0x4438b9
add byte [edx], bl
jl 0x4438bd
add byte [edi], bl
jge 0x4438c1
add byte [eax], ch
jge 0x4438c5
add byte [edi + 0x7d], al
inc edx
add byte [edi + 0x7d], ch
inc edx
jge 0x4438cd
add byte [eax + 0x7d], ah
inc edx
jge 0x4438d1
add byte [ebp + 0x7d], cl
inc edx
jge 0x4438d5
add byte [edi + 0x7d], ch
inc edx
jge 0x4438d9
add byte [eax + 0x7d], ah
inc edx
jge 0x4438dd
add byte [eax - 0x7fffbd83], al
jge 0x4438e5
jge 0x4438e1
add byte [eax - 0x7fffbd83], al
add byte [eax - 0x7dffbd83], al
jge 0x4438ed
jge 0x4438e9
add byte [edx + 0x100427d], al
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 [edx - 0x77ffbd83], al
jge 0x4438fd
add byte [eax - 0x5fffbd83], cl
jge 0x443901
add byte [eax + 0x6600427d], ah
jge 0x443905
add byte [esi + 0x7e], ah
inc edx
jle 0x443909
add byte [ecx + 0x6600427d], ch
jle 0x443911
add al, ah
jne 0x443915
add dl, ch
jne 0x443919
add byte [eax + 0x20004276], al
jbe 0x44391d
add byte [eax], ah
je 0x443921
add byte [edi + 0x42004276], al
jbe 0x443925
add byte [edx + 0x79], al
inc edx
jns 0x443929
add byte [edi + 0x79], ch
inc edx
jns 0x44392d
add byte [eax + 0x79], ah
inc edx
jns 0x443931
add byte [eax + 0x79], cl
inc edx
add byte [eax + 0x79], ah
inc edx
add byte [edi + 0x79], ch
inc edx
add byte [ebp + 0x79], dh
inc edx
jns 0x443941
add byte [eax], ah
je 0x443945
add byte [ebp - 0x2fffbd80], dh
add byte [edx], 0xd0
add byte [edx], 0xd0
add byte [edx], 0xd0
add byte [edx], 0x59
add dword [edx], case.0x426b41.164
pop es
add byte [edx], 7
add dword [edx], case.0x426b41.170
or eax, 0x16004281
add dword [edx], case.0x426b41.171
push ss
add dword [edx], case.0x426b41.172
and byte [ecx - 0x7edfffbe], al
inc edx
add byte [ecx - 0x7f], bl
add dword [edx], case.0x426b41.173
and byte [ecx - 0x7ea6ffbe], al
add dword [edx], case.0x426b41.173
pop ecx
add dword [edx], case.0x426b41.173
inc ebp
add dword [edx], case.0x426b41.178
add dword [eax], eax
add dword [edx], case.0x426b41.167
and byte [ecx - 0x7ebaffbe], al
inc edx
add byte [esi - 0x7f], ah
inc edx
add byte [ecx], al
inc edx
add byte [eax], ah
add dword [edx], case.0x426b41.177
add word [edx], 1
add dword [edx], 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x7f], ah
inc edx
add byte [ecx + ecx*4 + 0x42], dl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add word [edx], 0x8954
inc edx
add byte [eax + 0x40004281], dl
mov dword [edx], eax
rol byte [ecx - 0x7e2fffbe], 1
inc edx
add al, dl
add dword [edx], case.0x426b41.189
rol byte [ecx - 0x7e1cffbe], 1
inc edx
add al, dh
add dword [edx], case.0x426b41.193
lock add dword [edx], case.0x426b41.195
inc eax
mov dword [edx], eax
push es
add byte [edx], 6
add byte [edx], 6
add byte [edx], 0x38
add byte [edx], 0x4b
add byte [edx], 0x60
mov byte [edx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
dec ebx
add byte [edx], 1
add byte [eax], al
add byte [ebx - 0x7e], bl
inc edx
add byte [eax - 0x78], ah
inc edx
add byte [ebx - 0x7e], ch
inc edx
add byte [eax - 0x78], ah
inc edx
add byte [eax + 0x60004282], al
mov byte [edx], al
add byte [edx - 0x7d7fffbe], 0x42
add byte [eax - 2046803326], al
add byte [edx], 0x96
add byte [edx], 0x60
mov byte [edx], al
stc
add byte [edx], 255
add byte [edx], 0x61
xchg dword [edx], eax
xor byte [ebx - 0x7cc6ffbe], al
inc edx
add byte [eax - 0x7d], cl
inc edx
add byte [ebp + 0x48004283], dl
add dword [edx], 0x4f
xchg dword [edx], eax
mov eax, 0xb8004283
add dword [edx], -72
add dword [edx], 0xffffffb8
add dword [edx], 0xffffffd5
add dword [edx], 0xffffffe3
add dword [edx], 0xfffffff7
add dword [edx], 0xffffffb2
test dword [edx], eax
adc byte [edx + eax*2 + 0x42872f00], al
add byte [edx + 1040204421], dh
xchg dword [edx], eax
dec edi
xchg dword [edx], eax
push ebp
xchg dword [edx], eax
popal
xchg dword [edx], eax
inc edx
add dword [edx], 27
mov byte [edx], al
xor al, 0x88
inc edx
add byte [eax - 0x78], al
inc edx
add byte [ebx], bl
mov byte [edx], al
xor al, 0x88
inc edx
add byte [eax], dh
mov byte [edx], al
xor byte [eax - 0x77cfffbe], cl
inc edx
add byte [eax - 0x78], ah
inc edx
add byte [eax - 0x77], cl
inc edx
add byte [ecx + ecx*4 + 0x42], dl
add byte [ebp - 0x7f], cl
inc edx
add byte [esi - 0x7f], dl
inc edx
add byte [eax], al
add byte [eax], al
add byte [ebx - 0x58], cl
daa
add dword [edx - 0x3c], ecx
daa
add dword [ecx], ebx
test al, 0x27
add dword [ecx], ebx
test al, 0x27
add ebp, ecx
test al, 0x27
add dword [edx - 0x2efed856], edx
stosb byte es:[edi], al
daa
add eax, ecx
stosb byte es:[edi], al
daa
add dword [ebx], eax
stosd dword es:[edi], eax
daa
add dword [edx - 0x32fed856], ecx
lodsb al, byte [esi]
daa
add ebx, ecx
lodsb al, byte [esi]
daa
add dword [esi - 0x58], eax
daa
add dword [edi + 0x100127ae], eax
scasb al, byte es:[edi]
daa
add edi, eax
scasb al, byte es:[edi]
daa
add dword [esi - 0x4f], esp
daa
add dword [ecx - 0x4f], esp
daa
add dword [edx], esi
mov ecx, 0xb9320127
daa
add dword [ebx - 0x21fed847], eax
int3