Function at 0x10056d30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [0x1007634c]
mov esi, dword [0x10076350]
mov edx, eax
xor edx, esi
mov edi, eax
or edi, esi
add edi, edi
mov ecx, edx
sub ecx, edi
add ecx, edx
mov edx, dword [0x10077d68]
and eax, esi
not eax
add eax, eax
sub ecx, eax
add ecx, 8
cmp dword [0x10077d64], ecx
setl al
setge cl
mov esi, edx
not esi
add esi, edx
add esi, edx
imul esi, edx
mov edx, dword [0x10076358]
mov edi, edx
not edi
or edi, edx
mov edx, dword [0x10076354]
and edi, edx
sub edi, edx
and esi, 1
cmp esi, edi
sete dl
and dl, cl
add dl, al
mov ebx, dword [ebp + 8]
test dl, 1
je 0x10056f74
push eax
mov dword [ebp - 0x1c], esp
mov dword [ebx], 0
mov eax, dword [0x10076364]
mov ecx, dword [0x10076368]
mov edx, eax
and edx, ecx
mov esi, eax
xor esi, ecx
add esi, edx
or eax, ecx
sub esi, eax
mov dword [ebx + 4], esi
movaps xmm0, xmmword [0x100671d0]
movups xmmword [ebx + 8], xmm0
movaps xmm0, xmmword [0x100671e0]
movups xmmword [ebx + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [ebx + 0x28], xmm0
movaps xmm0, xmmword [0x10067200]
movups xmmword [ebx + 0x38], xmm0
movaps xmm0, xmmword [0x10067210]
movups xmmword [ebx + 0x48], xmm0
movaps xmm0, xmmword [0x10067220]
movups xmmword [ebx + 0x58], xmm0
movaps xmm0, xmmword [0x10067230]
movups xmmword [ebx + 0x68], xmm0
movaps xmm0, xmmword [0x10067240]
movups xmmword [ebx + 0x78], xmm0
movaps xmm0, xmmword [0x10067250]
movups xmmword [ebx + 0x88], xmm0
movaps xmm0, xmmword [0x10067260]
movups xmmword [ebx + 0x98], xmm0
movaps xmm0, xmmword [0x10067270]
movups xmmword [ebx + 0xa8], xmm0
movaps xmm0, xmmword [0x10067280]
movups xmmword [ebx + 0xb8], xmm0
movaps xmm0, xmmword [0x10067290]
movups xmmword [ebx + 0xc8], xmm0
movaps xmm0, xmmword [0x100672a0]
movups xmmword [ebx + 0xd8], xmm0
movaps xmm0, xmmword [0x100672b0]
movups xmmword [ebx + 0xe8], xmm0
movaps xmm0, xmmword [0x100672c0]
movups xmmword [ebx + 0xf8], xmm0
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
mov dword [eax], 0x7f7bf95b
push eax
mov esi, esp
mov eax, dword [0x10076374]
mov ecx, dword [0x10076378]
mov edx, eax
not edx
and edx, ecx
add edx, eax
or eax, ecx
sub edx, eax
mov dword [ebp - 0x34], esi
mov dword [esi], edx
push eax
mov edi, esp
mov eax, dword [0x1007637c]
mov ecx, dword [0x10076380]
mov edx, eax
not edx
mov esi, edx
or esi, ecx
sub esi, edx
and eax, ecx
sub esi, eax
mov dword [ebp - 0x30], edi
mov dword [edi], esi
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [eax], 0
push eax
mov dword [ebp - 0x10], esp
mov edx, dword [0x1007638c]
mov eax, dword [0x10076390]
mov ecx, eax
not ecx
and ecx, edx
mov esi, edx
not esi
mov edi, esi
and edi, eax
sub ecx, edi
xor edx, eax
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
or esi, eax
lea eax, [ecx + esi*2]
add eax, 0x80529527
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov ecx, dword [0x10076394]
mov edx, dword [0x10076398]
mov eax, ecx
or eax, edx
not eax
add eax, ecx
not edx
or edx, ecx
mov ecx, dword [0x10077d60]
sub eax, edx
add eax, 0xa
cmp dword [0x10077d5c], eax
lea eax, [ecx + ecx]
mov edx, ecx
not edx
lea eax, [edx + eax + 0x2e13c510]
setl dl
imul eax, ecx
test al, 1
sete al
or al, dl
cmp al, 1
je 0x10058490
push eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
movaps xmm0, xmmword [0x100671d0]
movups xmmword [ebx + 8], xmm0
movaps xmm0, xmmword [0x100671e0]
movups xmmword [ebx + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [ebx + 0x28], xmm0
movaps xmm0, xmmword [0x10067200]
movups xmmword [ebx + 0x38], xmm0
movaps xmm0, xmmword [0x10067210]
movups xmmword [ebx + 0x48], xmm0
movaps xmm0, xmmword [0x10067220]
movups xmmword [ebx + 0x58], xmm0
movaps xmm0, xmmword [0x10067230]
movups xmmword [ebx + 0x68], xmm0
movaps xmm0, xmmword [0x10067240]
movups xmmword [ebx + 0x78], xmm0
movaps xmm0, xmmword [0x10067250]
movups xmmword [ebx + 0x88], xmm0
movaps xmm0, xmmword [0x10067260]
movups xmmword [ebx + 0x98], xmm0
movaps xmm0, xmmword [0x10067270]
movups xmmword [ebx + 0xa8], xmm0
movaps xmm0, xmmword [0x10067280]
movups xmmword [ebx + 0xb8], xmm0
movaps xmm0, xmmword [0x10067290]
movups xmmword [ebx + 0xc8], xmm0
movaps xmm0, xmmword [0x100672a0]
movups xmmword [ebx + 0xd8], xmm0
movaps xmm0, xmmword [0x100672b0]
movups xmmword [ebx + 0xe8], xmm0
movaps xmm0, xmmword [0x100672c0]
movups xmmword [ebx + 0xf8], xmm0
push eax
mov eax, esp
mov ecx, dword [0x1007657c]
mov edx, dword [0x10076580]
mov esi, ecx
xor esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
not edx
add esi, edx
or edx, ecx
add edx, edx
sub esi, edx
add ecx, esi
add ecx, 0x7f7bf95c
mov dword [eax], ecx
push eax
mov eax, esp
mov ecx, dword [0x10076584]
mov edx, dword [0x10076588]
mov edi, ecx
sub edi, edx
sub edi, edx
mov esi, ecx
xor esi, edx
add esi, edi
add esi, edx
not ecx
or ecx, edx
lea ecx, [esi + ecx*2]
add ecx, 2
mov dword [eax], ecx
push eax
mov eax, esp
mov ecx, dword [str.R_45_]
mov esi, dword [0x10076590]
mov edx, ecx
not edx
mov edi, edx
xor edi, ecx
and edi, esi
xor edi, ecx
or ecx, esi
sub ecx, edi
add ecx, edx
or edx, esi
sub ecx, edx
mov dword [eax], ecx
push eax
mov eax, esp
mov dword [eax], 0
push eax
mov eax, esp
mov dword [eax], 0x80529527
jmp 0x10056daa
mov ecx, dword [0x10077d58]
mov eax, dword [0x100763d4]
mov edx, dword [0x100763d8]
mov esi, eax
and esi, edx
not edx
add esi, edx
or edx, eax
sub esi, edx
add esi, 0xa
cmp dword [0x10077d54], esi
setl al
mov ebx, ecx
not ebx
add ebx, ecx
add ebx, ecx
imul ebx, ecx
test bl, 1
sete cl
mov edx, eax
and dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
xor al, cl
not al
add al, ah
test al, 1
je 0x100570e0
jmp 0x10057330
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x100763f8]
mov ecx, eax
not ecx
lea eax, [eax + ecx + 0x46fed8d9]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov edx, dword [0x10077d50]
cmp dword [0x10077d4c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x10076404]
mov esi, dword [str._j_n_]
mov edi, edx
not edi
and edi, esi
not esi
or esi, edx
lea edx, [edi + esi]
add edx, 1
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
xor ah, dl
add ah, al
mov ch, al
or ch, dl
add ch, ah
or cl, al
add cl, ch
and al, dl
not al
add al, cl
test al, 1
jne 0x10057330
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x46fed8d8
jmp 0x10057137
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1007646c]
mov esi, dword [0x10076470]
mov edx, ecx
not edx
mov edi, edx
xor edi, ecx
and edi, esi
xor edi, ecx
or ecx, esi
sub ecx, edi
add ecx, edx
or edx, esi
sub ecx, edx
add ecx, 0x2fd766c9
cmp eax, ecx
mov eax, 0x11978edc
mov ecx, 0x5b1b3215
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
cmp dword [0x10077d48], 0xa
mov edx, dword [0x10077d44]
setl al
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
and cl, al
add cl, al
mov ah, al
or ah, dl
add cl, ah
not ah
add ah, cl
xor al, dl
not al
add al, ah
test al, 1
jne 0x10057330
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100765bc]
mov edx, dword [0x100765c0]
mov esi, edx
not esi
mov edi, ecx
and edi, esi
add edi, edi
mov ebx, ecx
xor ebx, edx
add ebx, ebx
sub edi, ebx
or edx, ecx
add edx, edi
or esi, ecx
sub edx, esi
not ecx
add ecx, edx
add ecx, 0x2fd766c9
cmp eax, ecx
mov eax, 0x11978edc
mov ecx, 0x5b1b3215
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x100571c9
mov eax, dword [0x10076534]
mov edx, dword [0x10076538]
mov ecx, eax
and ecx, edx
mov edi, eax
or edi, edx
sub edi, ecx
sub edi, ecx
xor eax, edx
not eax
add eax, edi
cmp dword [0x10077d40], 0xa
mov edi, dword [0x10077d3c]
setl dl
lea esi, [edi - 1]
imul esi, edi
mov edi, dword [0x10076544]
mov ebx, edi
not ebx
or ebx, edi
and esi, 1
not ebx
and ebx, dword [0x10076548]
cmp esi, ebx
lea eax, [ecx + eax - 0x7fad6ad8]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
sete al
setne cl
or al, dl
and dl, cl
add dl, al
not al
add al, dl
add al, cl
add al, 1
test al, 1
je 0x10057330
mov ecx, dword [0x100765e4]
mov edx, dword [0x100765e8]
mov eax, ecx
or eax, edx
not eax
add eax, ecx
not edx
or edx, ecx
sub eax, edx
add eax, 0x80529527
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10057290
mov eax, dword [0x10077d38]
mov ecx, dword [0x1007655c]
mov esi, dword [str.O8LW]
mov edx, ecx
not edx
mov edi, edx
and edi, esi
xor ecx, esi
not ecx
add ecx, edi
or edx, esi
sub ecx, edx
add ecx, 0xa
cmp dword [0x10077d34], ecx
setl cl
lea edx, [eax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
je 0x10057330
jmp 0x10058490
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x7f7bf95b
mov ecx, 0x54a43c34
mov eax, 0xc94664f0
cmovl ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [0x10076424]
mov esi, dword [0x10076428]
mov edx, ecx
and edx, esi
mov edi, ecx
or edi, esi
sub edi, edx
sub edi, edx
xor ecx, esi
not ecx
add ecx, edi
add ecx, edx
add ecx, 0xb
cmp dword [0x10077d30], ecx
mov edi, dword [0x10077d2c]
setge cl
setl dl
lea esi, [edi + 1]
imul esi, edi
mov edi, dword [0x1007642c]
mov ebx, edi
not ebx
mov eax, dword [0x10076430]
mov dword [ebp - 0x14], eax
mov eax, ebx
and eax, dword [ebp - 0x14]
or edi, dword [ebp - 0x14]
not edi
add edi, eax
sub edi, ebx
and esi, 1
cmp esi, edi
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x24]
mov dword [eax], esi
sete al
mov ah, dl
and ah, al
and cl, al
add cl, ah
add cl, al
or dl, al
add dl, cl
test dl, 1
jne 0x10057330
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x100765ac]
mov edx, dword [0x100765b0]
mov esi, edx
not esi
and esi, ecx
sub esi, ecx
mov edi, ecx
or edi, edx
add edi, esi
xor ecx, edx
not ecx
add ecx, edi
add ecx, 0x7f7bf95c
cmp eax, ecx
mov eax, 0x54a43c34
mov ecx, 0xc94664f0
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10057374
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x10076444]
mov edx, dword [0x10076448]
mov esi, edx
not esi
and esi, ecx
not ecx
or ecx, edx
add ecx, esi
add ecx, 0x7f7bf95c
cmp eax, ecx
mov eax, 0x11978edc
mov ecx, 0x8001a23d
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [0x1007644c]
mov edx, dword [0x10076450]
mov ecx, eax
not ecx
mov esi, ecx
and esi, edx
xor eax, edx
not eax
add eax, esi
or ecx, edx
sub eax, ecx
mov ecx, dword [0x10077d28]
add eax, 0xa
cmp dword [0x10077d24], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
or cl, al
jne 0x10057330
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov esi, dword [0x100765b4]
mov ecx, dword [0x100765b8]
mov edx, esi
and edx, ecx
mov edi, ecx
not edi
mov ebx, esi
xor ebx, ecx
or ecx, edi
and ecx, esi
sub ecx, ebx
or edi, esi
sub ecx, edi
not edx
add ecx, edx
add ecx, 0x7f7bf95b
cmp eax, ecx
mov eax, 0x11978edc
mov ecx, 0x8001a23d
cmove eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x10057454
mov eax, dword [0x10076494]
mov ecx, dword [0x10076498]
mov edx, eax
not edx
mov esi, edx
and esi, ecx
add esi, esi
xor eax, ecx
sub ecx, esi
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb819ebde
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov ecx, dword [0x10077d20]
mov eax, dword [0x1007649c]
and eax, dword [0x100764a0]
mov edx, eax
not edx
add eax, edx
add eax, 0xb
cmp dword [0x10077d1c], eax
setl al
mov edx, ecx
not edx
mov esi, edx
and esi, 1
mov edi, ecx
sub edi, esi
mov esi, ecx
xor esi, 1
add esi, edi
and edx, 0xfffffffe
add edx, esi
add edx, 3
imul edx, ecx
test dl, 1
sete cl
mov ah, al
and ah, dl
mov ch, al
xor ch, cl
or cl, al
or al, dl
add ch, ah
add cl, ch
add al, cl
add al, 1
test al, 1
jne 0x10057330
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xb819ebdd
jmp 0x10057518
mov ecx, dword [0x100764bc]
mov edx, dword [0x100764c0]
mov eax, ecx
xor eax, ecx
not eax
and eax, edx
xor eax, ecx
xor ecx, edx
sub eax, ecx
add eax, 0x23c6562b
mov ecx, dword [0x100764c4]
mov esi, dword [0x100764c8]
mov edx, ecx
mov edi, ecx
or edi, esi
not ecx
or ecx, esi
not esi
and edx, esi
add edx, edx
sub edx, edi
mov edi, dword [0x10077d18]
sub edx, esi
add ecx, edx
add ecx, 0xa
cmp dword [0x10077d14], ecx
setl cl
lea edx, [edi - 0x86ba019]
imul edx, edi
mov esi, dword [0x100764d0]
mov edi, esi
not edi
mov ebx, dword [0x100764cc]
and edi, ebx
add edi, esi
or ebx, esi
sub ebx, edi
and edx, 1
cmp edx, ebx
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
setne al
sete dl
mov ah, cl
xor ah, dl
add ah, dl
or dl, cl
add ah, dl
not dl
add dl, ah
or al, cl
add al, dl
test al, 1
jne 0x10057330
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x23c6562b
jmp 0x100575b2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ecx]
mov dword [ebp - 0x20], edi
cmp edx, dword [ebp + 0x10]
mov ecx, 0
cmovae edx, ecx
mov dword [ebp - 0x24], edx
mov edx, eax
not edx
mov ecx, eax
or ecx, edx
mov esi, dword [ebp + 8]
movzx ebx, byte [esi + edi + 8]
mov dword [ebp - 0x14], ebx
mov edi, ecx
and edi, ebx
sub edi, ebx
mov esi, eax
xor esi, ebx
add esi, edi
and esi, eax
mov edi, esi
or edi, 0xd50b356e
add edi, esi
not esi
or esi, 0xd50b356e
lea ebx, [edi + esi]
add esi, edi
add esi, 0x2af4ca93
mov edi, esi
and edi, 0x390d6c45
add edi, ebx
add edi, 0x2af4ca93
not esi
and esi, 0x390d6c45
add esi, edi
and ecx, esi
add ecx, esi
add ecx, eax
sub ecx, esi
mov esi, ecx
not esi
and esi, 0x390d6c45
lea esi, [esi + ecx*2]
or ecx, 0x390d6c45
sub esi, ecx
lea ecx, [eax + edx*2]
lea eax, [eax + edx*2]
add eax, 1
not eax
lea eax, [eax + ecx*2]
add eax, 2
mov edi, 0xfffffffe
sub edi, eax
mov eax, dword [ebp - 0x14]
not eax
mov ebx, edi
and ebx, eax
mov ecx, edi
or ecx, eax
add ecx, ebx
not edi
add ecx, edi
or edi, eax
sub ecx, edi
lea edi, [esi - 0x390d6c45]
mov ebx, edi
and ebx, 0x6b02cfaf
add esi, ebx
add esi, 0xc6f293bb
not edi
and edi, 0x6b02cfaf
add edi, esi
not ecx
add ecx, edi
add ecx, 0x94fd3051
lea esi, [eax + eax]
mov ebx, dword [ebp - 0x14]
lea esi, [esi + ebx*2]
mov dword [ebp - 0x18], esi
mov edi, edx
and edi, eax
mov esi, ebx
or esi, edx
or edx, eax
sub eax, dword [ebp - 0x18]
not ecx
add ecx, eax
lea eax, [ecx + ecx]
sub ecx, eax
lea eax, [ebx + edi*2]
sub eax, esi
sub ecx, eax
not eax
add eax, eax
sub ecx, eax
lea eax, [ecx - 0x72d0f477]
mov esi, eax
not esi
and esi, 0x8d2f0b8b
add ecx, esi
add ecx, 0x8d2f0b89
mov esi, edx
not esi
or edx, esi
and edx, 0x9793c4ee
mov edi, esi
and edi, 0x11
or edx, edi
sub edx, esi
mov esi, edx
or edx, edi
not edi
and esi, edi
add esi, edx
not edx
add edx, esi
sub edx, edi
or eax, 0x72d0f474
lea esi, [ecx + eax]
add eax, ecx
add eax, 0x40704887
xor edx, 0x686c3b11
lea ecx, [edx - 1]
and ecx, eax
add ecx, esi
add ecx, 0x40704887
sub ecx, edx
neg edx
not eax
or eax, edx
lea edx, [ecx + eax]
lea esi, [ecx + eax]
add esi, 1
mov eax, esi
not eax
mov ecx, eax
and ecx, 0xcd9f5411
add ecx, edx
add ecx, 1
xor esi, 0x3260abee
add esi, ecx
or eax, 0xcd9f5411
sub esi, eax
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
movzx edi, byte [eax + ecx]
mov dword [ebp - 0x18], edi
not edi
lea ebx, [esi + 0x3260abef]
mov eax, ebx
xor eax, edi
mov ecx, ebx
not ecx
mov dword [ebp - 0x28], ecx
mov esi, ebx
or esi, ecx
and esi, eax
sub esi, eax
mov ecx, eax
or ecx, ebx
add ecx, esi
xor eax, ebx
sub ecx, eax
mov edx, ecx
not edx
mov esi, edx
and esi, 0x5e037386
lea esi, [ecx + esi*2]
mov eax, ecx
xor eax, 0x5e037386
add eax, eax
sub esi, eax
or ecx, 0x5e037386
add ecx, esi
or edx, 0x5e037386
sub ecx, edx
mov eax, dword [ebp - 0x3c]
add eax, eax
add eax, 0x64c157de
mov esi, ebx
sub esi, eax
lea edx, [ecx - 0x5e037387]
and edx, esi
lea eax, [edx + ecx]
add eax, 0xa1fc8c79
sub eax, esi
not edx
add edx, eax
mov eax, ebx
xor eax, 0x3b3b1907
mov esi, dword [ebp - 0x28]
add eax, esi
mov ecx, ebx
xor ecx, 0x44c4e6f8
lea eax, [eax + ecx*2]
mov ecx, esi
or ecx, 0x3b3b1907
sub eax, ecx
and ebx, 0x3b3b1907
and esi, 0x3b3b1907
mov ecx, ebx
sub ecx, esi
not ebx
lea esi, [ebx + ecx]
add esi, 0x3b3b1908
add eax, 1
mov ecx, eax
not ecx
mov ebx, ecx
and ebx, esi
or eax, esi
add ebx, ebx
mov esi, eax
sub esi, ebx
not eax
add eax, eax
sub esi, eax
lea ecx, [esi + ecx*2]
mov esi, ecx
not esi
and esi, 0x3b3b1907
add esi, ecx
mov eax, ecx
xor eax, 0x3b3b1907
add eax, esi
or ecx, 0x3b3b1907
sub eax, ecx
mov ecx, eax
mov ebx, dword [ebp - 0x18]
and ecx, ebx
mov esi, eax
xor esi, edi
lea ecx, [esi + ecx*2]
mov esi, eax
or esi, edi
sub ecx, esi
sub ecx, ebx
mov esi, eax
not esi
or edi, esi
add edi, ecx
mov ecx, edi
and ecx, eax
and esi, edi
sub ecx, esi
sub ecx, eax
sub ecx, eax
mov esi, edi
or esi, eax
lea ecx, [ecx + esi*2]
not edi
or edi, eax
add edi, ecx
add edi, edx
imul eax, edi, 0xa25dc42b
lea ecx, [eax + 0x44bb8856]
mov edx, ecx
and edx, 0x6b37b681
add eax, edx
add eax, 0x44bb8856
mov edx, ecx
or edx, 0x6b37b681
add edx, eax
not ecx
add ecx, edx
imul ecx, ecx, 0xdee8da83
add ecx, 0x4d149c80
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xffffff00
movzx esi, al
sub edx, esi
mov esi, eax
or esi, 0xffffff00
add esi, edx
or eax, 0xff
add eax, esi
or ecx, 0xffffff00
sub eax, ecx
not eax
lea ecx, [eax + eax]
sub eax, ecx
imul ecx, eax, 0xbe70ec37
mov eax, ecx
neg eax
mov edx, eax
and edx, 0xc28b5f86
sub edx, ecx
mov ecx, eax
xor ecx, 0xc28b5f86
add ecx, edx
or eax, 0xc28b5f86
sub ecx, eax
imul eax, ecx, 0x5b468987
add eax, 0xee4215aa
mov ecx, eax
not ecx
sub eax, ecx
mov edx, ecx
or edx, 0xee4215aa
add edx, eax
or ecx, 0x11bdea55
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x11bdea57
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp + 8]
mov cl, byte [esi + eax + 0x11bdea5f]
mov edx, dword [ebp - 0x20]
mov byte [esi + edx + 8], cl
mov ecx, dword [ebp - 0x14]
mov byte [esi + eax + 0x11bdea5f], cl
mov ecx, edx
mov ebx, edx
not ecx
lea eax, [ecx + ecx]
sub eax, ecx
mov edx, eax
not edx
or edx, eax
and edx, 1
or eax, 1
add eax, edx
mov edx, eax
xor edx, 0x3a97d6f6
add eax, eax
or eax, 0x8ad05212
add eax, edx
add eax, 0x752fadee
mov edx, eax
not edx
mov esi, eax
and esi, 0x3a97d6f6
mov edi, edx
and edi, 0x45682909
add edi, edi
sub esi, edi
xor eax, 0xc5682909
add eax, esi
or edx, 0xc5682909
lea esi, [eax + edx]
add eax, edx
add eax, 0x8ad05214
mov edx, eax
and edx, 0xb1eb285d
add edx, esi
add edx, 0x8ad05214
not eax
and eax, 0xb1eb285d
add eax, edx
lea eax, [eax + ebx*2]
lea edx, [ecx + eax]
add edx, 0x9c29af47
add eax, ecx
not edx
mov esi, edx
and esi, 0x31eb285d
lea eax, [eax + esi*2]
add eax, 0x9c29af47
mov esi, edx
and esi, 0x4e14d7a2
lea eax, [eax + esi*2]
add edx, edx
sub eax, edx
lea edx, [ebx + ecx*2]
add edx, 1
mov edi, edx
not edi
lea esi, [ebx + ecx*2]
add esi, edi
add esi, 1
and edi, 0xfffffffe
mov ebx, edx
xor ebx, 0xfffffffe
add ebx, edi
mov edi, edx
or edi, 1
add edi, ebx
add edi, 1
and edi, edx
add edi, esi
lea edx, [eax + edi]
add eax, edi
add eax, 0xb1eb285e
mov esi, eax
not esi
add edx, esi
add edx, 0xb1eb285e
add edx, eax
lea eax, [ecx + 0x380c5940]
not eax
or eax, 0xfffffffe
add eax, edx
mov esi, dword [ebp - 0x20]
add esi, ecx
mov edx, ecx
sub edx, esi
neg esi
add ecx, esi
add ecx, 0xffffffff
mov edi, edx
neg edi
mov esi, edi
and edi, 1
mov ebx, ecx
xor ebx, 1
add ebx, edi
xor ecx, 0xfffffffe
add ecx, ebx
or esi, 1
add edx, esi
add edx, 0xffffffff
sub ecx, esi
add edx, 1
or ecx, edx
sub eax, ecx
imul eax, eax, 0xa5aa558b
mov ecx, 0xb4ab54ea
sub ecx, eax
imul edx, ecx, 0x9c4755dd
mov ecx, 0xb95402c4
sub ecx, edx
mov eax, ecx
sub eax, edx
mov edx, ecx
xor edx, 0x46abfd3c
sub eax, edx
mov edx, ecx
not edx
or ecx, 0xb95402c3
sub eax, ecx
or edx, 0xb95402c3
add edx, eax
lea eax, [edx + edx]
sub edx, eax
mov dword [ebp - 0x14], edx
mov esi, dword [ebp - 0x24]
lea eax, [esi + 0x3790fdde]
mov ecx, eax
and ecx, 0xc86f0221
add ecx, esi
add ecx, 0x3790fdde
mov edx, eax
xor edx, 0x3790fdde
add edx, ecx
mov ecx, eax
xor ecx, 0x486f0221
lea ecx, [edx + ecx*2]
or eax, 0xc86f0221
sub ecx, eax
lea eax, [ecx - 0x3790fddd]
lea ecx, [ecx + ecx*2]
add ecx, 0x594d0669
not eax
lea eax, [ecx + eax*2]
mov ecx, 0xfffffffe
sub ecx, eax
mov eax, ecx
not eax
lea edx, [eax + ecx*2]
mov eax, esi
not eax
mov ecx, eax
and ecx, 0xfffffffe
mov edi, eax
mov dword [ebp - 0x20], eax
and edi, 1
mov ebx, ecx
sub ebx, edi
add eax, eax
or eax, 0xfffffffc
add eax, ebx
mov ebx, esi
or ebx, 0xfffffffe
add ebx, eax
add edx, ebx
add edx, 5
add edi, esi
add edi, ecx
mov eax, esi
and eax, 0xfffffffe
lea ebx, [eax + edi]
add ebx, 1
or eax, ecx
xor esi, 0xfffffffe
lea edi, [esi + eax]
add edi, 2
or edi, ebx
mov ebx, edx
sub ebx, edi
neg edi
mov eax, edx
xor eax, edi
add ebx, eax
mov ecx, edx
or ecx, edi
add ecx, ecx
sub ebx, ecx
add ebx, eax
and edi, edx
not edi
add edi, edi
sub ebx, edi
lea edx, [ebx - 2]
lea eax, [ebx + ebx]
add eax, 0xfffffffc
sub edx, eax
mov ebx, edx
neg ebx
mov ecx, dword [ebp - 0x20]
mov edi, ecx
neg edi
lea eax, [ecx - 1]
mov esi, ecx
and eax, ebx
sub eax, edx
add edx, 0xffffffff
mov ecx, edx
and ecx, edi
sub eax, ecx
sub eax, esi
xor ebx, edi
sub eax, ebx
not ebx
add ebx, ebx
sub eax, ebx
or edx, edi
lea ecx, [eax + edx*2]
mov eax, 0x8415680a
sub eax, ecx
mov ecx, eax
xor ecx, 0x7bea97f7
add ecx, eax
mov edx, eax
or edx, 0x7bea97f7
sub ecx, edx
not eax
sub ecx, eax
or eax, 0x7bea97f7
add eax, ecx
add eax, 0x113e9ff9
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x95540802
mov esi, ecx
and esi, 0x6aabf7fd
add esi, esi
sub edx, esi
xor eax, 0x6aabf7fd
add eax, edx
or ecx, 0x6aabf7fd
add eax, ecx
add eax, 0xd557effc
mov ecx, dword [0x100764e4]
mov edx, dword [0x100764e8]
mov esi, ecx
and esi, edx
not edx
add esi, edx
or edx, ecx
sub esi, edx
add esi, 0x100
mov edi, dword [ebp - 0x14]
cmp edi, esi
mov ecx, 0x7f7bf95b
mov edx, 0x2fd766c9
cmove ecx, edx
mov edx, dword [ebp - 0x38]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ecx], edi
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [0x100764ec]
mov ecx, dword [0x100764f0]
mov edx, eax
not edx
or edx, eax
and edx, ecx
sub edx, ecx
add edx, 0x23c6562b
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov esi, dword [0x10077d10]
mov edx, esi
not edx
cmp dword [0x10077d0c], 0xa
setl al
setge cl
mov edi, esi
and edi, 1
add edi, esi
and edx, 0xfffffffe
add edx, edi
mov edi, esi
xor edi, 1
add edx, edi
add edx, 2
imul edx, esi
test dl, 1
sete ah
and cl, ah
or ah, al
not ah
add ah, cl
or dl, al
add dl, ah
test dl, 1
jne 0x10057330
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
mov dword [ebp - 0x14], edx
cmp ecx, dword [ebp + 0x10]
mov eax, 0
cmovae ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
movzx esi, byte [eax + edx + 8]
mov eax, esi
not eax
mov dword [ebp - 0x18], eax
lea eax, [esi + eax*2 + 1]
mov edi, esi
not eax
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx]
mov ecx, esi
not ecx
mov edx, ecx
and edx, eax
add edx, edx
mov ebx, esi
xor ebx, eax
sub ebx, edx
or eax, esi
not eax
add eax, eax
sub ebx, eax
lea edx, [ebx + ecx*2]
mov ebx, edx
and ebx, esi
add ebx, edx
mov eax, edx
not eax
and eax, esi
add eax, ebx
or edx, esi
sub eax, edx
mov edx, eax
xor edx, 0xd50b356e
add eax, edx
sub eax, edx
lea edx, [eax - 0x2af4ca92]
mov ebx, edx
and ebx, 0x550b356d
lea eax, [eax + ebx*2]
add eax, 0xd50b356e
mov ebx, edx
or ebx, 0x2af4ca92
sub eax, ebx
not edx
or edx, 0x2af4ca92
add eax, edx
add eax, 0x55e99525
mov edx, eax
and edx, 0x390d6c45
or eax, 0x390d6c45
add eax, edx
mov edx, eax
and edx, ecx
lea edx, [eax + edx*2]
lea ebx, [edx + esi*2]
mov edx, eax
xor edx, esi
sub ebx, edx
mov edx, eax
or edx, esi
not edx
add edx, ebx
or eax, ecx
mov dword [ebp - 0x28], ecx
sub edx, eax
mov ebx, esi
mov dword [ebp - 0x20], edi
and ebx, edi
mov eax, dword [ebp - 0x18]
and ecx, eax
or ebx, ecx
mov edi, esi
or edi, eax
add ebx, edi
not edi
add edi, ebx
and esi, eax
lea ebx, [edi + esi]
add esi, edi
add esi, 1
not esi
lea edi, [esi + ebx]
add edi, 1
add edi, esi
lea esi, [edx - 0x390d6c45]
mov ebx, esi
or ebx, 0x6b02cfaf
add edx, ebx
add edx, 0xc6f293bb
mov ebx, esi
or ebx, 0x94fd3050
add ebx, edx
not esi
add esi, ebx
lea ebx, [edi + esi]
add esi, edi
add esi, 0x6b02cfb2
mov edi, esi
xor esi, 0x6b02cfaf
lea edx, [esi + ebx]
add edx, 0x6b02cfb2
add ebx, ebx
add ebx, 0xd6059f64
or ebx, 0xd6059f5e
sub edx, ebx
add edx, esi
not edi
add edi, edi
or edi, 0x29fa60a0
sub edx, edi
mov esi, ecx
not esi
lea esi, [esi + ecx*2]
mov eax, 0xfffffffe
sub eax, esi
not eax
mov esi, dword [ebp - 0x20]
add edx, esi
add edx, 0x222c3bda
sub eax, edx
not edx
add edx, edx
sub eax, edx
lea esi, [eax - 2]
mov edx, esi
xor edx, 0x8d2f0b8b
lea eax, [edx + eax*2]
add eax, 0xfffffffc
not esi
add esi, esi
or esi, 0x1a5e1716
lea edx, [eax + esi]
add eax, esi
add eax, 0xe5a1e8ec
mov ebx, dword [ebp - 0x28]
or ebx, dword [ebp - 0x18]
mov ecx, ebx
not ecx
lea esi, [ecx + ebx]
and ecx, 0x11
mov edi, ebx
and edi, 0x9793c4ee
lea edi, [edi + ecx*2]
lea ecx, [ebx + esi]
add ecx, 1
xor ebx, 0x9793c4ee
lea esi, [ebx + edi]
add esi, 1
and ecx, 0x9793c4ee
or ecx, esi
not esi
and esi, 0x686c3b11
mov edi, ecx
xor edi, 0x686c3b11
add edi, esi
or ecx, 0x9793c4ee
add ecx, edi
mov esi, eax
xor esi, 0xcd9f5411
add edx, esi
add edx, 0xe5a1e8ec
mov esi, eax
xor esi, 0x3260abee
add esi, edx
mov edx, eax
or edx, 0x3260abee
sub esi, edx
and eax, 0xcd9f5411
add eax, esi
lea edx, [ecx + ecx]
add edx, 2
sub eax, edx
add eax, ecx
add eax, 1
imul eax, eax, 0x1ea28919
lea ecx, [eax + 0x76b1b157]
mov edx, ecx
not edx
and edx, 0x6b69d6a9
add eax, edx
add eax, 0x76b1b157
or ecx, 0x94962956
add ecx, eax
imul eax, ecx, 0xe51ac329
lea ecx, [eax + 0x187aa718]
mov edx, ecx
and edx, 0xcca01c10
add eax, edx
add eax, 0x187aa718
mov ebx, ecx
xor ebx, 0xcca01c10
add ebx, eax
or ecx, 0xcca01c10
sub ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
movzx edx, byte [eax + ecx]
not edx
mov dword [ebp - 0x28], edx
lea esi, [ebx - 0x335fe3ef]
mov eax, esi
not eax
mov dword [ebp - 0x18], eax
and eax, edx
mov ecx, esi
xor ecx, edx
add ecx, eax
mov edi, esi
or edi, edx
not edi
add edi, ecx
sub edi, dword [ebp - 0x18]
and edi, esi
add edi, 0x5e037386
mov eax, edi
not eax
and eax, 0x5e037386
add eax, eax
mov ecx, edi
sub ecx, eax
mov eax, edi
xor eax, 0x5e037386
add eax, ecx
sub eax, edi
mov edi, 0x335fe3ef
sub edi, ebx
mov edx, eax
not edx
mov ecx, edx
and ecx, edi
add ecx, eax
add ecx, ebx
add ecx, 0xcca01c11
xor eax, edi
not eax
add eax, ecx
or edx, edi
sub eax, edx
mov ecx, dword [ebp - 0x18]
and ecx, 0xc4c4e6f8
and esi, 0x3b3b1907
or esi, ecx
mov ecx, esi
xor ecx, 0x3b3b1907
mov edx, esi
xor edx, 0x44c4e6f8
add edx, edx
lea ecx, [edx + ecx*2]
lea edx, [esi + esi]
or edx, 0x8989cdf0
sub ecx, edx
add ecx, esi
add ecx, 0xc4c4e6f9
mov ebx, dword [ebp - 0x28]
xor ebx, ecx
and ebx, ecx
mov ecx, ebx
neg ecx
mov esi, eax
and esi, ecx
mov edx, eax
xor edx, ecx
lea edi, [ebx - 1]
or ecx, edi
and ecx, eax
add ecx, eax
add ecx, ebx
sub ecx, edx
or eax, edi
sub ecx, eax
not esi
add esi, ecx
imul eax, esi, 0xa25dc42b
add eax, 0x71778ba
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x14c8497e
add edx, edx
mov esi, eax
sub esi, edx
xor eax, 0x94c8497e
add eax, esi
add eax, ecx
imul eax, eax, 0xdee8da83
add eax, 0xfd6ea977
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xa8
mov esi, eax
sub esi, edx
xor eax, 0xa8
add eax, esi
and ecx, 0x57
add eax, ecx
add eax, 1
movzx eax, al
lea ecx, [eax + eax]
sub eax, ecx
imul ecx, eax, 0xbe70ec37
imul eax, eax, 0xc4ad3b5b
add eax, ecx
add eax, ecx
mov ecx, eax
and ecx, 0x3d74a079
add ecx, eax
mov edx, eax
or edx, 0x3d74a079
add edx, ecx
sub edx, eax
imul esi, edx, 0x5b468987
mov dword [ebp - 0x18], esi
mov edx, dword [ebp + 8]
mov al, byte [edx + esi + 0x49889f39]
mov ecx, dword [ebp - 0x14]
mov byte [edx + ecx + 8], al
mov eax, dword [ebp - 0x20]
mov byte [edx + esi + 0x49889f39], al
mov esi, ecx
not esi
lea edx, [esi + esi]
lea eax, [ecx + edx]
add eax, 1
mov edi, eax
or edi, 1
add edi, edi
mov ebx, eax
or ebx, 0xfffffffe
add ebx, edi
not eax
lea ecx, [ebx + eax]
add eax, ebx
add eax, 2
mov edi, eax
not edi
add edi, ecx
add edi, 2
add edi, eax
lea eax, [ecx + ecx]
add eax, 4
sub edi, eax
mov ecx, edi
neg ecx
lea eax, [edi - 1]
or eax, ecx
and eax, 0x3a97d6f6
sub eax, edi
mov ecx, eax
not ecx
and ecx, 0x3a97d6f6
lea ecx, [ecx + eax*2]
or eax, 0x3a97d6f6
sub ecx, eax
lea edi, [ecx - 0x3a97d6f6]
mov eax, edi
and eax, 0xb1eb285d
add ecx, eax
add ecx, 0xc568290a
mov eax, edi
xor eax, 0xb1eb285d
add eax, ecx
or edi, 0xb1eb285d
sub eax, edi
mov ebx, dword [ebp - 0x14]
lea ecx, [eax + ebx]
add ecx, 0x4e14d7a3
add eax, ebx
mov edi, ecx
not edi
and edi, 0xb1eb285d
lea eax, [edi + eax*2]
add eax, 0x9c29af46
or ecx, 0xb1eb285d
sub eax, ecx
mov edi, esi
sub edi, ebx
sub edi, ebx
sub edi, edx
add edi, 0xfffffffe
mov ecx, edi
xor ecx, 0xfffffffe
mov ebx, ecx
and ebx, edi
mov edx, ecx
xor edx, edi
add edx, ebx
or ecx, edi
sub edx, ecx
mov ecx, edi
xor ecx, 1
sub edx, ecx
or ecx, edi
add ecx, edx
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xb1eb285d
not eax
lea ecx, [eax + edx*2]
add ecx, 0x63d650ba
lea eax, [eax + edx*2]
add eax, 0x63d650bc
mov edx, esi
and edx, 1
mov ebx, dword [ebp - 0x14]
mov edi, ebx
and edi, 1
lea edx, [edi + edx*2]
mov edi, eax
and edi, edx
add ecx, edi
add ecx, 2
not eax
and eax, edx
add eax, ecx
sub eax, edx
sub eax, edx
mov edx, ebx
add edx, esi
mov ecx, edx
mov edi, edx
not ecx
mov edx, esi
and edx, ecx
or esi, ecx
sub ecx, edx
add ecx, esi
add ecx, edi
add edx, ecx
add edx, 1
mov ecx, edx
and ecx, 1
mov esi, edx
xor esi, 1
or ecx, esi
add esi, esi
sub ecx, esi
xor edx, 0x7ffffffe
add edx, edx
sub ecx, edx
not eax
add eax, ecx
imul ecx, eax, 0x5a55aa75
mov eax, 0x5a55aa75
sub eax, ecx
mov ecx, eax
and ecx, 0xafb0946c
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0xafb0946c
add edx, esi
xor eax, 0x504f6b93
add eax, edx
add eax, ecx
imul ecx, eax, 0x9c4755dd
mov eax, 0x1d0cace7
sub eax, ecx
and eax, 0xb95402c3
sub eax, ecx
add ecx, 0xe2f35318
and ecx, 0xb95402c3
add ecx, eax
mov eax, 0x559b58a0
sub eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax*2]
sub ecx, eax
sub ecx, eax
mov edx, eax
or edx, 1
add edx, ecx
add edx, 1
mov ecx, eax
not ecx
mov edi, eax
and edi, 0xfffffffe
mov ebx, ecx
and ebx, 0xfffffffe
mov esi, edi
sub esi, ebx
not edi
add edi, esi
add ebx, ebx
xor eax, 0xfffffffe
sub eax, ebx
mov esi, ecx
and esi, 1
add esi, esi
sub eax, esi
lea esi, [eax + ecx*2]
mov ebx, edi
neg ebx
and ebx, esi
add ebx, edi
mov esi, edx
not esi
mov edi, 1
sub edi, ebx
mov eax, esi
and eax, edi
add eax, ebx
or esi, edi
lea eax, [eax + esi*2]
or edi, edx
add edi, eax
lea eax, [edi + edi]
sub edi, eax
add edi, ecx
mov eax, edi
and eax, 0x7bea97f7
add eax, edi
not edi
and edi, 0x7bea97f7
lea ecx, [edi + eax]
add ecx, 0x82ad013
mov edx, ecx
not edx
mov eax, ecx
or eax, edx
and eax, 0x7bea97f7
or ecx, 0x84156808
add ecx, eax
or edx, 0x7bea97f7
sub ecx, edx
imul ecx, ecx, 0xb14eb9e9
mov eax, 0x9b683131
sub eax, ecx
mov esi, eax
xor esi, 0x8a1f442e
lea edi, [ecx + 0x6497cecf]
mov edx, esi
sub edx, edi
add eax, eax
or eax, 0x143e885c
sub edx, eax
add edx, esi
lea eax, [ecx + ecx]
add eax, 0xc92f9d9c
or eax, 0xebc177a2
sub edx, eax
lea eax, [edx - 0x75e0bbd4]
lea ecx, [edx + edx]
add ecx, 0x143e8858
sub eax, ecx
imul eax, eax, 0x6efdae59
mov ecx, eax
not ecx
and ecx, 0x95540802
lea ecx, [ecx + eax*2]
or eax, 0x95540802
sub ecx, eax
add ecx, 0x6aabf7fe
mov edi, dword [ebp - 0x14]
cmp edi, 0x100
mov eax, 0x7f7bf95b
mov edx, 0x2fd766c9
cmove eax, edx
mov edx, dword [ebp - 0x18]
lea edx, [edx + 0x49889f31]
mov esi, dword [ebp - 0x38]
mov dword [esi], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edi
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
mov dword [eax], edx
mov edx, dword [0x100765dc]
mov eax, dword [0x100765e0]
mov ecx, eax
not ecx
and ecx, edx
mov esi, edx
not esi
mov edi, esi
and edi, eax
sub ecx, edi
xor edx, eax
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
or esi, eax
lea eax, [ecx + esi*2]
add eax, 0x23c6562b
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1005765e
mov edx, dword [0x10077d08]
mov eax, dword [0x100763b4]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
mov ecx, 8
sub ecx, eax
cmp dword [0x10077d04], ecx
setl al
mov ecx, edx
not ecx
add ecx, 0x71d1f97e
imul ecx, edx
mov edx, dword [0x100763bc]
mov esi, dword [0x100763c0]
mov edi, esi
not edi
and edi, edx
add edi, esi
mov ebx, edx
or ebx, esi
not ebx
lea edi, [edi + ebx*2]
mov ebx, edx
xor ebx, esi
not ebx
sub ebx, edi
and edx, esi
not edx
add edx, ebx
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
add cl, 1
test cl, 1
jne 0x10058490
cmp eax, 0x11978edb
jle 0x100585a0
cmp eax, 0x46fed8d7
jle 0x1005862c
cmp eax, 0x46fed8d8
je 0x100586e4
cmp eax, 0x54a43c34
jne 0x1005883f
mov ecx, dword [0x10077d00]
mov eax, dword [0x10076434]
mov edx, dword [0x10076438]
mov esi, eax
or eax, edx
not edx
and esi, edx
not eax
add eax, esi
sub eax, edx
add eax, 0xa
cmp dword [0x10077cfc], eax
setl al
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, dword [0x1007643c]
mov esi, dword [0x10076440]
mov edi, ecx
not edi
and edi, esi
add edi, edi
mov ebx, ecx
xor ebx, esi
sub esi, edi
add esi, ebx
sub esi, ecx
and edx, 1
cmp edx, esi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x10057454
jmp 0x100574ce
cmp eax, 0xb819ebdc
jg 0x1005866c
cmp eax, 0x8001a23d
je 0x10058730
cmp eax, 0x80529527
jne 0x100570e0
mov edx, dword [0x10077cf8]
cmp dword [0x10077cf4], 0xa
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 2
imul ecx, edx
and ecx, 1
mov edx, dword [0x100763f0]
mov esi, dword [0x100763ec]
and esi, edx
mov edi, edx
sub edi, esi
not edx
add edx, edi
add edx, esi
add edx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
xor ah, dl
mov ch, al
or ch, dl
add ch, ah
not ah
add ah, ch
add ah, cl
or cl, al
add cl, ah
and al, dl
not al
add al, cl
test al, 1
jne 0x10057137
jmp 0x100571b1
cmp eax, 0x11978edc
je 0x10058778
cmp eax, 0x23c6562b
jne 0x100570e0
cmp dword [0x10077cf0], 0xa
mov eax, dword [0x10077cec]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp al, 1
je 0x10057290
jmp 0x10057300
cmp eax, 0xb819ebdd
je 0x100587e3
cmp eax, 0xc94664f0
jne 0x100570e0
mov edx, dword [0x10077ce8]
cmp dword [0x10077ce4], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x10076464]
mov esi, dword [0x10076468]
mov edi, edx
xor edi, esi
mov ebx, edi
not ebx
lea edi, [edi + ebx*2]
not esi
add edi, esi
or esi, edx
add esi, esi
sub edi, esi
add edx, edi
add edx, 1
and ecx, 1
cmp ecx, edx
setne cl
sete dl
mov ah, al
or ah, dl
add ah, al
xor al, dl
not al
add al, ah
add al, cl
test al, 1
jne 0x100571c9
jmp 0x10057242
mov eax, dword [0x10077ce0]
mov edx, dword [0x1007640c]
mov ecx, dword [0x10076410]
mov esi, ecx
not esi
mov edi, edx
and edi, esi
xor ecx, edx
not ecx
add ecx, edi
or esi, edx
sub ecx, esi
add ecx, 0xa
cmp dword [0x10077cdc], ecx
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
add al, 1
test al, 1
je 0x10057374
jmp 0x10057410
mov edx, dword [0x10077cd8]
cmp dword [0x10077cd4], 0xa
setl al
lea ecx, [edx - 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x100764dc]
mov esi, dword [0x100764e0]
not esi
mov edi, edx
and edi, esi
sub edi, esi
or esi, edx
add esi, edi
sub esi, edx
cmp ecx, esi
sete cl
or cl, al
cmp cl, 1
je 0x1005765e
jmp 0x10057d7b
mov ecx, dword [str.mz_]
mov eax, dword [0x10076488]
mov edx, ecx
and edx, eax
mov esi, eax
not esi
mov edi, ecx
xor edi, eax
or eax, esi
and eax, ecx
sub eax, edi
or esi, ecx
sub eax, esi
mov ecx, dword [0x10077cd0]
not edx
add eax, edx
add eax, 0xa
cmp dword [0x10077ccc], eax
setl al
mov edx, ecx
and edx, 0x7ffffffe
lea edx, [ecx + edx*2]
mov esi, ecx
xor esi, 1
add esi, esi
sub edx, esi
sub edx, ecx
sub edx, ecx
add edx, 1
imul edx, ecx
test dl, 1
sete cl
or cl, al
cmp cl, 1
je 0x10057518
jmp 0x100575a4
mov edx, dword [0x10077cc8]
mov eax, dword [0x100764b0]
and eax, dword [0x100764ac]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0xb
cmp dword [0x10077cc4], eax
setl al
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
mov edx, dword [0x100764b4]
mov esi, dword [0x100764b8]
mov edi, edx
not edi
and edi, esi
add edi, edx
or edx, esi
sub edi, edx
cmp ecx, edi
sete cl
or cl, al
add cl, 1
test cl, 1
je 0x100575b2
jmp 0x10057650
cmp eax, 0x5b1b3215
jne 0x100570e0
nop word [eax + eax]
mov eax, dword [0x10076518]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
mov ecx, 8
sub ecx, eax
cmp dword [0x10077cc0], ecx
mov edx, dword [0x10077cbc]
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 2
imul ecx, edx
mov edx, dword [0x1007651c]
mov esi, dword [0x10076520]
mov edi, edx
xor edi, esi
sub edi, edx
mov ebx, esi
not ebx
or ebx, edx
add ebx, edi
and edx, esi
add edx, ebx
add edx, 1
and ecx, 1
cmp ecx, edx
sete cl
setne dl
mov ah, al
and ah, dl
mov ch, al
or ch, cl
add ch, ah
xor cl, al
not cl
add cl, ch
or al, dl
add al, cl
test al, 1
je 0x10058850
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret