Function at 0x429fd9
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
push eax
sub esp, 0x3fc
mov eax, esp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], eax
push eax
mov ebx, esp
sub esp, 8
mov eax, esp
mov dword [ebp - 0x44], eax
mov edi, eax
sub esp, 0x24
mov dword [ebp - 0x3c], esp
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x90], 0x63166113
mov dword [ebp - 0x8c], 0x67076501
mov dword [ebp - 0x88], 0x7b447905
mov dword [ebp - 0x84], 0x7ff67d19
mov dword [ebp - 0x80], 0x73727115
xor eax, eax
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x90]
lea edx, [eax + 0x53bfd3e8]
xor edx, ecx
add edx, 0x5d40dc77
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [ebp + eax - 0x90], cl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0x14
jb case.default.0x426f56
lea esi, [ebp - 0x90]
lea ecx, [ebp - 0x58]
push esi
call fcn.0043a330
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x446ae4]
lea ecx, [ebp - 0x58]
push 0x410
call fcn.0043a620
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x446aec]
mov dword [ebp - 0x90], 0x5eb54c57
mov dword [ebp - 0x8c], 0x4c52bf54
mov dword [ebp - 0x88], 0x585355b3
mov dword [ebp - 0x84], 0x956e6ab7
mov dword [ebp - 0x80], 0x748d8696
mov dword [ebp - 0x7c], 0x6d808a8f
mov dword [ebp - 0x78], 0x666f8a6a
mov dword [ebp - 0x74], 0x7a917881
mov dword [ebp - 0x70], 0x92848282
mov dword [ebp - 0x6c], 0x729db783
mov dword [ebp - 0x68], 0xe1b29b93
mov word [ebp - 0x64], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0xd3
xor al, byte [ebp + ecx - 0x90]
add al, 0xe1
mov byte [ebp + ecx - 0x90], al
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 0x2e
jb case.default.0x42702b
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x58]
push 0
push 0x2b
push esi
push eax
call fcn.0043acc0
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
xor eax, eax
cmp esi, ecx
sete al
jmp dword [eax*4 + 0x446af4]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x60], ebx
mov eax, ecx
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
mov edi, ecx
call fcn.004095d0
add esp, 4
add dword [ebp - 0x44], 4
inc dword [ebp - 0x40]
mov dword [ebp - 0x38], 0
xor ecx, ecx
mov dword [ebp - 0x48], edi
cmp esi, edi
setne cl
mov dword [ebp - 0x2c], eax
mov edi, eax
jmp dword [ecx*4 + 0x446afc]
mov eax, dword [ebp - 0x38]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446b04]
jmp dword [0x446b84]
add esi, 4
xor eax, eax
cmp esi, dword [ebp - 0x48]
setne al
jmp dword [eax*4 + 0x446afc]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], edi
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x60]
jmp dword [0x446b10]
mov ebx, dword [ebp - 0x10]
jmp dword [0x446b74]
push ebx
call fcn.00401ac0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ebp - 0x34]
jmp dword [ecx*4 + 0x446b64]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
jmp 0x42734a
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
mov dword [edx], 0x41a4d8d9
mov eax, dword [ebp - 0x44]
mov byte [eax + 2], 0
mov word [eax], 0
xor ebx, ebx
nop
nop
nop
nop
mov eax, dword [ebp - 0x34]
movzx edi, byte [eax + ebx]
lea edx, [ebx + 0x50cf3e91]
mov esi, 0x6e
sub esi, ebx
and esi, edi
xor edx, edi
mov eax, 0xaf30c16e
sub eax, ebx
or eax, edi
mov ecx, ebx
sub ecx, edi
mov edi, dword [ebp - 0x34]
add ecx, eax
add ecx, esi
sub ecx, edx
add ecx, 0x50cf3e92
mov eax, ecx
and eax, 0x56
xor ecx, 0xd6
lea eax, [ecx + eax*2]
mov cl, 1
sub cl, al
mov byte [edi + ebx], cl
add ebx, 0x3c5526d
mov eax, ebx
and eax, 0x14
xor ebx, 0xfc3aad94
lea ebx, [ebx + eax*2]
cmp ebx, 7
jb case.default.0x427178
push edi
push dword [ebp - 0x24]
call fcn.00401880
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [ebp - 0x20]
jmp dword [ecx*4 + 0x446b6c]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
jmp 0x4273da
movzx ecx, byte [ebx + 1]
inc ebx
xor eax, eax
test cl, cl
je 0x4271b2
mov edx, ebx
nop
nop
nop
cmp cl, 0x2e
je 0x4271b0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x4271a0
jmp 0x4271b2
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446b44]
mov esi, eax
xor esi, ebx
mov edi, ebx
not edi
and edi, eax
add edi, edi
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [ebx + ecx - 1]
cmp eax, 0x3d
je 0x4271e5
cmp eax, 0x2e
jne 0x4271e6
dec edx
movzx eax, byte [ebx + ecx - 2]
cmp eax, 0x3d
mov dword [ebp - 0x1c], ecx
je 0x4271f8
cmp eax, 0x2e
jne 0x4271f9
dec edx
mov eax, edx
and eax, 1
mov ecx, edx
mov dword [ebp - 0x5c], edx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.004095d0
add esp, 4
mov dword [ebp - 0x28], eax
cmp edi, esi
mov edi, dword [ebp - 0x1c]
jne 0x42725f
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x28]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x446b4c]
jmp dword [0x446b54]
push esi
call fcn.004095e0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004095e0
add esp, 4
jmp dword [0x446b60]
mov dword [ebp - 0x10], 0
mov esi, 2
mov dword [ebp - 0x24], ebx
jmp 0x427283
mov ecx, edi
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
mov ebx, dword [ebp - 0x24]
mov edi, ecx
jae 0x42721c
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.0041dde0
add esp, 4
mov ecx, ebx
mov bh, al
movzx eax, byte [ecx + esi - 1]
push eax
call fcn.0041dde0
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x10]
mov byte [ecx + edx], al
inc edx
mov dword [ebp - 0x10], edx
cmp esi, edi
jae 0x427270
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + esi]
push eax
call fcn.0041dde0
add esp, 4
cmp al, 0x40
jne 0x4272e0
mov ecx, dword [ebp - 0x1c]
jmp 0x427272
shl bl, 4
mov byte [ebp - 0x11], al
shr al, 2
and al, 0xf
or al, bl
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
and ecx, 1
mov edx, dword [ebp - 0x28]
mov byte [edx + ebx], al
xor ebx, 1
lea edi, [ebx + ecx*2]
lea eax, [esi + 1]
mov ecx, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x427325
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041dde0
add esp, 4
cmp al, 0x40
jne 0x42732d
mov dword [ebp - 0x10], edi
jmp 0x4272d4
mov dword [ebp - 0x10], edi
jmp 0x427272
movzx ecx, byte [ebp - 0x11]
shl cl, 6
add al, cl
mov ecx, dword [ebp - 0x28]
mov byte [ecx + edi], al
xor edi, 1
and ebx, 1
lea eax, [edi + ebx*2]
mov dword [ebp - 0x10], eax
jmp 0x4272d4
push ebx
call fcn.00402070
add esp, 4
add esi, 4
xor eax, eax
cmp esi, dword [ebp - 0x48]
setne al
jmp dword [eax*4 + 0x446afc]
mov eax, 1
jmp dword [0x446b2c]
movzx edx, byte [eax]
mov ecx, edi
test dl, dl
je 0x42739b
lea esi, [eax + 1]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x427390
mov word [ecx], 0x203a
jmp dword [0x446b80]
movzx ecx, byte [eax]
mov edx, edi
test cl, cl
je 0x4273cb
lea esi, [eax + 1]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4273c0
mov word [edx], 0x203a
jmp case.0x427178.2
add ecx, 2
mov edi, ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
test al, al
je 0x4273fb
mov ecx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4273f0
mov byte [edi], 0xa
inc edi
mov al, 1
mov dword [ebp - 0x38], eax
jmp 0x42734a
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
push 0x400
push 0
push ebx
call fcn.00409650
add esp, 0xc
lea ecx, [ebp - 0x58]
push edi
push 0x400
push ebx
push esi
call fcn.0043abd0
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
push 0x400
push 0
push ebx
call fcn.00409650
add esp, 0xc
lea ecx, [ebp - 0x58]
push edi
push 0x400
push ebx
push esi
mov esi, dword [ebp - 0x18]
call fcn.0043abd0
jmp dword [0x446b18]
cmp eax, 0xc0000000
setae al
cmp dword [edi], 0
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x446b1c]
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x446b34]
mov byte [ecx + 0x3ff], 0
movzx eax, byte [ecx]
xor ebx, ebx
test al, al
je 0x4274b1
nop
nop
nop
nop
cmp al, 0x2e
je 0x4274af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4274a0
jmp 0x4274b1
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446b3c]
xor edi, edi
test esi, esi
jne 0x427599
jmp 0x4275a6
mov byte [edi], 0
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
not eax
and eax, edi
add eax, eax
mov edx, dword [ebp - 0x3c]
mov dword [edx], 0xe3e69949
mov dword [edx + 4], 0xefd3dadd
mov dword [edx + 8], 0xe0ece2d9
mov dword [edx + 0xc], 0xd6e6c22f
mov dword [edx + 0x10], 0xdb35ecd9
mov dword [edx + 0x14], 0xf1cff2f7
mov dword [edx + 0x18], 0xf7f233ff
mov word [edx + 0x1c], 0x6df0
mov dword [edx + 0x1e], 0
mov word [edx + 0x22], 0
xor edi, ecx
mov dword [ebp - 0x20], edi
mov ecx, 0x41
nop
nop
nop
nop
movzx edi, byte [edx]
lea esi, [ecx - 0x4a8fb900]
or esi, edi
and edi, ecx
not esi
or esi, edi
add esi, 0x8b316449
mov edi, esi
and edi, 0x61
xor esi, 0x61
lea ebx, [esi + edi*2]
add bl, 0xa0
mov byte [edx], bl
inc edx
dec ecx
cmp ecx, 0x1d
jne 0x427530
sub eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x3c]
call fcn.0040a4a0
jmp dword [0x446b84]
push dword [ebp - 0x2c]
mov esi, eax
call fcn.004095e0
mov eax, esi
add esp, 4
and al, 1
mov edi, eax
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
test esi, esi
je 0x4275a6
cmp esi, ecx
je 0x4275a6
push esi
call fcn.004095e0
add esp, 4
mov ecx, edi
mov ebx, ecx
lea ecx, [ebp - 0x58]
call fcn.0043a7d0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x427750
sub eax, edi
cmp eax, 0xffffffd9
jge 0x427770
mov eax, 0xffffffff
jmp 0x427773
xor eax, eax
jmp 0x42819d
add eax, 0x26
push eax
call fcn.004095d0
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0x23c121cc
mov dword [esp + 0x18], 0x27b825bb
mov dword [esp + 0x1c], 0xdb43d93e
mov dword [esp + 0x20], 0xdf32dd3b
mov dword [esp + 0x24], 0xd34dd133
mov dword [esp + 0x28], 0xd730d54a
mov dword [esp + 0x2c], 0xcb2dc951
mov dword [esp + 0x30], 0xcf58cd12
mov dword [esp + 0x34], 0xc324c124
mov word [esp + 0x38], 0xc5c4
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0x78
xor cl, byte [esp + eax + 0x14]
add cl, 0xa8
mov byte [esp + eax + 0x14], cl
inc eax
cmp eax, 0x2b
jne 0x4277e0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x427821
mov edx, edi
add edx, 2
mov eax, ebx
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 0x427810
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x427851
lea edx, [esp + 0x16]
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 0x427840
mov word [eax], 0
mov dword [esp + 0x74], ebx
jmp dword [0x446b94]
push edi
call fcn.004095e0
add esp, 4
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x446b9c]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x446b9c]
mov dword [esp + 0x14], 0xf40094f
mov dword [esp + 0x18], 0x3650d60
mov dword [esp + 0x1c], 0x7740173
mov dword [esp + 0x20], 0x1b63057e
mov dword [esp + 0x24], 0x1f721963
mov dword [esp + 0x28], 0x13611d7b
mov dword [esp + 0x2c], 0x176c1162
mov dword [esp + 0x30], 0x2b51156d
mov dword [esp + 0x34], 0x2fa4291a
mov dword [esp + 0x38], 0x23582d48
mov word [esp + 0x3c], 0x2120
mov dword [esp + 0x3e], 0
mov word [esp + 0x42], 0
mov eax, 0x1db8
mov ecx, 0x7fedc247
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x7fedc233]
mov ebx, eax
and ebx, 0x14c5
mov edi, ecx
and edi, 0x64acc03a
sub edi, ebx
mov ebx, edi
and ebx, edx
mov ebp, ebx
and ebp, 2
mov esi, ebx
or ebx, 2
imul ebx, ebp
xor ebp, 2
and esi, 0xfffffffd
imul esi, ebp
add ebx, esi
mov ebp, ebx
xor ebp, edi
not edi
and edi, ebx
add edi, edi
sub ebp, edi
add ebp, edx
mov edx, ebp
and edx, 0x75
xor ebp, 0x75
lea edx, [edx*2]
add edx, ebp
inc dl
mov byte [esp + ecx - 0x7fedc233], dl
dec eax
inc ecx
cmp eax, 0x1d88
jne 0x427900
push 0
lea eax, [esp + 0x18]
push eax
mov ebx, dword [esp + 0x7c]
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea esi, [esp + 0xa0]
push 0x60
push 3
push 0x120089
push esi
push ebx
call fcn.0043f260
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ba4]
xor ebp, ebp
xor esi, esi
jmp dword [0x446bf4]
push dword [esp + 0x74]
call fcn.004095e0
add esp, 4
xor eax, eax
cmp ebp, esi
sete al
mov ecx, esi
jmp dword [eax*4 + 0x446bfc]
xor eax, eax
test ebp, ebp
jne 0x4284e6
jmp 0x42819d
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0xa8]
call fcn.0043f5d0
add esp, 0xc
not eax
shr eax, 0x1f
xor ecx, ecx
xor ebp, ebp
jmp dword [eax*4 + 0x446bac]
mov edi, dword [esp + 0x90]
lea eax, [edi + 1]
push eax
call fcn.004095d0
add esp, 4
push 0
push edi
mov dword [esp + 0x80], eax
push eax
push dword [esp + 0xac]
call fcn.0043f6c0
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x446bb4]
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0x78]
mov byte [esi + edi], 0
push 0x20
call fcn.004095d0
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 + 0x68], eax
mov ecx, eax
push edi
push esi
call fcn.0042a160
movzx eax, al
xor edx, edx
xor ebp, ebp
jmp dword [eax*4 + 0x446bbc]
mov dword [esp + 0x14], 0xa590aa81
mov dword [esp + 0x18], 0x8eb888a1
mov dword [esp + 0x1c], 0xb58d9975
mov dword [esp + 0x20], 0x907f84ba
mov dword [esp + 0x24], 0xba8580b0
mov dword [esp + 0x28], 0xb8bb5879
mov dword [esp + 0x2c], 0x8d808885
mov dword [esp + 0x30], 0x1f8d
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x14]
mov esi, eax
and esi, 0x16
mov edx, ecx
xor edx, 0xbad6888b
add edx, esi
mov ebx, edx
and ebx, edi
mov esi, ebx
and esi, 0xffffffbd
mov ebp, ebx
or ebp, 0xfd
inc ebp
imul ebp, esi
mov esi, ebx
and esi, 2
or ebx, 2
imul ebx, esi
sub ebp, ebx
add edx, edi
add edx, ebp
add dl, 0x49
mov byte [esp + ecx + 0x14], dl
inc ecx
add eax, 2
cmp ecx, 0x20
jne case.default.0x427b43
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x14]
push eax
call fcn.0042a3a0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
xor ebp, ebp
jmp dword [ecx*4 + 0x446bc4]
mov esi, edx
mov edi, dword [esp + 0x68]
jmp dword [0x446bd4]
jmp dword [0x446bdc]
add eax, 8
xor edx, edx
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x6c], 0
jmp dword [eax*4 + 0x446bcc]
xor edx, 0x701158e4
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
mov dword [ebp + eax + 4], edx
mov edx, dword [esp + 4]
add edx, 8
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, ebp
jmp dword [eax*4 + 0x446bcc]
mov dword [esp + 0x70], ecx
mov ebx, dword [ecx]
mov eax, edx
sub eax, esi
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
mov dword [esp + 0x10], eax
je 0x427bcf
mov ebp, esi
jmp 0x427c51
sar eax, 3
inc eax
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x427be4
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.004095d0
add esp, 4
mov ebp, eax
test esi, esi
je 0x427c3c
mov edx, dword [esp + 0x6c]
cmp esi, edx
je 0x427c33
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x427c10
push esi
call fcn.004095e0
add esp, 4
lea eax, [edi*8]
add eax, ebp
mov dword [esp + 0x6c], eax
mov edx, ebp
mov eax, dword [esp + 0x10]
add edx, eax
mov dword [esp + 4], edx
mov dword [ebp + eax], 0
mov dword [esp + 0xc], ebp
mov dword [ebp + eax + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
cmp byte [ebx + eax], 0
lea eax, [eax + 1]
jne 0x427c70
add eax, ebx
dec eax
mov ebp, ebx
not ebp
and ebp, eax
xor eax, ebx
add ebp, ebp
sub ebp, eax
mov eax, ebp
and eax, 1
mov ecx, ebp
xor ecx, 1
lea esi, [ecx + eax*2]
push esi
call fcn.004095d0
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [edx + ecx], eax
mov ecx, esi
shr ecx, 2
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, esi
and edx, 0xfffffffc
add eax, edx
mov dword [esp], ebx
add edx, ebx
shr esi, 1
and esi, 1
mov ebx, edx
mov edi, eax
mov ecx, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, ebp
test bl, 1
jne 0x427cf1
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
test ebx, ebx
je 0x427dc3
mov eax, 0xffffffff
xor ebp, ebp
mov ecx, dword [esp]
mov dword [esp + 8], ebx
jmp case.default.0x427bab
xor eax, edi
xor eax, esi
xor eax, ecx
shr edx, 4
xor edx, eax
mov eax, edx
xor eax, 0x8feea71b
inc ebp
mov ebx, dword [esp + 8]
cmp ebx, ebp
mov ecx, dword [esp]
je 0x427b80
movzx ecx, byte [ecx + ebp]
xor ecx, eax
mov esi, 0x188b86fd
test cl, 1
je 0x427d47
mov esi, 0x53c9699
mov ebx, 0x31170dfa
test cl, 2
je 0x427d56
mov ebx, 0xa792d32
mov edi, 0x622e1bf4
mov eax, 0x622e1bf4
test cl, 4
je 0x427d6a
mov eax, 0x14f25a64
mov edx, 0x4bb290f3
test cl, 8
je 0x427d79
mov edx, 0xa60a13d3
shr ecx, 4
xor ebx, ecx
xor ebx, esi
xor eax, ebx
xor edx, eax
test dl, 1
mov ecx, 0x188b86fd
je 0x427d93
mov ecx, 0x53c9699
test dl, 2
mov esi, 0x31170dfa
je 0x427da2
mov esi, 0xa792d32
test al, 4
je 0x427dab
mov edi, 0x14f25a64
mov eax, 0xc45c37e8
test bl, 8
je 0x427d10
mov eax, 0x29e4b4c8
jmp 0x427d10
xor edx, edx
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0xc]
jmp 0x427b8e
mov esi, dword [ebx]
cmp dword [ebx + 0x18], 3
mov edi, 0
jne case.default.0x427df1
mov edi, dword [ebx + 0x10]
test esi, esi
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446c7c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edx
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x427e4e
mov ecx, eax
xor ecx, edi
mov edx, edi
not edx
and edx, eax
add edx, edx
sub edx, ecx
inc edx
shr edx, 1
mov dword [esp + 0x78], edx
lea eax, [edx + 1]
push eax
call fcn.004095d0
add esp, 4
mov ebp, eax
mov eax, dword [case.0x427ed6.53]
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x70], ebp
jmp dword [edx*4 + 0x446c84]
mov byte [ebp], cl
inc ebp
movsx ecx, byte [edx]
xor ebx, ebx
test ecx, ecx
setne bl
mov edi, edx
jmp dword [ebx*4 + 0x446c84]
lea edx, [edi + 1]
mov esi, ecx
or esi, 0x20
lea ebx, [esi - 0x61]
cmp ebx, 5
ja case.default.0x427e9d
xor esi, 0xffffff9e
and ecx, 0xffffff9e
lea ecx, [esi + ecx*2]
add ecx, 0xb
movsx esi, byte [edx]
xor ebx, ebx
test esi, esi
setne bl
jmp dword [ebx*4 + 0x446c8c]
lea esi, [ecx - 0x30]
cmp esi, 0xa
jb 0x427ec0
mov ecx, 0xffffffff
jmp 0x427ecc
mov esi, ecx
xor esi, 0x30
and ecx, 0xffffffcf
add ecx, ecx
sub ecx, esi
movsx esi, byte [edx]
xor ebx, ebx
test esi, esi
setne bl
jmp dword [ebx*4 + 0x446c8c]
jmp eax
mov edx, esi
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 5
ja case.default.0x427f11
xor edx, 0xffffff9e
and esi, 0xffffff9e
lea edx, [edx + esi*2]
add edx, 0xb
add edi, 2
shl ecx, 4
or ecx, edx
mov byte [ebp], cl
inc ebp
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x446c84]
lea edx, [esi - 0x30]
cmp edx, 0xa
jb 0x427f2f
mov esi, 0xffffffff
jmp 0x427f3b
mov edx, esi
xor edx, 0x30
and esi, 0xffffffcf
add esi, esi
sub esi, edx
add edi, 2
shl ecx, 4
or ecx, esi
mov byte [ebp], cl
inc ebp
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x446c84]
mov esi, dword [esp + 0x6c]
jmp dword [0x446ca8]
mov edx, dword [esp + 8]
jmp dword [0x446cec]
mov ecx, 1
jmp dword [ecx*4 + 0x446cd4]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 4]
setne bl
jmp dword [ebx*4 + 0x446cb4]
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 + 0x446cbc]
jmp dword [0x446ccc]
mov esi, dword [ebp]
xor ecx, ecx
jmp dword [ecx*4 + 0x446cd4]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446cdc]
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
jmp dword [0x446cec]
push dword [esp + 0x70]
mov esi, edx
call fcn.004095e0
mov edx, esi
add esp, 4
add ebx, 4
mov eax, dword [case.0x4285b8.40]
nop
nop
nop
nop
nop
nop
jmp eax
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446c64]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
xor eax, eax
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne case.default.0x4280a5
add eax, esi
dec eax
mov ecx, esi
not ecx
and ecx, eax
xor eax, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0xe18a387a
push dword [0x44bce8]
call fcn.0043e7a0
add esp, 8
lea ecx, [esp + 0x88]
lea edx, [esp + 0x90]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x2c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446ce4]
movzx eax, byte [esi]
test al, al
je 0x4280c4
inc esi
mov edi, dword [esp]
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4280b7
jmp 0x4280c7
mov edi, dword [esp]
mov word [edi], 0x203a
lea esi, [edi + 2]
mov edx, dword [esp + 0x88]
test edx, edx
je 0x4280ea
mov eax, dword [esp + 0x8c]
test dl, 1
jne 0x4280ee
mov ecx, edx
jmp 0x42810a
mov edi, esi
jmp 0x428130
mov ecx, edx
not ecx
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
lea ecx, [ecx + edx*2]
mov byte [edi + 2], bl
mov ebx, dword [esp + 0x10]
add edi, 3
mov esi, edi
cmp edx, 1
je 0x428130
mov edi, esi
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
add edi, 2
add ecx, 0xfffffffe
jne 0x428111
mov byte [edi], 0xa
inc edi
mov dword [esp], edi
push 0xa7ffa4f5
push dword [0x44acd0]
call fcn.0043e7a0
add esp, 8
push dword [esp + 0x8c]
call eax
mov dl, 1
jmp dword [0x446cec]
mov byte [ebp], 0
push 0
push 0x10
push 0
push esi
call fcn.0042a5c0
add esp, 0x10
mov byte [ebp], 0
push 0
push 0x10
push 0
push esi
call fcn.0042a5c0
add esp, 0x10
jmp dword [0x446cac]
xor esi, esi
xor ebx, ebx
mov ebp, dword [esp + 0xc]
cmp ebp, dword [esp + 4]
setne bl
jmp dword [ebx*4 + 0x446cb4]
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], 0x57024925
mov dword [esp + 0x18], 0x53fd55e7
mov dword [esp + 0x1c], 0x5fea51f1
mov dword [esp + 0x20], 0x5bea5d1d
mov dword [esp + 0x24], 0xa7ea59e8
mov dword [esp + 0x28], 0xa31ea505
mov dword [esp + 0x2c], 0xafc3a101
mov dword [esp + 0x30], 0xabf5ad08
mov dword [esp + 0x34], 0xb71ba914
mov dword [esp + 0x38], 0xb307b515
mov dword [esp + 0x3c], 0xbf0ab114
mov dword [esp + 0x40], 0xbb15bd0f
mov dword [esp + 0x44], 0x8732b919
mov dword [esp + 0x48], 0x833885f6
mov dword [esp + 0x4c], 0x8f24812c
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0x8d8c
mov ecx, 0xee
mov edx, 0x29a23411
nop
nop
movzx esi, byte [esp + ecx - 0xda]
mov ebx, ecx
and ebx, esi
add ebx, ebx
lea edi, [ecx + esi]
add edi, 0xd65dcb00
mov ebp, edx
sub ebp, esi
and ebp, ebx
not ebx
and ebx, edi
sub ebx, ebp
add bl, 0x5a
mov byte [esp + ecx - 0xda], bl
inc ecx
dec edx
cmp ecx, 0x12e
jne 0x428240
lea edx, [esp + 0x14]
mov ecx, 0xf
lea esi, [esp + 0xa0]
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xdc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x9c]
push edi
push 0
push 0
push 0x1e
push esi
push 0
call dword [0x44bcd8]
mov dword [esp + 0x14], 0xf18e8fa9
mov byte [esp + 0x18], 0
mov ecx, 0x77f47bdd
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x77f47bc9]
xor edx, ecx
mov esi, 0x57c66b51
sub esi, edx
or esi, 1
add esi, edx
add esi, 0xa83994af
mov ebx, esi
and ebx, 0xfd
mov ebp, esi
and ebp, 2
or esi, 2
imul esi, ebp
xor ebp, 2
imul ebp, ebx
lea ebx, [edx + edx]
and ebx, 2
sub edx, ebx
add edx, esi
add edx, ebp
add dl, 0xaf
mov byte [esp + ecx - 0x77f47bc9], dl
inc ecx
cmp ecx, 0x77f47be2
jne 0x4282d0
xor ecx, ecx
cmp eax, dword [esp + 0x14]
setne cl
xor eax, eax
mov ebp, dword [esp + 0xc]
jmp dword [ecx*4 + 0x446c04]
mov esi, dword [esp + 0x9c]
test esi, esi
jns 0x42834c
mov eax, 0xffffffff
jmp 0x42834f
lea eax, [esi + esi]
push eax
call fcn.004095d0
add esp, 4
mov ebx, eax
push edi
push esi
push eax
push 0x1e
lea eax, [esp + 0xb0]
push eax
push 0
call dword [0x44bcd8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c0c]
xor eax, eax
jmp dword [0x446c14]
jmp dword [0x446c1c]
mov eax, dword [esp + 4]
sub eax, ebp
sar eax, 3
mov ecx, eax
and ecx, 0x421
mov edx, eax
or eax, 0x421
imul eax, ecx
xor ecx, 0x421
and edx, 0xfffffbde
imul edx, ecx
add eax, edx
push eax
call fcn.004095d0
add esp, 4
mov edi, eax
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.0043f260
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c2c]
xor edx, edx
mov dword [esp], edi
jmp dword [0x446d14]
push ebx
mov ebx, edx
call fcn.004095e0
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x446d1c]
mov ebx, edi
mov eax, dword [esp]
mov byte [eax], 0
mov dword [esp + 0x14], 0x75767747
mov dword [esp + 0x18], 0x71616e6b
mov dword [esp + 0x1c], 0x74787e67
mov dword [esp + 0x20], 0x7a765639
mov dword [esp + 0x24], 0x4d276077
mov dword [esp + 0x28], 0x6b7d6661
mov dword [esp + 0x2c], 0x61622961
mov word [esp + 0x30], 0x1b64
mov dword [esp + 0x32], 0
mov word [esp + 0x36], 0
mov eax, 0x4100d573
mov ecx, 0x8201aae6
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x4100d55f]
mov esi, eax
xor esi, 0x66f19372
mov edi, ecx
and edi, 0x200891a
sub edi, esi
xor edi, edx
mov edx, edi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
add dl, 0xfa
mov byte [esp + eax - 0x4100d55f], dl
inc eax
add ecx, 2
cmp eax, 0x4100d597
jne 0x428470
mov edi, ebx
mov eax, dword [esp]
sub eax, ebx
mov ecx, dword [esp + 0xf4]
push eax
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.0040a4a0
jmp dword [0x446d24]
push edi
mov esi, eax
call fcn.004095e0
mov eax, esi
add esp, 4
and al, 1
jmp case.0x427bab.15
jmp dword [0x446c34]
cmp ebp, ecx
je 0x42819d
mov ebx, eax
mov esi, ebp
jmp 0x428507
add esi, 8
cmp esi, ecx
je 0x42851c
mov eax, dword [esi]
test eax, eax
je 0x428500
push eax
mov edi, ecx
call fcn.004095e0
mov ecx, edi
add esp, 4
jmp 0x428500
push ebp
call fcn.004095e0
add esp, 4
mov eax, ebx
jmp 0x42819d
mov dword [esp + 0x14], 0x3b343a5f
mov dword [esp + 0x18], 0x26342c07
mov dword [esp + 0x1c], 0x3b272b73
mov dword [esp + 0x20], 0x4c69200e
mov dword [esp + 0x24], 0x223f3c2c
mov dword [esp + 0x28], 0x21215a6f
mov dword [esp + 0x2c], 0x23313422
mov dword [esp + 0x30], 0xd3cd3453
mov dword [esp + 0x34], 0x69cd
mov eax, 0x62
mov ecx, 0x9d
movzx esi, byte [esp + eax - 0x4e]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x16
mov byte [esp + eax - 0x4e], dl
inc eax
dec ecx
cmp eax, 0x86
jne case.default.0x4285b8
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x14]
push eax
call fcn.0042a3a0
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
mov dword [esp], edi
jmp dword [ecx*4 + 0x446c5c]
add eax, 8
xor edx, edx
mov ebx, dword [eax]
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 0x98], edi
mov dword [esp], edi
jmp dword [eax*4 + 0x446c64]
mov eax, dword [case.0x427bab.34]
mov edi, dword [esp + 0x98]
jmp eax
mov dword [esp + 8], edx
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.0042a520
push esi
call fcn.004095e0
add esp, 4
jmp dword [0x446d0c]
mov ecx, esi
jmp dword [0x446bec]
push dword [esp + 0x78]
call fcn.004095e0
mov ecx, esi
add esp, 4
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], 0x181b1a1d
mov ecx, 0x9f5017bb
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x60afe859]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x59
mov byte [esp + ecx + 0x60afe859], dl
inc ecx
cmp ecx, 0x9f5017bf
jne 0x428640
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x428698
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x44bce0]
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x428690
inc esi
cmp ecx, esi
jne 0x428680
jmp 0x428698
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4286b2
mov esi, dword [esp + 4]
jmp dword [0x446bf4]
xor eax, eax
cmp ebp, esi
sete al
mov ecx, esi
jmp dword [eax*4 + 0x446bfc]
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
mov esi, dword [esp + 4]
jmp dword [0x446bf4]
mov ecx, dword [esp + 4]
test ebp, ebp
jne 0x4284e6
jmp 0x42819d
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x446d1c]
jmp dword [0x446d24]
jmp dword [0x446d04]
mov ecx, edi
call fcn.0042a520
push edi
call fcn.004095e0
add esp, 4
mov ecx, edi
call fcn.0042a520
push edi
call fcn.004095e0
add esp, 4
jmp dword [0x446be8]
push ebx
call fcn.004095e0
add esp, 4
push ebx
call fcn.004095e0
add esp, 4
xor eax, eax
jmp dword [0x446c28]
mov dword [esp + 8], edx
jmp dword [0x446d0c]
push dword [esp + 0x68]
call fcn.004095e0
add esp, 4
jmp case.0x427bab.30
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.004095d0
add esp, 4
push 0
push esi
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x88]
call fcn.0043f6c0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp], edi
jmp dword [eax*4 + 0x446c4c]
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x68]
mov byte [ebx + esi], 0
push 0x20
call fcn.004095d0
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 + 0x84], eax
mov ecx, eax
push esi
push ebx
call fcn.0042a160
movzx eax, al
xor edx, edx
mov dword [esp], edi
jmp dword [eax*4 + 0x446c54]
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x84]
call fcn.0043f5d0
add esp, 0xc
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x84]
call fcn.0043f5d0
add esp, 0xc
jmp dword [0x446c3c]
mov dword [esp + 0x74], ebx
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov dword [esp], edi
jmp dword [eax*4 + 0x446c44]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], 0x181b1a1d
mov ecx, 0x9f5017bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x60afe859]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x59
mov byte [esp + ecx + 0x60afe859], dl
inc ecx
cmp ecx, 0x9f5017bf
jne 0x428860
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x4288b8
mov edx, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [0x44bce0]
nop
nop
cmp dword [ebx + esi*8], 0x1b6183f2
je 0x4288b0
inc esi
cmp ecx, esi
jne 0x4288a0
jmp 0x4288b8
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x4288c6
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 8]
jmp dword [0x446d14]
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 8]
jmp dword [0x446d14]
mov ecx, dword [ebp - 0x38]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446d64]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + esi + 2], 0
lea esi, [esi + 2]
jne 0x428940
mov ebx, esi
sar ebx, 1
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
lea ecx, [ebx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x4c], esi
jns 0x428970
mov eax, 0xffffffff
jmp 0x428979
add eax, ebx
lea eax, [eax*2 + 0x1a]
mov dword [ebp - 0x24], ebx
push eax
call fcn.004095d0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax]
mov dword [ebp - 0x1c], esi
test cx, cx
je 0x4289b1
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4289a0
mov word [esi], 0x5c
mov dword [edi], 0x21522740
mov dword [edi + 4], 0x5dbf23b1
mov dword [edi + 8], 0x59ca5f3f
mov dword [edi + 0xc], 0x55375b78
mov dword [edi + 0x10], 0x513557d8
mov dword [edi + 0x14], 0x4dcd53dc
mov word [edi + 0x18], 0x4f4c
mov dword [edi + 0x1a], 0
mov ecx, 0x604aba39
mov eax, 0x9fb545c6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x20]
movzx edi, byte [edx + ecx - 0x604aba39]
lea ebx, [ecx - 0x604aba00]
and ebx, edi
add ebx, ebx
mov edx, eax
sub edx, edi
add edi, ecx
and edx, ebx
not ebx
and ebx, edi
mov edi, dword [ebp - 0x20]
sub ebx, edx
add bl, 0xe3
mov byte [edi + ecx - 0x604aba39], bl
inc ecx
dec eax
cmp ecx, 0x604aba57
jne 0x428a00
add esi, 2
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax]
test cx, cx
je 0x428a61
lea edx, [eax + 2]
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428a50
mov word [esi], 0
movzx ecx, word [edi]
test cx, cx
je 0x428a91
mov edx, dword [ebp - 0x80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x428a80
mov word [esi], 0
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x5c]
push esi
push dword [ebp - 0x1c]
call fcn.0043f260
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d74]
xor ebx, ebx
jmp dword [0x446e04]
push 0
push dword [ebp - 0x58]
push dword [esi]
call fcn.0043f5d0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446d7c]
mov eax, dword [ebp - 0x58]
mov edi, dword [eax]
lea eax, [edi + 1]
push eax
call fcn.004095d0
add esp, 4
push 0
push edi
mov edi, eax
push eax
mov eax, dword [ebp - 0x5c]
push dword [eax]
call fcn.0043f6c0
add esp, 0x10
mov ecx, dword [case.0x4297d9.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446d94]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446d9c]
jmp dword [0x446dec]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], eax
push eax
call fcn.00401ac0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x60]
mov dword [eax], 0x5c5b2e15
mov dword [eax + 4], 0x292e302e
mov dword [eax + 8], 0x5420286e
mov dword [eax + 0xc], 0x21263826
mov dword [eax + 0x10], 0x344b4f2f
mov word [eax + 0x14], 0x2033
mov byte [eax + 0x16], 0xae
mov eax, dword [ebp - 0x78]
mov word [eax], 0
mov byte [eax + 2], 0
mov edi, 0xceb38cdf
nop
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax + edi + 0x314c7321]
mov ebx, ecx
not ebx
or ebx, edi
add ebx, ecx
inc bl
mov eax, ebx
or al, 0xfd
inc al
mov edx, ebx
and dl, 0xfd
mul dl
mov edx, eax
add dl, cl
mov ecx, dword [ebp - 0x60]
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0xa5
mov byte [ecx + edi + 0x314c7321], al
inc edi
cmp edi, 0xceb38cf9
jne 0x428bb0
push ecx
push esi
call fcn.00401e80
add esp, 8
lea edx, [eax - 1]
mov ecx, eax
nop
nop
inc edx
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jne 0x428c10
mov edi, edx
xor edi, eax
mov ebx, eax
not ebx
and ebx, edx
add ebx, ebx
mov ecx, ebx
sub ecx, edi
lea edx, [ecx + ecx*2]
shr edx, 2
mov dword [ebp - 0x2c], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x428c41
cmp ecx, 0x2e
jne 0x428c42
dec edx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [ebp - 0x10], eax
je 0x428c57
cmp ecx, 0x2e
jne 0x428c58
dec edx
mov dword [ebp - 0x88], edx
lea eax, [edx + 1]
push eax
call fcn.004095d0
add esp, 4
mov dword [ebp - 0x18], eax
cmp ebx, edi
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x2c]
jne case.default.0x428ccb
mov eax, dword [ebp - 0x88]
add eax, 0xfffffffb
mov edi, dword [ebp - 0x9c]
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [ebp - 0x74]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0xe18a387a
push dword [0x44bce8]
call fcn.0043e7a0
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446da4]
cmp dword [ebp - 0x24], 0xfffffff8
jge 0x428de8
mov eax, 0xffffffff
jmp 0x428dee
mov dword [ebp - 0x14], 0
mov edi, 2
jmp 0x428d13
mov dword [ebp - 0x14], ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x10]
lea eax, [edi + 4]
add edi, 2
cmp edi, esi
mov edi, eax
jae 0x428c77
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.0041dde0
add esp, 4
mov byte [ebp - 0x30], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.0041dde0
add esp, 4
movzx edx, byte [ebp - 0x30]
shl dl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, dl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov byte [edx + ebx], cl
inc ebx
mov dword [ebp - 0x14], ebx
cmp edi, esi
jae 0x428d00
mov ebx, eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + edi]
push eax
call fcn.0041dde0
add esp, 4
cmp al, 0x40
jne 0x428d80
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x2c]
jmp 0x428d03
shl bl, 4
mov byte [ebp - 0x30], al
shr al, 2
and al, 0xf
or al, bl
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
and ecx, 1
mov edx, dword [ebp - 0x18]
mov byte [edx + ebx], al
xor ebx, 1
lea ecx, [ebx + ecx*2]
lea eax, [edi + 1]
mov esi, dword [ebp - 0x2c]
cmp eax, esi
jae 0x428cf4
mov esi, ecx
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041dde0
add esp, 4
cmp al, 0x40
jne 0x428dcb
mov dword [ebp - 0x14], esi
jmp 0x428d6a
movzx ecx, byte [ebp - 0x30]
shl cl, 6
add al, cl
mov ecx, dword [ebp - 0x18]
mov byte [ecx + esi], al
xor esi, 1
and ebx, 1
lea eax, [esi + ebx*2]
mov dword [ebp - 0x14], eax
jmp 0x428d6a
mov eax, dword [ebp - 0x4c]
add eax, 0x10
mov ebx, dword [ebp - 0x6c]
push eax
call fcn.004095d0
add esp, 4
mov esi, eax
mov dword [ebx], 0xb7da89db
mov dword [ebx + 4], 0xb3e0b524
mov dword [ebx + 8], 0xbf26b12c
mov dword [ebx + 0xc], 0xbbbabd20
mov byte [ebx + 0x10], 0
xor eax, eax
xor ecx, ecx
nop
mov edi, ecx
xor edi, 0xe2
mov edx, eax
and edx, 0x3a
sub edx, edi
xor dl, byte [ebx + ecx]
add dl, 0x6a
mov byte [ebx + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x11
jne 0x428e20
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x428e71
mov eax, dword [ebp - 0x28]
lea edx, [eax + 2]
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 0x428e60
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov edi, dword [ebp - 0x74]
je 0x428ea1
mov edx, dword [ebp - 0x70]
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 0x428e90
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [edi]
push dword [edi + 4]
push esi
call fcn.0040a2f0
mov ebx, eax
jmp dword [0x446dac]
jmp dword [0x446db8]
push esi
call fcn.004095e0
add esp, 4
nop
nop
nop
nop
nop
push esi
call fcn.004095e0
add esp, 4
jmp dword [0x446dc0]
jmp dword [0x446dc4]
push dword [ebp - 0x8c]
call fcn.00402070
add esp, 4
mov edi, dword [ebp - 0x90]
jmp dword [0x446dec]
jmp dword [0x446df8]
push edi
call fcn.004095e0
add esp, 4
nop
nop
push edi
call fcn.004095e0
add esp, 4
jmp dword [0x446dfc]
mov eax, dword [ebp - 0x5c]
mov esi, dword [eax]
mov dword [ebp - 0x64], 0x181b1a1d
mov ecx, 0x9f5017bb
movzx eax, byte [ebp + ecx + 0x60afe7e1]
mov edx, eax
and edx, ecx
add dl, dl
sub al, dl
movzx eax, al
add eax, ecx
add al, 0x59
mov byte [ebp + ecx + 0x60afe7e1], al
inc ecx
cmp ecx, 0x9f5017bf
jne 0x428f30
mov ecx, dword [0x44bcdc]
test ecx, ecx
je 0x428f90
mov edx, dword [ebp - 0x64]
xor edi, edi
mov eax, dword [0x44bce0]
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x1b6183f2
je 0x428f80
inc edi
cmp ecx, edi
jne 0x428f70
jmp 0x428f90
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x4292d4
nop
nop
nop
nop
mov edi, dword [ebp - 0x20]
jmp dword [0x446e04]
push dword [ebp - 0x1c]
call fcn.004095e0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x446e24]
movzx eax, bl
jmp dword [eax*4 + 0x446e2c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x428fe0
mov eax, 0xffffffff
jmp 0x428fe9
add eax, edx
lea eax, [eax*2 + 0x2e]
mov esi, dword [ebp - 0x44]
push eax
call fcn.004095d0
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x429021
mov edx, dword [ebp - 0x68]
mov eax, edi
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 0x429010
mov dword [ebp - 0x1c], edi
mov word [eax], 0x5c
mov dword [esi], 0x79c67ba8
mov dword [esi + 4], 0x7ddb7fe9
mov dword [esi + 8], 0x71ee73db
mov dword [esi + 0xc], 0x75c37710
mov dword [esi + 0x10], 0x69fb6be0
mov dword [esi + 0x14], 0x6dc96ffe
mov dword [esi + 0x18], 0x61f963f5
mov dword [esi + 0x1c], 0x65fa67cc
mov dword [esi + 0x20], 0x59d05bff
mov dword [esi + 0x24], 0x5dc25fc3
mov dword [esi + 0x28], 0x51f453f8
mov word [esi + 0x2c], 0x5750
mov ecx, dword [ebp - 0x98]
mov byte [ecx + 4], 0
mov dword [ecx], 0
xor ecx, ecx
xor edx, edx
nop
movzx esi, byte [esi + edx]
mov ebx, edx
xor ebx, 0x849c893f
add ebx, ecx
xor ebx, esi
mov edi, 2
sub edi, ebx
sub edi, ebx
not edi
and edi, 2
xor ebx, 1
add ebx, edi
mov esi, dword [ebp - 0x44]
add bl, 0xc4
mov byte [esi + edx], bl
inc edx
add ecx, 2
cmp edx, 0x33
jne 0x429090
add eax, 2
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
test cx, cx
je 0x4290f3
add edx, 2
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4290e0
jmp 0x4290f9
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x429123
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x4c]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429110
jmp 0x429126
mov esi, dword [ebp - 0x4c]
mov word [eax], 0
cmp ebx, 0xfffffff7
jge 0x429140
mov esi, 0xffffffff
jmp 0x429143
add esi, 0x12
push esi
call fcn.004095d0
add esp, 4
mov esi, eax
mov dword [edi], 0x970299cb
mov dword [edi + 4], 0x93189509
mov dword [edi + 8], 0x8f1a910d
mov dword [edi + 0xc], 0x8b148d10
mov word [edi + 0x10], 0x8988
mov eax, dword [ebp - 0x94]
mov word [eax], 0
mov byte [eax + 2], 0
xor eax, eax
movzx ecx, byte [edi + eax]
lea edx, [eax + 0x26]
and edx, ecx
add ecx, eax
add ecx, 0xeff2f67
add edx, edx
mov edi, ecx
sub edi, edx
mov edx, edi
xor edx, 1
add edx, edi
and edi, 0xfe
mov ebx, edx
sub ebx, edi
mov edi, dword [ebp - 0x40]
and ecx, 1
and edx, ecx
or ebx, ecx
add ebx, edx
mov byte [edi + eax], bl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x15
jb 0x429180
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
mov eax, esi
test cx, cx
je 0x4291f1
add edx, 2
mov eax, esi
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 0x4291e0
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0xa0]
je 0x429221
mov edx, dword [ebp - 0x50]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429210
mov word [eax], 0
mov dword [ebx], 0x393a3bea
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0xe51077cb
nop
nop
nop
movzx ecx, byte [ebx + eax + 0x1aef8835]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 9
mov byte [ebx + eax + 0x1aef8835], cl
inc eax
cmp eax, 0xe51077d2
jne 0x429240
push 0
push 0
push 0xc00000
push ebx
mov ebx, dword [ebp - 0x1c]
push ebx
push esi
push dword [ebp + 8]
call fcn.00421980
add esp, 0x1c
mov ecx, dword [ebp - 0x48]
and cl, 1
or cl, al
mov eax, ecx
mov dword [ebp - 0x48], ecx
jmp dword [0x446e34]
push esi
call fcn.004095e0
add esp, 4
jmp dword [0x446e3c]
jmp dword [0x446e3c]
push ebx
call fcn.004095e0
add esp, 4
mov ecx, dword [ebp - 0x38]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x446d64]
push esi
push 4
push eax
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
mov edi, dword [ebp - 0x20]
jmp dword [0x446e04]
push dword [ebp - 0x18]
call fcn.004095e0
add esp, 4
push dword [ebp - 0x18]
call fcn.004095e0
add esp, 4
jmp dword [0x446de4]
jmp dword [0x446de0]
jmp dword [0x446dd4]
push 0xa7ffa4f5
push dword [0x44acd0]
call fcn.0043e7a0
add esp, 8
push dword [edi + 4]
call eax
push 0xa7ffa4f5
push dword [0x44acd0]
call fcn.0043e7a0
add esp, 8
push dword [edi + 4]
call eax
jmp dword [0x446dd0]
push eax
sub esp, 0x10
mov dword [ebp - 0x20], esp
sub esp, 0x18
mov ebx, esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov esi, esp
mov dword [ebx], 0xd797c9e5
mov dword [ebx + 4], 0xd3a2d5a4
mov dword [ebx + 8], 0xdfbfd19c
mov dword [ebx + 0xc], 0xdbbbdda0
mov dword [ebx + 0x10], 0xe7e6d9f5
lea eax, [ebx + 0x14]
mov dword [ebp - 0x40], eax
mov word [ebx + 0x14], 0
mov byte [ebx + 0x16], 0
xor eax, eax
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, edi
xor edx, 0xb2
mov ecx, eax
and ecx, 0x1a
sub ecx, edx
xor cl, byte [ebx + edi]
add cl, 0x7a
mov byte [ebx + edi], cl
inc edi
add eax, 2
cmp edi, 0x17
jne 0x4293a0
mov eax, dword [ebp - 0x20]
mov edi, eax
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, eax
add edi, 0x14
xor ecx, ecx
mov edx, dword [ebp - 0x40]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
push dword [ebp - 0x44]
push 0
push 0
push 9
push eax
push 0
call dword [0x44bcd8]
mov dword [esi], 0x511e1f39
mov eax, 0xc980f45
nop
movzx ecx, byte [esi + eax - 0xc980f45]
xor ecx, eax
mov edx, 0x59
sub edx, ecx
or edx, 1
mov edi, ecx
and edi, 1
add ecx, ecx
sub ecx, edi
add ecx, edx
add cl, 0x4e
mov byte [esi + eax - 0xc980f45], cl
inc eax
cmp eax, 0xc980f49
jne 0x429400
push eax
sub esp, 0x10
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov eax, esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov esi, esp
sub esp, 0x10
mov dword [ebp - 0x14], esp
sub esp, 0x10
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x24], esp
sub esp, 0x20
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x10], esp
sub esp, 0x1c
mov dword [ebp - 0x38], esp
sub esp, 0xc
mov dword [ebp - 0x84], esp
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x20], ecx
push eax
mov dword [ebp - 0x5c], esp
push eax
mov dword [ebp - 0x58], esp
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x60], ecx
sub esp, 8
mov dword [ebp - 0x9c], esp
sub esp, 8
mov dword [ebp - 0x74], esp
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
sub esp, 0x34
mov ecx, esp
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x44], ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x40], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xa0], ecx
mov dword [eax], 0xd797c9e5
mov dword [eax + 4], 0xd3a2d5a4
mov dword [eax + 8], 0xdfbfd19c
mov dword [eax + 0xc], 0xdbbbdda0
mov dword [eax + 0x10], 0xe7e6d9f5
lea ecx, [eax + 0x14]
mov dword [ebp - 0x28], ecx
mov word [eax + 0x14], 0
mov byte [eax + 0x16], 0
xor ebx, ebx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, edi
xor edx, 0xb2
mov ecx, ebx
and ecx, 0x1a
sub ecx, edx
xor cl, byte [eax + edi]
add cl, 0x7a
mov byte [eax + edi], cl
inc edi
add ebx, 2
cmp edi, 0x17
jne 0x429510
mov edx, dword [ebp - 0x1c]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [ebp - 0x28]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
push dword [ebp - 0x3c]
push 0
push 0
push 9
push edx
push 0
call dword [0x44bcd8]
mov dword [esi], 0x511e1f39
mov ecx, 0xc980f45
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx - 0xc980f45]
xor edx, ecx
mov edi, 0x59
sub edi, edx
or edi, 1
mov ebx, edx
and ebx, 1
add edx, edx
sub edx, ebx
add edx, edi
add dl, 0x4e
mov byte [esi + ecx - 0xc980f45], dl
inc ecx
cmp ecx, 0xc980f49
jne 0x429570
jmp dword [0x446d38]
xor ecx, ecx
cmp eax, dword [esi]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446d3c]
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax]
test esi, esi
jns 0x4295c8
mov eax, 0xffffffff
jmp 0x4295cb
lea eax, [esi + esi]
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
push eax
call fcn.004095d0
add esp, 4
push dword [ebp - 0x3c]
push esi
mov dword [ebp - 0x34], eax
push eax
push 9
push dword [ebp - 0x1c]
push 0
call dword [0x44bcd8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d44]
jmp dword [0x446d4c]
push dword [ebp - 0x34]
call fcn.004095e0
add esp, 4
nop
nop
nop
nop
xor eax, eax
jmp dword [0x446d5c]
mov dword [edi], 0x59a55b80
mov dword [edi + 4], 0x5dbb5fad
mov dword [edi + 8], 0x51a453ad
mov dword [edi + 0xc], 0x555657b4
mov eax, 0x70
mov ecx, 0x70
nop
nop
nop
movzx edx, byte [edi + eax - 0x70]
mov esi, ecx
and esi, edx
not edx
or edx, ecx
add edx, eax
add edx, 0x20
or edx, esi
add dl, 0x35
mov byte [edi + eax - 0x70], dl
dec ecx
inc eax
cmp ecx, 0x60
jne 0x429640
mov eax, edi
mov edx, dword [ebp - 0x14]
mov esi, edi
mov edi, edx
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x10
add esi, 0x10
xor edx, edx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, dword [ebp - 0x18]
mov dword [esi], 0xb1e58fc8
mov dword [esi + 4], 0xb5d7b325
mov dword [esi + 8], 0xb924b725
mov dword [esi + 0xc], 0xbdffbbdc
mov dword [esi + 0x10], 0xa1d0bfdf
mov dword [esi + 0x14], 0xa530a3c3
mov dword [esi + 0x18], 0xa9a6a73f
mov eax, esi
add eax, 0x1c
mov dword [esi + 0x1c], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x9d
xor cl, byte [esi + edx]
add cl, 0xef
mov byte [esi + edx], cl
inc edx
cmp edx, 0x20
jne 0x4296d0
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x1c
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebx], 0xc95dcb70
mov dword [ebx + 4], 0xc55bc745
mov dword [ebx + 8], 0xc14cc355
mov dword [ebx + 0xc], 0xbd0ebf5c
mov dword [ebx + 0x10], 0xb904bb10
mov eax, ebx
add eax, 0x14
mov dword [ebx + 0x14], 0xb7b8
mov byte [ebx + 0x18], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x33
xor cl, byte [ebx + edx]
inc cl
mov byte [ebx + edx], cl
inc edx
cmp edx, 0x19
jne case.default.0x4297d9
mov edx, dword [ebp - 0x10]
mov edi, edx
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
add dword [ebp - 0x78], 0x17
mov eax, dword [ebp - 0x54]
lea ecx, [eax + 0x2e]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x50]
lea edx, [ecx + 0x12]
mov dword [ebp - 0x94], edx
add dword [ebp - 0x7c], 4
mov edx, dword [ebp - 0x34]
add edx, 2
mov dword [ebp - 0x68], edx
add dword [ebp - 0x80], 2
add dword [ebp - 0x70], 2
add eax, 2
mov dword [ebp - 0x54], eax
add ecx, 2
mov dword [ebp - 0x50], ecx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x48], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
mov edi, dword [ebp - 0x20]
jmp dword [eax*4 + 0x446d64]
jmp dword [0x446d6c]
push dword [ebp - 0x34]
call fcn.004095e0
add esp, 4
mov eax, dword [ebp - 0x48]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edx]
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x446e64]
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
test esi, esi
jns 0x429832
mov eax, 0xffffffff
jmp 0x429835
lea eax, [esi + esi]
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x30]
push eax
call fcn.004095d0
add esp, 4
push dword [ebp - 0x18]
push esi
mov esi, eax
push eax
push 0x1f
push dword [ebp - 0x28]
push 0
call dword [0x44bcd8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e6c]
xor ebx, ebx
jmp dword [0x446e74]
push esi
call fcn.004095e0
add esp, 4
xor ebx, ebx
jmp case.0x428ccb.53
push 0x60
push 3
push 0x120089
push edi
push esi
call fcn.0043f260
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446e7c]
xor ebx, ebx
jmp dword [0x446f54]
push esi
call fcn.004095e0
add esp, 4
mov eax, dword [case.0x428ccb.53]
nop
nop
jmp eax
mov eax, dword [case.0x428ccb.49]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x428ccb.120]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push dword [ebp - 0x24]
push dword [edi]
call fcn.0043f5d0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x446e84]
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.004095d0
add esp, 4
push 0
push esi
mov dword [ebp - 0x28], eax
push eax
push dword [edi]
call fcn.0043f6c0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x446e8c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov esi, dword [ebp - 0x28]
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x40]
lea ecx, [eax + 0x1b]
mov dword [ebp - 0x58], ecx
inc eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x14], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebx], 0x12eeec16
mov dword [ebx + 4], 0xef508ea
mov word [ebx + 8], 0x4d27
mov byte [ebx + 0xa], 0x62
mov dword [ebx + 0xb], 0
xor eax, eax
mov ecx, eax
add cl, 0xeb
xor cl, byte [ebx + eax]
add cl, 0x69
mov byte [ebx + eax], cl
inc eax
cmp eax, 0xf
jne 0x429980
movzx ecx, byte [ebx]
test cl, cl
je 0x4299d0
mov eax, ebx
mov edi, esi
jmp 0x4299bc
inc edi
mov esi, edi
mov eax, ebx
movzx ecx, byte [eax]
test cl, cl
je 0x4299e2
movzx edx, byte [esi]
test dl, dl
je 0x4299e0
cmp dl, cl
jne 0x4299b0
inc esi
inc eax
jmp 0x4299b5
mov edi, esi
jmp 0x4299e2
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446e94]
lea esi, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor edx, edx
test al, al
je 0x429a12
mov ecx, esi
nop
cmp al, 0x22
je 0x429a10
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x429a00
jmp 0x429a12
mov edx, ecx
mov ecx, edx
sub ecx, esi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x446e9c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x446ea4]
jmp dword [0x446eb4]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x446ebc]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x446ec4]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x446ecc]
mov eax, ecx
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
jns 0x429aa2
mov eax, 0xffffffff
jmp 0x429aa9
mov eax, dword [case.0x429a1e.17]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea eax, [ecx*2 + 2]
push eax
call fcn.004095d0
add esp, 4
mov ebx, eax
push dword [ebp - 0x1c]
push esi
push dword [ebp - 0x18]
push eax
call fcn.0040be80
add esp, 0x10
push 0x60
push 3
push 0x120089
push dword [ebp - 0x2c]
mov dword [ebp - 0x24], ebx
push ebx
call fcn.0043f260
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ee4]
mov eax, dword [ebp - 0x1c]
mov esi, eax
mov ebx, dword [ebp - 0x30]
jmp dword [0x446f34]
push 0
mov ebx, dword [ebp - 0x50]
push ebx
mov eax, dword [ebp - 0x2c]
push dword [eax]
call fcn.0043f5d0
add esp, 0xc
test eax, eax
setns al
mov ebx, dword [ebx]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446eec]
push ebx
call fcn.004095d0
add esp, 4
push 0
push ebx
mov dword [ebp - 0x3c], eax
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax]
call fcn.0043f6c0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ef4]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
jmp 0x429b5d
add eax, 2
test dx, dx
je 0x429b6e
mov ebx, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x429b55
mov ecx, ebx
jmp 0x429b55
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446efc]
mov dword [ebp - 0x34], 0
xor eax, eax
mov ebx, dword [ebp - 0x20]
jmp 0x429ba9
sub ebx, dword [ebp - 0x24]
sar ebx, 1
mov eax, 0xfffffffe
sub eax, ebx
mov edx, ebx
mov ebx, dword [ebp - 0x20]
and eax, ebx
inc edx
mov ecx, ebx
not ecx
mov dword [ebp - 0x34], edx
and ecx, edx
sub eax, ecx
add eax, 0x1b
push eax
call fcn.004095d0
add esp, 4
mov dword [ebp - 0x38], eax
sub ebx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x40]
mov dword [ecx], 0x808e8067
mov dword [ecx + 4], 0x8b718782
mov dword [ecx + 8], 0x92503780
mov dword [ecx + 0xc], 0x5c9f6c94
mov dword [ecx + 0x10], 0x669a9e72
mov dword [ecx + 0x14], 0x58666090
mov word [ecx + 0x18], 0x5659
mov byte [ecx + 0x1a], 6
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, 0xfa
movzx ebx, byte [ecx]
lea edx, [eax - 0x70a05e00]
or edx, ebx
mov dword [ebp - 0x18], edx
mov edx, ebx
not edx
or edx, eax
add edx, ebx
mov ebx, 0xfffffffe
sub ebx, edx
and ebx, dword [ebp - 0x18]
mov edx, 0x6f47ccc9
sub edx, ebx
mov ebx, edx
xor ebx, 0xe4
and edx, 0x1b
add edx, edx
sub edx, ebx
inc dl
mov byte [ecx], dl
inc ecx
dec eax
cmp eax, 0xdc
jne 0x429c05
mov eax, dword [ebp - 0x40]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x38]
test cl, cl
je 0x429c66
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429c5b
mov byte [eax], 0
cmp dword [ebp - 0x20], 0
mov ebx, dword [ebp - 0x14]
je 0x429cca
mov ecx, dword [ebp - 0x34]
add esi, ecx
add edi, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, edx
sub ecx, edi
test cl, 1
je 0x429ca1
mov edx, dword [ebp - 0x20]
mov ecx, edx
not ecx
lea edx, [ecx + edx*2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
inc eax
lea ecx, [edx - 0xb]
cmp ecx, edi
mov edx, dword [ebp - 0x20]
je 0x429cca
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
add eax, 2
add edx, 0xfffffffe
jne 0x429cab
mov byte [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
push dword [eax]
push dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
call fcn.0040a4a0
and bl, 1
or bl, al
mov dword [ebp - 0x14], ebx
jmp dword [0x446f14]
push esi
call fcn.004095e0
add esp, 4
mov esi, dword [ebp - 0x3c]
jmp dword [0x446f1c]
mov esi, dword [ebp - 0x3c]
jmp dword [0x446f1c]
jmp dword [0x446f24]
push dword [ebp - 0x24]
mov esi, eax
call fcn.004095e0
add esp, 4
jmp case.0x429a1e.17
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], 0x181b1a1d
mov ecx, 0x9f5017bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + ecx + 0x60afe7f9]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x59
mov byte [ebp + ecx + 0x60afe7f9], dl
inc ecx
cmp ecx, 0x9f5017bf
jne 0x429d40
mov ecx, dword [0x44bcdc]
test ecx, ecx
mov ebx, dword [ebp - 0x30]
je 0x429d98
mov edx, dword [ebp - 0x4c]
xor esi, esi
mov edi, dword [0x44bce0]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x429d90
inc esi
cmp ecx, esi
jne 0x429d80
jmp 0x429d98
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x429da3
mov eax, dword [ebp - 0x1c]
mov esi, eax
jmp dword [0x446f34]
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov esi, eax
jmp dword [0x446f34]
push esi
call fcn.004095e0
add esp, 4
push esi
call fcn.004095e0
add esp, 4
jmp dword [0x446f2c]
jmp dword [0x446f44]
mov edi, dword [ebp - 0x44]
mov esi, dword [ebp - 0x10]
jmp dword [0x446f4c]
push dword [ebp - 0x28]
call fcn.004095e0
add esp, 4
mov dword [ebp - 0x10], esi
mov eax, dword [edi]
mov dword [ebp - 0x48], 0x181b1a1d
mov ecx, 0x9f5017bb
nop
nop
movzx edx, byte [ebp + ecx + 0x60afe7fd]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x59
mov byte [ebp + ecx + 0x60afe7fd], dl
inc ecx
cmp ecx, 0x9f5017bf
jne 0x429e10
mov ecx, dword [0x44bcdc]
test ecx, ecx
mov ebx, dword [ebp - 0x14]
je 0x429e68
mov edx, dword [ebp - 0x48]
xor esi, esi
mov edi, dword [0x44bce0]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x429e60
inc esi
cmp ecx, esi
jne 0x429e50
jmp 0x429e68
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x429e74
and bl, 1
mov esi, dword [ebp - 0x10]
jmp dword [0x446f54]
push eax
push 4
push ecx
push dword [0x44bce4]
call fcn.0043cba0
add esp, 0x10
and bl, 1
mov esi, dword [ebp - 0x10]
jmp dword [0x446f54]
push eax
sub esp, 0x3c
mov dword [ebp - 0x10], esp
sub esp, 0x44
mov ebx, esp
push eax
mov dword [ebp - 0x18], esp
push eax
mov esi, esp
mov dword [ebx], 0x1353116d
mov dword [ebx + 4], 0x6fde6ddc
mov dword [ebx + 8], 0x6bcb6934
mov dword [ebx + 0xc], 0x67c765e8
mov dword [ebx + 0x10], 0x63c6611d
mov dword [ebx + 0x14], 0x7fc97d2a
mov dword [ebx + 0x18], 0x7bc779f4
mov dword [ebx + 0x1c], 0x77d775c4
mov dword [ebx + 0x20], 0x730971cc
mov dword [ebx + 0x24], 0x4fea4d37
mov dword [ebx + 0x28], 0x4bf749fb
mov dword [ebx + 0x2c], 0x47f545f7
mov dword [ebx + 0x30], 0x43f541f9
mov dword [ebx + 0x34], 0x5f285dea
mov dword [ebx + 0x38], 0x5bef59d0
mov dword [ebx + 0x3c], 0x575655e0
lea edx, [ebx + 0x40]
mov word [ebx + 0x40], 0
mov byte [ebx + 0x42], 0
xor edi, edi
mov dword [ebp - 0x14], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
not eax
and eax, 0x44
mov ecx, edi
and ecx, 0x3b
sub ecx, eax
xor cl, byte [ebx + edi]
add cl, 0x54
mov byte [ebx + edi], cl
inc edi
cmp edi, 0x43
jne 0x429f30
mov eax, dword [ebp - 0x10]
mov edi, eax
mov ecx, 0x10
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, eax
add edi, 0x40
xor ebx, ebx
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
push dword [ebp - 0x18]
push 0
push 0
push 0x1f
push eax
push 0
call dword [0x44bcd8]
mov dword [esi], 0x531211f3
mov ecx, 0x35c96789
mov edi, 0x4a369876
nop
mov dword [ebp - 0x10], ecx
movzx edx, byte [esi + ebx]
mov eax, ebx
xor eax, 0x1f6a5173
lea esi, [ecx + eax]
xor esi, edx
mov ecx, edi
sub ecx, eax
or ecx, esi
mov esi, dword [ebp - 0x14]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x10]
add eax, ecx
add eax, 0xca369901
not ecx
add ecx, edi
and eax, edx
not edx
and edx, ecx
mov ecx, dword [ebp - 0x10]
sub eax, edx
add al, 0x14
mov byte [esi + ebx], al
inc ebx
add ecx, 2
add edi, 0xfffffffe
cmp ebx, 4
jne 0x429f90
push eax
sub esp, 0x3c
mov dword [ebp - 0x28], esp
sub esp, 0x44
mov eax, esp
push eax
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x14], esp
push eax
mov edi, esp
push eax
mov dword [ebp - 0x24], esp
sub esp, 0x10
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x50], esp
sub esp, 0x20
mov dword [ebp - 0x40], esp
mov dword [eax], 0x1353116d
mov dword [eax + 4], 0x6fde6ddc
mov dword [eax + 8], 0x6bcb6934
mov dword [eax + 0xc], 0x67c765e8
mov dword [eax + 0x10], 0x63c6611d
mov dword [eax + 0x14], 0x7fc97d2a
mov dword [eax + 0x18], 0x7bc779f4
mov dword [eax + 0x1c], 0x77d775c4
mov dword [eax + 0x20], 0x730971cc
mov dword [eax + 0x24], 0x4fea4d37
mov dword [eax + 0x28], 0x4bf749fb
mov dword [eax + 0x2c], 0x47f545f7
mov dword [eax + 0x30], 0x43f541f9
mov dword [eax + 0x34], 0x5f285dea
mov dword [eax + 0x38], 0x5bef59d0
mov dword [eax + 0x3c], 0x575655e0
lea edx, [eax + 0x40]
mov word [eax + 0x40], 0
mov byte [eax + 0x42], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
not esi
and esi, 0x44
mov ebx, ecx
and ebx, 0x3b
sub ebx, esi
xor bl, byte [eax + ecx]
add bl, 0x54
mov byte [eax + ecx], bl
inc ecx
cmp ecx, 0x43
jne 0x42a090
mov dword [ebp - 0x44], edi
mov ebx, dword [ebp - 0x28]
mov edi, ebx
mov ecx, 0x10
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, ebx
add edi, 0x40
xor esi, esi
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
push dword [ebp - 0x18]
push 0
push 0
push 0x1f
push ebx
push 0
call dword [0x44bcd8]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x531211f3
mov ecx, 0x35c96789
mov eax, 0x4a369876
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x10], ecx
movzx edi, byte [edx + esi]
mov ebx, esi
xor ebx, 0x1f6a5173
mov ecx, dword [ebp - 0x10]
add ecx, ebx
xor ecx, edi
mov edx, eax
sub edx, ebx
or edx, ecx
lea ecx, [ebx + edx*2]
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
add ebx, ecx
add ebx, 0xca369901
not ecx
add ecx, eax
and ebx, edi
not edi
and edi, ecx
mov ecx, dword [ebp - 0x10]
sub ebx, edi
add bl, 0x14
mov byte [edx + esi], bl
inc esi
add ecx, 2
add eax, 0xfffffffe
cmp esi, 4
jne 0x42a100
jmp dword [0x446e5c]
ja 0x446bd5
add byte [eax + 0x78], ah
inc edx
add byte [ecx + 0x78], bh
inc edx
add byte [eax - 0x76ffbd87], al
js 0x446be5
add byte [edi - 0x2bffbd87], bl
jns 0x446bed
add byte [ebx], ah
xchg byte [edx], al
std
jns 0x446bf5
add byte [0x3a004286], cl
jp 0x446bfd
add byte [edx + 0x7b], cl
inc edx
add byte [edi + 0x4a00427a], dl
jnp 0x446c09
add byte [ebx + edi*2 + 0x42], bl
add byte [edx + 0x7b], cl
jnp 0x446c11
jnp 0x446c11
add byte [edx + 0x5600427b], dh
jnp 0x446c19
add byte [0xb004286], cl
xchg dword [edx], eax
sti
xchg byte [edx], al
sti
xchg byte [edx], al
or eax, 0x15004286
xchg byte [edx], al
and eax, dword [esi + 0x79a90042]
inc edx
jns 0x446c39
add byte [edx - 0x57ffbd7a], ah
add dword [edx], case.0x427bab.13
cmp al, byte [ebx - 0x7931ffbe]
inc edx
add byte [ebx - 0x7d], bh
xchg byte [edx], al
jnp 0x446b91
inc edx
add byte [ecx - 0x7cffbd7d], cl
add dword [edx], 0xffffff83
add dword [edx], 0xffffffce
xchg byte [edx], al
sub al, byte [edi - 0x78deffbe]
inc edx
add byte [ecx], ah
xchg dword [edx], eax
into
xchg byte [edx], al
jecxz 0x446bb1
inc edx
add al, ah
test byte [edx], al
or ecx, dword [eax - 0x780dffbe]
inc edx
add byte [edx], ch
mov byte [edx], al
xacquire xchg dword [edx], eax
inc ebp
mov byte [edx], al
push esi
xchg dword [edx], eax
cmp eax, dword [edi - 0x786effbe]
inc edx
add ch, dh
xchg dword [edx], eax
sub cl, byte [eax - 0x780dffbe]
inc edx
add byte [ebp - 0x78], al
inc edx
add byte [esi - 0x79], dl
inc edx
add byte [ebx], bh
xchg dword [edx], eax
xchg ecx, eax
xchg dword [edx], eax
cmc
xchg byte [edx], al
sub al, 0x85
inc edx
add ch, dh
xchg byte [edx], al
mov edi, 0xde004285
test dword [edx], eax
sar byte [ebp + 0x42], cl
add dl, ch
test dword [edx], eax
ljmp 0x4285
xchg ebx, eax
inc edx
add dl, dl
mov word [edx], es
mov esp, 0xdf00428e
mov es, word [edx]
ret 0x428e
lcall 0x42, 0x9a900042
inc eax
lcall 66, 0x9a900042
inc eax
lcall 66, 0x9a400042
inc esi
lcall 66, 0x9a400042
push esi
lcall 66, 0x9a900042
lcall 0x9a90, 0x42
inc edx
add byte [esi - 0x66], dh
inc edx
add byte [eax - 0x5fffbd66], dl
lcall 0x42, 0x9aa00042
mov al, byte [0x6000429a]
cdq
inc edx
add al, ch
lcall 0x42, 0x9af60042
and bl, byte [ebp - 0x64daffbe]
inc edx
add byte [ecx], al
popfd
inc edx
add byte [esi - 0x65], cl
inc edx
add byte [ebx + ebx*4 + 0x42], bh
add byte [edx + 0x100429b], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x10ffbd65], cl
pushfd
inc edx
add byte [ecx], al
popfd
inc edx
add byte [edx], cl
popfd
inc edx
add byte [edx], ah
popfd
inc edx
add cl, cl
popfd
inc edx
add al, al
popfd
inc edx
add byte [edx], ah
popfd
inc edx
add al, al
popfd
inc edx
add byte [eax], dl
popfd
inc edx
add byte [eax - 0x67], ah
inc edx
add al, ah
popfd
inc edx
add al, ah
popfd
inc edx
add dh, ah
popfd
inc edx
add al, ah
popfd
inc edx
add dl, dh
popfd
inc edx
add ch, bh
popfd
inc edx
add byte [eax - 0x56ffbd68], ah
cwde
inc edx
add byte [eax - 0x4fffbd68], dh
cwde
inc edx
add byte [eax - 0x4dffbd68], dh
cwde
inc edx
add al, al
cwde
inc edx
add al, al
cwde
inc edx
add dl, al
cwde
inc edx
add al, al
cwde
inc edx
add al, dl
cwde
inc edx
add al, dl
cwde
inc edx
add dl, dl
cwde
inc edx
add al, dl
cwde
inc edx
add byte [eax], al
add byte [eax], al
add byte [edi + 0x1d011b50], bh
push ebx
sbb eax, dword [ecx]
lea edx, [eax + 0x1b]
add dword [ebp + 0x2f011b50], ecx
push ecx
sbb eax, dword [ecx]
mov esi, 0xa4011b76
js 0x446fc6
add edx, ecx
js 0x446fca
add eax, ebx
sbb byte [ebx], 1
pop esp
jns 0x446fd2
add dword [esp + esi*2 + 0x78ed011b], edi
sbb eax, dword [ecx]
mov esp, 0x43011b74
insd dword es:[edi], dx
sbb eax, dword [ecx]
iretd
sbb eax, dword [ecx]
int 0x6e
sbb eax, dword [ecx]
mov edx, 0xaa011b50
sbb eax, dword [ecx]
stosb byte es:[edi], al
pop edx
sbb eax, dword [ecx]
int1
insb byte es:[edi], dx
sbb eax, dword [ecx]
or dword [ebx + 0x1b], ebx
add edx, ebx
pop ebp
sbb eax, dword [ecx]
rcr dword [ebp + 0x1b], cl
add dword [eax + ebx*2 + 0x1b], esp
add dword [eax + ebx*2 + 0x1b], esp
add dword [edx - 0x27fee4a8], esi
sbb byte [ebx], 1
fadd dword [eax + 0x5974011b]
sbb eax, dword [ecx]
fistp dword [eax + 0x1b]
add edx, ecx
pop ecx
sbb eax, dword [ecx]
cli
pop eax
sbb eax, dword [ecx]
das
pop edx
sbb eax, dword [ecx]
inc esp
pop eax
sbb eax, dword [ecx]
jb 0x447070
sbb eax, dword [ecx]
mov bl, byte [edx + 0x1b]
add esi, ebp
push 0x6913011b
sbb eax, dword [ecx]
adc ebp, dword [ecx + 0x1b]
add dword [ebp + 0x13011b64], eax
imul ebx, dword [ebx], 0x1b80d801
add dword [ebp + 0x1b], eax
add eax, ebx
sbb byte [ebx], 1
pop edi
sbb eax, dword gs:[ecx]
pop edi
sbb eax, dword gs:[ecx]
test byte [ebp + 0x1b], ah
add dword [ecx + 0x3a011b65], esp
sbb eax, dword [bx + di]
mov bl, 0x68
sbb eax, dword [ecx]
iretd
push ecx
push esi
sbb eax, dword [ecx]
rcl byte [esi + 0x1b], 1
add al, 0x57
sbb eax, dword [ecx]
loop 0x4470d4
sbb eax, dword [ecx]
sub al, 0x58
sbb eax, dword [ecx]
test dword [esi + 0x1b], edx
add dword [ebp + 0x2c011b56], eax
pop eax
sbb eax, dword [ecx]
mov al, byte [0x2c011b55]
pop eax
sbb eax, dword [ecx]
sar dword [ecx + 0x1b], 1
imul dword [edi + 0x1b]
add dword [ecx], ebx
jo 0x4470be
add dword [ecx], edx
jo 0x4470c2
add dword [ebx - 0x4bfee48c], ebp
je 0x4470ca
add dword [esp + esi*2 + 0x50d8011b], esi
sbb eax, dword [ecx]
out 0x74, eax
sbb eax, dword [ecx]
fisubr word [eax + 0x1b]
add dword [ecx - 0xffee49b], edi
sbb eax, dword [ecx]
mov ecx, 0xf0011b65
sbb eax, dword [ecx]
invalid
push ebp
sbb eax, dword [ecx]
pop ebx
jge 0x4470e6
sbb eax, dword [ecx]
into
add esi, ecx
movsb byte es:[edi], byte es:[esi]
add byte [eax + esi + 0x220400a4], cl
add al, 0x22
movsb byte es:[edi], byte [esi]
add byte [esp + esi - 0x5c], ah
add byte [edx - 0x54ff5bea], ch
movsb byte es:[edi], byte ss:[esi]
add al, cl
pop ds
movsb byte es:[edi], byte [esi]
add cl, al
xor eax, 0x398900a4
movsb byte es:[edi], byte [esi]
add byte [edi], cl
push ss
movsb byte es:[edi], byte [esi]
add byte [edx + 0x36], cl
movsb byte es:[edi], byte [esi]
add byte [ebp + 0x5f00a423], ah
push ds
movsb byte es:[edi], byte [esi]
add byte [eax - 0x6dff5bd9], bh
xor eax, 0x2b1f00a4
movsb byte es:[edi], byte [esi]
add byte [esi + 0x6800a41e], dh
sbb ah, byte [eax + eax + 0xa41e8d]
jp 0x447146
movsb byte es:[edi], byte [esi]
add byte [eax + ebx - 0x5c], dh
add byte [ecx + 0x16], al
movsb byte es:[edi], byte [esi]
add cl, al
xor al, 0xa4
add byte [esi - 0x5c], ch
add byte [eax - 0x62ff5beb], ch
sub dword [eax + eax + 0xa4269d], esp
cmp byte [esi], ah
movsb byte es:[edi], byte [esi]
add byte [edi + esi], bl
movsb byte es:[edi], byte [esi]
add ah, ch
xor eax, 0x251f00a4
movsb byte es:[edi], byte [esi]
add byte [ecx], dl
movsb byte es:[edi], byte ss:[esi]
add byte [ebx + 0x2000a42c], bh
sbb ah, byte [eax + eax + 0xa415dc]
push esp
adc eax, 0x24fa00a4
movsb byte es:[edi], byte [esi]
add dh, ah
xor al, 0xa4
add byte [edx], dl
pop ds
movsb byte es:[edi], byte [esi]
add byte [ecx + 0xf00a41f], bl
push ds
movsb byte es:[edi], byte [esi]
add byte [ebx + 0x18], al
movsb byte es:[edi], byte [esi]
add byte [ebp + 0x37], dh
movsb byte es:[edi], byte [esi]
add ah, ah
push ds
movsb byte es:[edi], byte [esi]
add byte [edi + ebx - 0x5c], cl
movsb byte es:[edi], byte [esi]
add byte [ebp + 0x3300a415], dl
xor eax, 0x37b200a4
movsb byte es:[edi], byte [esi]
add byte [edx + 0x7900a430], bh
push ss
movsb byte es:[edi], byte [esi]
add byte [eax + ebx + 0x24b600a4], ch
movsb byte es:[edi], byte [esi]
add ah, bh
pop ss
movsb byte es:[edi], byte [esi]
add byte [edi], dl
jb 0x44717e
add byte [edx + 0x69], bh
fild dword [eax]
out dx, eax
outsb dx, byte [esi]
fild dword [eax]
shl byte [edi - 0x25], 1
add byte [esi + 0x600db69], ah
fild dword fs:[eax]
mov ebp, dword [ebp - 0x25]
add byte [esi + 0x71], bh
fild dword [eax]
mov byte [0x7f00db66], al
push 0x67ac00db
fild dword [eax]
push ebx
push 0x650300db
fild dword [eax]
cli
fild dword [eax]
add esp, dword [ebp - 0x25]
add dl, bh
fild dword [eax]
sub eax, 0xd800db6c
arpl bx, bx
add byte [ebp + 0x2700db64], dl
fild dword [eax]
daa
imul ebx, ebx, 0xdb6dbf00
add byte [ecx + 0x66], dh
fild dword [eax]
out dx, al
jb 0x4471ce
add byte [ebx + 0x69], cl
fild dword [eax]
mov edi, 0xf900db6e
push 0x677400db
fild dword [eax]
je 0x447269
fild dword [eax]
bnd jno 0x4471e2
add ch, cl
fild dword [eax]
mov dl, 0x68
fild dword [eax]
pop eax
fild dword fs:[eax]
add ebp, dword [esi - 0x25]
add bl, bh
insd dword es:[edi], dx
fild dword [eax]
out 0x70, al
fild dword [eax]
xchg edx, eax
jo 0x4471fe
add byte [edx + 0x6e], cl
fild dword [eax]
das
fild dword fs:[eax]
cld
inc ebx
add byte [ebx - 0x29ffbcc8], dl
xor eax, dword [ebx]
cwde
xor eax, 0x353b0043
inc ebx
add dl, ch
cmp dword [ebx], eax
dec edi
cmp dword [ebx], eax
xor al, 0x43
add byte [ebx + 0x33], dl
inc ebx
add bl, cl
xor al, byte [ebx]
pop edi
aaa
inc ebx
add byte [edx + 0x2e], bh
inc ebx
add byte [ebx - 0x2fffbccd], bl
das
inc ebx
add byte [eax + edi + 0x43], ch
add byte [edi + ebp + 0x36a00043], ch
inc ebx
add byte [edi], dl
das
inc ebx
add byte [eax + 0x17004336], ah
xor eax, 0x39010043
inc ebx
add byte [edx], bh
das
inc ebx
add al, bl
inc ebx
add byte [ecx], dl
cmp al, byte [ebx]
ret