Function at 0x1004d580
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov edx, dword [0x1006eda8]
mov eax, dword [0x1006d3fc]
mov ecx, dword [0x1006d400]
mov esi, eax
or esi, ecx
mov edi, esi
not edi
lea esi, [esi + edi*2]
not ecx
or ecx, eax
sub esi, ecx
add eax, esi
add eax, 0xb
cmp dword [0x1006eda4], eax
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0xb22f9df0
imul ecx, edx
mov dword [ebp - 0x10], ecx
mov edx, dword [0x1006d404]
mov edi, dword [0x1006d408]
mov esi, edx
and esi, edi
mov ebx, edx
or ebx, edi
sub ebx, esi
sub ebx, esi
not edx
or edx, edi
not edi
add edi, ebx
add edx, edi
not esi
add esi, esi
sub edx, esi
mov ecx, dword [ebp - 0x10]
and ecx, 1
cmp ecx, edx
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 0x1004dd07
push eax
mov dword [ebp - 0x1c], esp
mov ecx, dword [0x1006d3c4]
mov eax, dword [0x1006d3c8]
mov edx, eax
or edx, 0xba0cc8c8
add edx, eax
mov esi, eax
mov dword [ebp - 0x10], eax
not esi
or esi, 0xba0cc8c8
add esi, edx
add esi, 1
mov edx, esi
and edx, 0x45f33737
not esi
and esi, 0xba0cc8c8
sub edx, esi
mov edi, ecx
sub edi, eax
mov esi, ecx
xor esi, eax
not esi
add esi, esi
sub edi, esi
mov esi, ecx
not esi
mov ebx, esi
or ebx, eax
lea edi, [edi + ebx*2]
mov ebx, ecx
and ebx, eax
or edi, ebx
mov ebx, edi
xor ebx, 0x749aace7
mov eax, ebx
xor eax, 0x8b655318
or ebx, 0x8b655318
add ebx, eax
or edi, 0x8b655318
add edi, ebx
mov eax, edx
and eax, 0xd92a77b2
add eax, edx
mov ebx, edx
not ebx
and ebx, 0x26d5884d
add ebx, eax
xor edx, 0x26d5884d
sub ebx, edx
lea eax, [edi + ebx]
lea edx, [ebx + edi]
add edx, 0x9b703536
mov edi, edx
xor edi, 0x26d5884d
add eax, edi
add eax, 0x9b703536
mov ebx, edx
not ebx
and ebx, 0xd92a77b2
add ebx, eax
and edx, 0x26d5884d
lea edi, [ebx + edx]
add edx, ebx
add edx, 0xd92a77b4
mov eax, esi
and eax, 0xe342ced2
add esi, ecx
add esi, eax
add esi, 1
and ecx, 0x1cbd312d
mov eax, esi
not eax
and eax, ecx
mov ebx, esi
or ebx, ecx
add ebx, eax
and esi, ecx
not ecx
add ecx, ebx
add esi, ecx
add esi, 1
xor esi, 0x1cbd312d
mov ecx, esi
mov ebx, dword [ebp - 0x10]
and ecx, ebx
xor ebx, esi
lea eax, [ebx + ebx]
sub eax, esi
not ebx
add ebx, eax
add esi, ebx
add esi, 1
mov eax, ecx
and eax, esi
or ecx, esi
add ecx, eax
not eax
add eax, ecx
mov ecx, edx
xor ecx, 0x36893cd0
add ecx, edi
add ecx, 0xd92a77b4
mov esi, edx
not esi
and esi, 0xc976c32f
add esi, ecx
and edx, 0x36893cd0
add edx, esi
not eax
add eax, edx
imul ecx, eax, 0xe25b980d
lea eax, [ecx - 0x1da467f3]
mov edx, eax
not edx
mov esi, eax
xor esi, 0xaa9d1e90
add ecx, esi
add ecx, 0xe25b980d
and edx, 0x5562e16f
add edx, ecx
and eax, 0xaa9d1e90
lea ecx, [edx + eax]
add eax, edx
add eax, 0x3d8b7000
not eax
mov edx, eax
and edx, 0x5562e16f
add ecx, edx
add ecx, 0x3d8b7000
or eax, 0xaa9d1e90
sub ecx, eax
imul eax, ecx, 0x3ba676c5
add eax, 0xb2182b95
mov edi, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [0x1006d40c]
mov ecx, dword [0x1006d410]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
add esi, edx
and eax, ecx
add eax, esi
add eax, 1
mov dword [edi + 4], eax
movaps xmm0, xmmword [0x1005e1d0]
movups xmmword [edi + 8], xmm0
movaps xmm0, xmmword [0x1005e1e0]
movups xmmword [edi + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [edi + 0x28], xmm0
movaps xmm0, xmmword [0x1005e200]
movups xmmword [edi + 0x38], xmm0
movaps xmm0, xmmword [0x1005e210]
movups xmmword [edi + 0x48], xmm0
movaps xmm0, xmmword [0x1005e220]
movups xmmword [edi + 0x58], xmm0
movaps xmm0, xmmword [0x1005e230]
movups xmmword [edi + 0x68], xmm0
movaps xmm0, xmmword [0x1005e240]
movups xmmword [edi + 0x78], xmm0
movaps xmm0, xmmword [0x1005e250]
movups xmmword [edi + 0x88], xmm0
movaps xmm0, xmmword [0x1005e260]
movups xmmword [edi + 0x98], xmm0
movaps xmm0, xmmword [0x1005e270]
movups xmmword [edi + 0xa8], xmm0
movaps xmm0, xmmword [0x1005e280]
movups xmmword [edi + 0xb8], xmm0
movaps xmm0, xmmword [0x1005e290]
movups xmmword [edi + 0xc8], xmm0
movaps xmm0, xmmword [0x1005e2a0]
movups xmmword [edi + 0xd8], xmm0
movaps xmm0, xmmword [0x1005e2b0]
movups xmmword [edi + 0xe8], xmm0
movaps xmm0, xmmword [0x1005e2c0]
movups xmmword [edi + 0xf8], xmm0
push eax
mov dword [ebp - 0x28], esp
mov ecx, dword [0x1006d3d4]
mov edx, dword [0x1006d3d8]
mov eax, edx
not eax
mov esi, ecx
not esi
lea edi, [esi + esi]
sub edi, esi
mov dword [ebp - 0x10], eax
and esi, eax
mov ebx, ecx
xor ebx, eax
add ebx, esi
add ebx, edx
mov esi, ecx
and esi, eax
add esi, ebx
add esi, 1
and esi, ecx
lea ebx, [esi + esi]
sub esi, ebx
mov ebx, ecx
and ebx, edx
xor ecx, edx
or ecx, ebx
lea edx, [ebx + ecx]
not ebx
add ebx, edx
mov edx, esi
neg edx
add ebx, ebx
add ebx, 2
mov eax, edx
or eax, ebx
not eax
sub eax, esi
mov esi, edx
xor esi, ebx
add esi, eax
sub esi, ebx
and edx, ebx
add edx, esi
mov eax, ecx
not eax
and eax, 0xa8936fa
and ecx, 0xf576c905
lea esi, [eax + ecx]
add eax, esi
not esi
add esi, eax
lea eax, [ecx + esi]
add eax, 1
xor eax, 0x7576c905
add eax, eax
sub edx, eax
lea eax, [edx - 0x581cbe13]
mov ecx, eax
and ecx, 0xa7e341eb
add edx, edx
add edx, 0x4fc683da
sub edx, ecx
mov ecx, eax
xor ecx, 0x581cbe14
add ecx, edx
or eax, 0x581cbe14
sub ecx, eax
lea edx, [ecx + 0x581cbe14]
or edi, dword [ebp - 0x10]
mov eax, edi
not eax
add eax, eax
lea esi, [edi + eax]
add esi, 1
mov eax, esi
xor eax, 0x55f032a2
lea edi, [eax + eax]
xor eax, 0xaa0fcd5d
sub eax, edi
xor esi, 0x2a0fcd5d
add esi, esi
sub eax, esi
lea esi, [eax - 2]
or edx, 0xc4602619
add ecx, edx
add ecx, 0x581cbe14
not edx
lea edi, [ecx + edx]
lea ecx, [edx + ecx + 0x3b9fd9e8]
lea edx, [edi + edi + 0x773fb3d0]
mov edi, ecx
not edi
mov ebx, edi
and ebx, esi
sub edx, ebx
add eax, edx
add eax, 0xfffffffe
not esi
or esi, ecx
sub eax, esi
lea ecx, [eax + edi]
lea edx, [eax + edi]
add edx, 0xb6a25467
mov eax, edx
and eax, 0xfb52fe1d
add ecx, eax
add ecx, 0xb6a25467
or edx, 0xfb52fe1d
sub ecx, edx
sub ecx, edx
not edx
add edx, edx
sub ecx, edx
not eax
add eax, ecx
imul eax, eax, 0x685809ef
lea ecx, [eax + 0x2cd03f52]
mov edx, ecx
add eax, eax
add eax, 0x59a07ea4
or ecx, 0x28779aa9
sub eax, ecx
not edx
or edx, 0xd7886556
add edx, eax
imul eax, edx, 0xac76450f
add eax, 0x1e0de1f6
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
push eax
mov dword [ebp - 0x20], esp
mov eax, dword [0x1006d3dc]
mov esi, dword [0x1006d3e0]
mov edx, esi
not edx
mov ecx, eax
not ecx
and ecx, edx
mov edi, eax
xor edi, edx
add edi, ecx
add edi, esi
mov ecx, eax
and ecx, edx
add edi, ecx
add edi, 1
mov ecx, edi
and ecx, eax
not edi
lea ecx, [edi + ecx*2]
or edi, eax
sub ecx, edi
mov ebx, edx
sub ebx, esi
sub ebx, esi
add ebx, esi
mov edi, edx
sub edi, ebx
mov ebx, esi
and ebx, 0x3913c8bc
xor esi, 0x3913c8bc
lea esi, [ebx + esi*2]
and edx, 0x46ec3743
lea edx, [esi + edx*2]
not edi
and edi, 0xc6ec3743
not ebx
add ebx, ebx
sub edx, ebx
or edx, edi
mov esi, edx
xor esi, 0x46ec3743
add esi, esi
mov edi, edx
sub edi, esi
not edx
add edx, edx
or edx, 0x72279178
add edx, edi
add edx, 0xc6ec3744
xor edx, eax
not edx
and edx, eax
neg edx
mov edi, ecx
sub edi, edx
sub edi, edx
mov esi, ecx
or ecx, edx
add ecx, edi
not esi
or edx, esi
add edx, ecx
sub edx, eax
imul eax, edx, 0xc9d0b495
lea ecx, [eax - 0x362f4b6b]
mov edx, ecx
and edx, 0xb13156d
add eax, edx
add eax, 0xc9d0b495
not ecx
add eax, ecx
or ecx, 0xb13156d
sub eax, ecx
imul eax, eax, 0xd7676bd
lea ecx, [eax - 0x62350f79]
mov edx, ecx
and edx, 0x62350f78
add eax, edx
add eax, 0x9dcaf087
mov edx, ecx
not edx
add edx, eax
and ecx, 0x9dcaf087
lea eax, [ecx + edx]
add eax, 0x62350f7a
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
push eax
mov esi, esp
mov eax, dword [0x1006d414]
mov ecx, dword [0x1006d418]
mov edx, eax
not edx
and edx, ecx
and eax, ecx
not ecx
add ecx, edx
add eax, ecx
add eax, 1
mov dword [ebp - 0x2c], esi
mov dword [esi], eax
push eax
mov dword [ebp - 0x24], esp
mov ecx, dword [0x1006d3ec]
mov edi, dword [0x1006d3f0]
mov dword [ebp - 0x10], edi
lea esi, [ecx + 0x4bc3a0d2]
mov edx, esi
and edx, 0xb43c5f2d
lea ebx, [edx + ecx]
add ebx, 0x4bc3a0d2
not ecx
mov dword [ebp - 0x14], ecx
lea eax, [ecx + ecx]
sub eax, ecx
mov edx, edi
not edx
and eax, edx
mov dword [ebp - 0x18], edx
not eax
lea edi, [eax + eax]
sub edi, eax
not esi
or esi, 0x4bc3a0d2
add esi, ebx
add esi, 0x689db7ca
mov eax, esi
sub eax, edi
neg edi
mov ebx, esi
xor ebx, edi
add ebx, eax
mov eax, esi
or eax, edi
not eax
add eax, ebx
and edi, esi
lea ebx, [eax + edi]
lea ecx, [edi + eax]
add ecx, 0x4b9ea766
lea eax, [edx + edx]
mov edx, dword [ebp - 0x10]
lea edi, [edx + eax + 1]
mov eax, edi
not eax
lea esi, [edi + edi]
add esi, eax
add edi, esi
add edi, eax
mov eax, ecx
and eax, 0x2148c6bc
add eax, ebx
add eax, 0x4b9ea766
mov ebx, ecx
not ebx
add ebx, eax
and ecx, 0xdeb73943
lea edx, [ecx + ebx]
add edx, 0x2148c6be
mov ebx, 0xfffffffe
sub ebx, edi
mov ecx, edx
and ecx, ebx
mov eax, edx
and eax, esi
lea eax, [eax + ecx*2]
or ebx, edx
lea ecx, [edx + edx*2]
sub ecx, eax
sub ecx, edi
not ebx
add ebx, ecx
sub ebx, esi
lea esi, [ebx - 2]
mov eax, esi
not eax
and eax, 0xdeb73943
add eax, ebx
add eax, 0xfffffffe
and esi, 0xdeb73943
add esi, eax
mov edi, dword [ebp - 0x14]
mov eax, edi
mov edx, dword [ebp - 0x18]
and eax, edx
mov ecx, dword [ebp - 0x10]
and ecx, edi
sub ecx, eax
add ecx, edx
mov eax, edi
xor eax, edx
sub ecx, eax
or edx, edi
add edx, ecx
mov eax, edx
not eax
add edx, eax
lea ecx, [edx + eax*2]
sub ecx, eax
lea eax, [ecx + 1]
not eax
add eax, eax
add eax, ecx
add eax, 1
add eax, esi
mov esi, dword [ebp - 0x24]
imul eax, eax, 0xa98bbea1
add eax, 0xa98bbea1
mov ecx, eax
or ecx, 0x71f3fa1d
mov edx, eax
xor edx, 0x8e0c05e2
add edx, ecx
not eax
or eax, 0x71f3fa1d
sub edx, eax
imul eax, edx, 0xccfa561
mov dword [esi], eax
push eax
mov edi, esp
mov eax, dword [0x1006d41c]
mov ecx, dword [0x1006d420]
mov edx, eax
or eax, ecx
not ecx
and edx, ecx
not eax
add eax, edx
sub eax, ecx
add eax, 0x2e25553c
mov dword [edi], eax
mov eax, dword [0x1006eda0]
mov ecx, dword [0x1006d428]
mov edx, ecx
not edx
add ecx, edx
add ecx, 0xb
cmp dword [0x1006ed9c], 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 0x1004e3b6
push eax
mov edx, dword [0x1006d3c4]
mov dword [ebp - 0x20], edx
mov esi, dword [0x1006d3c8]
mov eax, edx
and eax, esi
sub eax, edx
sub eax, edx
mov ecx, edx
not ecx
mov dword [ebp - 0x28], ecx
add ecx, ecx
sub eax, ecx
mov ecx, edx
xor ecx, esi
lea ebx, [ecx + ecx]
sub ebx, ecx
add eax, 0xfffffffe
or ebx, eax
lea eax, [ebx + ebx]
sub eax, ebx
mov ecx, eax
not ecx
and ecx, 0x749aace7
mov ebx, eax
and ebx, 0x8b655318
or ecx, ebx
or eax, 0x749aace7
sub ecx, eax
add ecx, 0x749aace7
mov eax, ecx
and eax, ebx
or ecx, ebx
mov ebx, eax
sub ebx, ecx
not ecx
add ecx, ecx
sub ebx, ecx
not eax
lea edx, [ebx + eax]
add edx, 0xffffffff
mov ecx, esi
or ecx, 0x26d5884d
lea eax, [esi + esi]
mov ebx, esi
mov dword [ebp - 0x2c], esi
sub eax, ecx
not ebx
mov ecx, ebx
or ecx, 0xd92a77b2
lea esi, [eax + ecx]
lea edi, [eax + ecx]
add edi, 0x4dab109b
xor edx, 0x8b655318
mov ecx, edi
and ecx, edx
mov dword [ebp - 0x10], ecx
lea eax, [esi + esi]
add eax, 0x9b562136
sub eax, ecx
sub eax, ecx
add eax, edx
mov ecx, edi
not ecx
or ecx, edx
add ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x28]
mov eax, ecx
mov esi, dword [ebp - 0x20]
or eax, esi
mov edx, ecx
and edx, 0xe342ced2
and eax, 0xe342ced2
lea edi, [eax + edx]
mov dword [ebp - 0x24], edi
lea edi, [eax + edx]
add edi, 0x1cbd312e
and esi, 0x1cbd312d
lea esi, [ecx + esi*2]
or ecx, 0x1cbd312d
sub esi, ecx
mov eax, edi
or eax, esi
mov edx, eax
not edx
add edx, edx
lea eax, [edx + eax*2]
not esi
or esi, edi
sub eax, esi
mov ecx, dword [ebp - 0x24]
add eax, ecx
add eax, 0x1cbd312f
mov edx, eax
not edx
and edx, 0x1cbd312d
mov esi, eax
xor esi, 0x1cbd312d
add esi, edx
and eax, 0x1cbd312d
lea edx, [esi + eax]
lea ecx, [eax + esi]
add ecx, 0xe342ced3
mov eax, ecx
mov edi, dword [ebp - 0x2c]
or eax, edi
xor edi, ecx
mov esi, eax
sub esi, edi
add edx, edx
add edx, 0xc6859da6
sub edi, edx
add edi, eax
or ebx, ecx
add ebx, edi
lea edx, [ebx + ecx]
lea eax, [ebx + ecx]
add eax, 1
mov ecx, eax
not ecx
and ecx, esi
sub ecx, esi
mov edi, esi
not edi
and edi, eax
sub ecx, edi
add ecx, edx
add ecx, 1
or eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x1c]
lea edx, [esi + ecx]
neg eax
add ecx, esi
add ecx, 0xfb3b484
add edx, edx
add edx, 0x1f676908
mov esi, ecx
xor esi, eax
sub edx, esi
not esi
add esi, esi
sub edx, esi
not ecx
or ecx, eax
lea esi, [edx + ecx*2]
lea eax, [edx + ecx*2]
add eax, 0x881c613b
lea ecx, [esi + esi]
add ecx, 0x1038c276
sub eax, ecx
mov ecx, eax
or ecx, 0xbea59e0b
add ecx, eax
not eax
or eax, 0xbea59e0b
add eax, ecx
not eax
mov edi, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [0x1006d5f4]
mov ecx, dword [0x1006d5f8]
mov edx, eax
xor edx, ecx
mov esi, eax
or esi, ecx
not esi
add esi, edx
and eax, ecx
add eax, esi
add eax, 1
mov dword [edi + 4], eax
movaps xmm0, xmmword [0x1005e1d0]
movups xmmword [edi + 8], xmm0
movaps xmm0, xmmword [0x1005e1e0]
movups xmmword [edi + 0x18], xmm0
movaps xmm0, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
movups xmmword [edi + 0x28], xmm0
movaps xmm0, xmmword [0x1005e200]
movups xmmword [edi + 0x38], xmm0
movaps xmm0, xmmword [0x1005e210]
movups xmmword [edi + 0x48], xmm0
movaps xmm0, xmmword [0x1005e220]
movups xmmword [edi + 0x58], xmm0
movaps xmm0, xmmword [0x1005e230]
movups xmmword [edi + 0x68], xmm0
movaps xmm0, xmmword [0x1005e240]
movups xmmword [edi + 0x78], xmm0
movaps xmm0, xmmword [0x1005e250]
movups xmmword [edi + 0x88], xmm0
movaps xmm0, xmmword [0x1005e260]
movups xmmword [edi + 0x98], xmm0
movaps xmm0, xmmword [0x1005e270]
movups xmmword [edi + 0xa8], xmm0
movaps xmm0, xmmword [0x1005e280]
movups xmmword [edi + 0xb8], xmm0
movaps xmm0, xmmword [0x1005e290]
movups xmmword [edi + 0xc8], xmm0
movaps xmm0, xmmword [0x1005e2a0]
movups xmmword [edi + 0xd8], xmm0
movaps xmm0, xmmword [0x1005e2b0]
movups xmmword [edi + 0xe8], xmm0
movaps xmm0, xmmword [0x1005e2c0]
movups xmmword [edi + 0xf8], xmm0
push eax
mov dword [ebp - 0x1c], esp
mov esi, dword [0x1006d3d4]
mov edx, dword [0x1006d3d8]
mov dword [ebp - 0x20], edx
mov eax, esi
and eax, edx
mov ebx, esi
xor ebx, edx
mov ecx, esi
or ecx, edx
not ecx
add ecx, eax
add ecx, ebx
add ecx, eax
add ecx, 1
mov dword [ebp - 0x28], ecx
mov ecx, esi
sub eax, esi
mov dword [ebp - 0x24], ebx
add eax, ebx
not ebx
add ebx, eax
mov eax, esi
not eax
mov edi, esi
mov edx, esi
mov dword [ebp - 0x10], esi
or edi, eax
mov esi, edi
sub ebx, eax
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
or ecx, eax
mov dword [ebp - 0x14], ecx
not eax
mov ecx, edx
xor ecx, eax
mov edx, esi
and edx, ecx
mov esi, ecx
not ecx
add ecx, edx
and esi, dword [ebp - 0x10]
add ecx, esi
add ecx, 1
not ecx
mov edx, dword [ebp - 0x24]
or ebx, edx
lea ecx, [ecx + ebx*2]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x28]
mov esi, ecx
or esi, edx
lea ebx, [edx + esi]
mov dword [ebp - 0x20], ebx
not esi
add esi, dword [ebp - 0x20]
not ecx
or ecx, edx
sub esi, ecx
mov edx, esi
not edx
lea ecx, [esi + edx]
add ecx, edx
add ecx, esi
add ecx, edx
add ecx, 2
and ecx, 0xa8936fa
and esi, 0xf576c905
or esi, ecx
mov ecx, esi
and ecx, 0xa8936fa
mov edx, esi
xor edx, 0x7576c905
add edx, ecx
mov ecx, esi
not ecx
add ecx, edx
and esi, 0x7576c905
add esi, ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
and edx, 0x581cbe14
sub edx, ecx
not ecx
and ecx, 0x581cbe14
add ecx, edx
add esi, esi
sub ecx, esi
xor edi, eax
mov edx, dword [ebp - 0x2c]
or edx, eax
add edx, edi
not edi
lea edx, [edx + edi*2]
sub edx, dword [ebp - 0x14]
or eax, dword [ebp - 0x10]
sub edx, eax
mov eax, edx
not eax
mov esi, eax
and esi, 0x55f032a2
mov edi, edx
and edi, 0x55f032a2
lea esi, [esi + edi*2]
add esi, 0xaa0fcd5e
and eax, 0xaa0fcd5d
or edi, eax
xor edx, 0x55f032a2
add edx, edi
add eax, edx
add eax, 1
mov edx, eax
not edx
or edx, eax
and edx, esi
or eax, esi
add eax, edx
sub eax, esi
xor eax, 0xaa0fcd5d
add ecx, 0xe3831bd0
mov edx, ecx
or edx, eax
add edx, eax
mov esi, ecx
xor esi, eax
not esi
add esi, edx
not ecx
or ecx, eax
sub esi, ecx
lea eax, [esi - 0x495dab99]
mov ecx, eax
not ecx
and eax, 0x4ad01e2
add eax, esi
add eax, 0xb6a25467
and ecx, 0x4ad01e2
lea edx, [eax + ecx]
add eax, ecx
add eax, 0x92cc3106
mov ecx, eax
and ecx, 0x71979ce6
add edx, edx
add edx, 0x2598620c
sub edx, ecx
mov ecx, eax
xor ecx, 0x8e686319
add ecx, edx
or eax, 0x8e686319
sub ecx, eax
add ecx, 0x71979ce7
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
push eax
mov dword [ebp - 0x10], esp
mov ecx, dword [0x1006d3dc]
mov esi, dword [0x1006d3e0]
mov edi, esi
not edi
lea ebx, [edi + edi]
sub ebx, edi
xor ebx, ecx
and ebx, ecx
lea edx, [ebx + ebx]
sub edx, ebx
and edi, 0xc6ec3743
and esi, 0x3913c8bc
or esi, edi
sub esi, edi
sub esi, edi
not edi
add edi, edi
sub esi, edi
add esi, 0xfffffffe
mov edi, esi
xor edi, 0x3913c8bc
xor esi, 0xc6ec3743
lea edi, [esi + edi*2]
add edi, 1
xor edi, ecx
mov esi, edi
not esi
mov ebx, esi
and ebx, ecx
add ebx, ecx
or esi, ecx
not esi
add esi, ebx
or edi, ecx
sub esi, edi
lea edi, [esi + esi*2]
not esi
lea ebx, [edi + esi*2]
mov eax, 0xfffffffe
sub eax, ebx
lea esi, [edi + esi*2]
add esi, 1
or esi, eax
and esi, edx
sub esi, eax
mov edx, esi
and edx, ecx
lea edi, [esi + esi]
sub edi, edx
sub edi, edx
sub edi, ecx
not esi
or esi, ecx
add esi, edi
lea eax, [esi + edx]
lea ecx, [edx + esi]
add ecx, 0x9dcaf088
mov edx, ecx
not edx
and edx, 0x9dcaf087
add eax, edx
add eax, 0x9dcaf088
and ecx, 0x9dcaf087
add eax, ecx
add eax, 0xc46a1ef2
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
push eax
mov eax, esp
mov ecx, dword [0x1006d5fc]
mov edx, dword [0x1006d600]
mov esi, ecx
or esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
not edx
or edx, ecx
sub esi, edx
add ecx, esi
add ecx, 1
mov dword [eax], ecx
push eax
mov dword [ebp - 0x10], esp
mov edx, dword [0x1006d3ec]
mov ecx, edx
not ecx
mov edi, ecx
sub edi, edx
sub edi, edx
mov esi, edx
and esi, 0xb43c5f2d
add esi, edx
add esi, ecx
add edi, edx
add edi, edx
and edx, 0x4bc3a0d2
add esi, edx
add esi, 0x4bc3a0d3
mov edx, esi
and edx, 0x4bc3a0d2
mov eax, esi
sub eax, edx
sub eax, edx
mov ebx, esi
or ebx, 0x4bc3a0d2
add ebx, eax
not esi
or esi, 0x4bc3a0d2
add esi, ebx
not edx
add edx, edx
sub esi, edx
mov edx, dword [0x1006d3f0]
not edx
mov eax, edi
and eax, edx
mov ebx, edi
xor ebx, edx
lea ebx, [eax + ebx*2]
or edi, edx
not edi
lea edi, [ebx + edi*2]
not eax
add eax, eax
sub edi, eax
mov eax, edi
not eax
sub edi, eax
sub edi, eax
lea eax, [edi + eax*2]
lea edi, [esi + eax]
add esi, eax
add esi, 0x6878be5c
mov eax, esi
xor eax, 0xdeb73943
add eax, edi
add eax, 0x6878be5c
mov edi, esi
not edi
and edi, 0x2148c6bc
add edi, eax
and esi, 0xdeb73943
lea eax, [edi + esi]
add edi, esi
add edi, 0x2148c6be
mov ebx, edx
neg ebx
mov esi, edi
and esi, ebx
add esi, eax
add esi, 0x2148c6be
sub esi, edx
not edi
add esi, edi
or edi, ebx
sub esi, edi
or edx, ecx
mov eax, edx
not eax
add eax, edx
lea edi, [eax + edx]
lea ecx, [edx + eax]
add ecx, 1
lea eax, [esi + edi]
add eax, 0x23eaef76
add esi, 0x23eaef75
mov edx, esi
xor edx, ecx
add edx, eax
mov eax, esi
or eax, ecx
not eax
add eax, edx
and esi, ecx
add esi, eax
imul eax, esi, 0xa98bbea1
lea ecx, [eax - 0x2c58f2d1]
mov edx, ecx
not edx
and edx, 0x71f3fa1d
add eax, edx
add eax, 0xd3a70d2f
mov edx, ecx
or edx, 0x71f3fa1d
add edx, eax
xor ecx, 0x8e0c05e2
add ecx, edx
imul eax, ecx, 0xccfa561
add eax, 0x5b62f64
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
push eax
mov eax, esp
mov dword [eax], 0x2e25553c
jmp 0x1004d61c
mov dword [ebp - 0x10], edi
nop dword [eax]
mov ebx, dword [ebp - 0x10]
mov esi, dword [0x1006ed98]
cmp dword [0x1006ed94], 0xa
setge cl
setl al
mov edx, 1
sub edx, esi
imul edx, esi
mov esi, dword [0x1006d44c]
mov edi, esi
not edi
or edi, esi
mov esi, dword [str.KG_]
and edi, esi
sub edi, esi
and edx, 1
cmp edx, edi
sete dl
mov ah, al
xor ah, dl
not ah
add ah, al
or cl, dl
add cl, ah
mov eax, dword [ebx]
test cl, 1
je 0x1004e3c3
cmp eax, 0xe8d7d074
jg 0x1004e490
cmp eax, 0x8bd8599a
jle 0x1004e500
cmp eax, 0x8bd8599b
je 0x1004e5a2
cmp eax, 0xa5fc1ac6
jne 0x1004e70a
mov ecx, dword [0x1006d4c4]
mov eax, dword [0x1006d4c8]
mov edx, eax
not edx
and edx, ecx
sub edx, ecx
not ecx
and ecx, eax
sub edx, ecx
add eax, edx
add eax, 0xa
cmp dword [0x1006ed90], eax
mov ecx, dword [0x1006ed8c]
setl al
lea edx, [ecx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
add dl, cl
mov ah, al
xor ah, cl
add ah, dl
or al, cl
add al, ah
test al, 1
jne 0x1004ea20
jmp 0x1004ea5c
cmp eax, 0x2e25553b
jg 0x1004e550
cmp eax, 0xe8d7d075
je 0x1004e5fc
cmp eax, 0xfc20f43c
jne 0x1004e720
mov esi, dword [0x1006ed88]
cmp dword [0x1006ed84], 0xa
setge al
setl cl
mov edi, esi
not edi
and edi, 1
add edi, esi
mov edx, esi
and edx, 1
add edx, edi
imul edx, esi
test dl, 1
sete ah
and dl, cl
or cl, ah
add cl, dl
or al, ah
add al, cl
test al, 1
je 0x1004e7f0
jmp 0x1004e850
cmp eax, 0x8109da1a
je 0x1004e67a
cmp eax, 0x83f8cac0
jne 0x1004e720
mov ecx, dword [0x1006ed80]
cmp dword [0x1006ed7c], 0xa
setl dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
or cl, dl
and dl, al
add dl, cl
not cl
add cl, dl
add cl, al
test cl, 1
jne 0x1004e780
jmp 0x1004e7c1
cmp eax, 0x2e25553c
je 0x1004e6d5
cmp eax, 0x4f1704db
jne 0x1004e720
mov ecx, dword [0x1006ed78]
cmp dword [0x1006ed74], 0xa
setl al
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
and al, cl
sub ah, al
test ah, 1
je 0x1004eb40
jmp 0x1004ebb7
mov edx, dword [0x1006ed70]
cmp dword [0x1006ed6c], 0xa
setl al
lea ecx, [edx + 1]
imul ecx, edx
mov edx, dword [0x1006d56c]
mov esi, dword [0x1006d570]
mov edi, esi
not edi
and edi, edx
mov ebx, edx
not ebx
add ebx, edi
and edx, esi
add edx, ebx
add edx, 1
and ecx, 1
cmp ecx, edx
sete cl
setne dl
or cl, al
and al, dl
add al, cl
not cl
add cl, al
add cl, dl
test cl, 1
jne 0x1004ebc0
jmp 0x1004f2fd
mov edx, dword [0x1006ed68]
mov eax, dword [0x1006d4ec]
mov ecx, dword [0x1006d4f0]
mov esi, ecx
not esi
and esi, eax
not eax
or eax, ecx
add eax, esi
mov ecx, 9
sub ecx, eax
cmp dword [0x1006ed64], ecx
setge cl
setl al
lea esi, [edx + 3]
imul esi, edx
and esi, 1
mov edx, dword [0x1006d4f4]
mov edi, dword [0x1006d4f8]
mov ebx, edx
or ebx, edi
sub ebx, edi
not edx
or edx, edi
add edx, ebx
add edx, 1
mov ebx, dword [ebp - 0x10]
cmp esi, edx
sete dl
setne ah
and ah, al
and cl, dl
or cl, ah
mov ah, al
xor ah, dl
add ah, cl
or al, dl
add al, ah
add al, 1
test al, 1
je 0x1004eaa0
jmp 0x1004eb1f
cmp dword [0x1006ed60], 0xa
mov esi, dword [0x1006ed5c]
setge al
setl cl
lea edx, [esi + 1]
imul edx, esi
and edx, 1
mov esi, dword [0x1006d4a4]
mov edi, dword [0x1006d4a8]
mov ebx, esi
not ebx
and ebx, edi
and esi, edi
not edi
add edi, ebx
add esi, edi
add esi, 1
cmp edx, esi
sete dl
mov ah, cl
and ah, dl
or cl, dl
add cl, ah
add cl, al
or al, dl
add al, cl
add al, 1
test al, 1
je 0x1004e920
jmp 0x1004e9c7
cmp dword [0x1006ed58], 0xa
mov eax, dword [0x1006ed54]
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
or cl, al
add cl, dl
not dl
add dl, cl
test dl, 1
je 0x1004e860
jmp 0x1004e8e0
cmp eax, 0x9a838216
je 0x1004fa10
nop word cs:[eax + eax]
nop
mov esi, dword [0x1006ed50]
mov eax, dword [0x1006d464]
mov ecx, eax
not ecx
add ecx, ecx
lea eax, [ecx + eax*2]
mov ecx, 8
sub ecx, eax
cmp dword [0x1006ed4c], ecx
setl cl
setge al
mov edx, esi
not edx
add edx, esi
add edx, esi
add edx, 0x78605b3e
imul edx, esi
test dl, 1
sete ah
mov ch, al
and ch, ah
add ch, cl
or ah, cl
add ah, ch
or dl, cl
add dl, ah
add dl, al
test dl, 1
je 0x1004e720
jmp 0x1004f290
mov eax, dword [0x1006d5c0]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x2e25553d
mov dword [ebx], eax
cmp dword [0x1006ed48], 0xa
mov ecx, dword [0x1006ed44]
setl dl
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
and al, dl
add al, dl
xor cl, dl
add cl, al
add cl, 1
test cl, 1
je 0x1004f290
mov eax, dword [0x1006d644]
mov ecx, dword [0x1006d648]
mov edx, eax
not edx
mov esi, edx
and esi, ecx
or eax, ecx
not eax
add eax, esi
sub eax, edx
add eax, 0x2e25553c
mov dword [ebx], eax
jmp 0x1004e780
mov dword [ebx], 0x4f1704db
mov ecx, dword [0x1006ed40]
mov eax, dword [0x1006d52c]
mov edx, dword [0x1006d530]
xor edx, eax
mov esi, edx
sub esi, eax
not edx
add edx, esi
add eax, edx
add eax, 0xb
cmp dword [0x1006ed3c], eax
setl al
lea edx, [ecx + ecx]
mov esi, ecx
not esi
add edx, esi
add edx, 2
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
mov ah, al
or ah, cl
add dl, ah
not ah
add ah, dl
and al, cl
not al
add al, ah
test al, 1
jne 0x1004f290
mov dword [ebx], 0x4f1704db
jmp 0x1004e7f0
mov ecx, dword [0x1006d484]
mov edx, dword [0x1006d488]
mov eax, edx
not eax
or eax, edx
and eax, ecx
sub eax, ecx
add eax, 0x8109da1a
mov esi, dword [0x1006ed38]
mov edx, esi
cmp dword [0x1006ed34], 0xa
not edx
setl byte [ebp - 0x14]
add edx, 0xe1e65a66
imul edx, esi
mov esi, dword [0x1006d494]
mov edi, dword [0x1006d498]
mov ebx, esi
and ebx, edi
lea ecx, [ebx + ebx]
mov dword [ebp - 0x18], ecx
mov ecx, esi
sub ecx, dword [ebp - 0x18]
not esi
or esi, edi
add esi, ecx
lea ecx, [ebx + esi]
add ecx, 1
mov ebx, dword [ebp - 0x10]
and edx, 1
cmp edx, ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x1c]
mov dword [edx], ecx
mov dword [ebx], eax
sete al
or al, byte [ebp - 0x14]
jne 0x1004f290
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1006d60c]
mov ecx, dword [0x1006d610]
mov edx, ecx
not edx
and edx, eax
mov esi, eax
not esi
add esi, edx
and eax, ecx
add eax, esi
add eax, 0x8109da1b
mov dword [ebx], eax
jmp 0x1004e860
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1006d4ac]
mov edx, dword [0x1006d4b0]
mov esi, ecx
or esi, edx
mov edi, esi
not edi
lea esi, [esi + edi*2]
not edx
or edx, ecx
sub esi, edx
add ecx, esi
add ecx, 0x7c7a3f6c
cmp eax, ecx
mov ecx, 0xa5fc1ac6
mov eax, 0xe8d7d075
cmovl ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [0x1006ed30]
mov ecx, dword [0x1006d4b4]
mov edx, dword [0x1006d4b8]
mov edi, ecx
not edi
and edi, edx
and ecx, edx
not edx
add edx, edi
add ecx, edx
add ecx, 0xb
cmp dword [0x1006ed2c], ecx
setge dh
setl dl
lea edi, [esi - 1]
imul edi, esi
mov ecx, dword [0x1006d4bc]
mov ebx, dword [0x1006d4c0]
mov eax, ecx
and eax, ebx
mov esi, ecx
or esi, ebx
sub esi, eax
xor ecx, ebx
sub esi, ecx
and edi, 1
cmp edi, esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
setne al
or al, dl
add al, dh
test al, 1
jne 0x1004f290
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1006d614]
mov esi, dword [0x1006d618]
mov edx, ecx
and edx, esi
mov edi, ecx
lea ebx, [ecx + ecx]
or ecx, esi
not esi
and edi, esi
lea edx, [edi + edx*2]
sub ebx, edx
not ecx
add ecx, ebx
sub ecx, esi
add ecx, 0x7c7a3f6b
cmp eax, ecx
mov eax, 0xa5fc1ac6
mov ecx, 0xe8d7d075
cmovl eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1004e920
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0x7c7a3f6b
mov eax, 0xfc20f43c
mov ecx, 0x9a838216
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [0x1006ed28]
cmp dword [0x1006ed24], 0xa
setl cl
lea edx, [eax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
jne 0x1004f290
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [0x1006d61c]
mov edx, dword [0x1006d620]
mov esi, ecx
not esi
and esi, edx
and ecx, edx
not edx
add edx, esi
add ecx, edx
add ecx, 0x7c7a3f6c
cmp eax, ecx
mov eax, 0xfc20f43c
mov ecx, 0x9a838216
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1004ea20
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0xfb52fe1e
mov eax, 0xfc20f43c
mov ecx, 0x8bd8599b
cmove eax, ecx
mov dword [ebx], eax
mov eax, dword [str.C__h]
mov ecx, dword [0x1006d508]
mov edx, eax
xor edx, ecx
mov edi, eax
or edi, ecx
not edi
add edi, edx
mov esi, dword [0x1006ed20]
and eax, ecx
add eax, edi
add eax, 0xb
cmp dword [0x1006ed1c], eax
setge cl
setl al
mov edx, esi
and edx, 1
add edx, esi
mov edi, esi
not edi
add edx, edi
or edi, 1
sub edx, edi
add edx, 1
imul edx, esi
test dl, 1
sete ah
and dl, al
mov ch, al
or ch, ah
add ch, dl
add ch, cl
and al, ah
not al
add al, ch
test al, 1
jne 0x1004f290
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, 0xfb52fe1e
mov eax, 0xfc20f43c
mov ecx, 0x8bd8599b
cmove eax, ecx
mov dword [ebx], eax
jmp 0x1004eaa0
mov ecx, dword [0x1006d554]
mov edx, dword [0x1006d558]
mov eax, ecx
or eax, edx
not eax
add eax, edx
not ecx
or ecx, edx
sub eax, ecx
add eax, 0xa
cmp dword [0x1006ed18], eax
mov edx, dword [0x1006ed14]
setl al
mov ecx, edx
not ecx
add ecx, edx
add ecx, edx
add ecx, 0x98d814e2
imul ecx, edx
mov esi, dword [0x1006d55c]
mov edx, dword [0x1006d560]
mov edi, esi
not edi
mov ebx, edi
and ebx, edx
add ebx, esi
not edx
or edx, esi
add edx, ebx
mov ebx, dword [ebp - 0x10]
add edx, edi
add edx, 2
and ecx, 1
cmp ecx, edx
sete cl
or cl, al
mov dword [ebx], 0x83f8cac0
jne 0x1004f290
mov dword [ebx], 0x83f8cac0
jmp 0x1004eb40
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
cmp ecx, dword [ebp + 0x10]
mov eax, 0
cmovae ecx, eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
mov eax, ebx
not eax
mov esi, eax
mov edx, eax
and edx, 0x300a151b
sub edx, eax
or eax, 0x300a151b
add eax, edx
mov edx, ebx
xor edx, 0x300a151b
add edx, eax
mov eax, ebx
or eax, 0x300a151b
sub edx, eax
mov edi, ebx
and edi, 0xcff5eae4
or edi, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp + 8]
movzx edx, byte [eax + ecx + 8]
mov dword [ebp - 0x14], edx
not edx
or esi, edx
xor edi, 0x300a151b
and edi, edx
mov dword [ebp - 0x3c], edi
mov ecx, ebx
mov dword [ebp - 0x18], ebx
xor ebx, edx
mov eax, ebx
sub eax, ecx
or edx, ecx
add edx, eax
not ebx
add ebx, edx
sub ebx, esi
not esi
lea ecx, [esi + esi]
mov edx, ecx
neg edx
mov eax, edx
xor eax, 0x91aa0ab5
sub eax, ecx
mov ecx, edx
xor ecx, 0x6e55f54a
lea eax, [eax + ecx*2]
lea ecx, [esi + esi]
add ecx, 0xffffffff
or ecx, 0x91aa0ab5
sub eax, ecx
or edx, 0x6e55f54a
sub eax, edx
mov ecx, eax
not ecx
lea edx, [ecx + eax*2]
mov dword [ebp - 0x38], edx
lea edx, [ecx + eax*2 + 0x53443fe3]
mov ecx, edx
not ecx
mov esi, dword [ebp - 0x18]
lea edi, [esi + esi]
mov dword [ebp - 0x40], edi
mov eax, ecx
and eax, edi
mov edi, dword [ebp - 0x38]
add eax, edi
add eax, 0x53443fe3
or edx, dword [ebp - 0x40]
lea eax, [eax + esi*2]
not edx
add edx, eax
sub edx, ecx
mov eax, edx
and eax, 0xacbbc01e
add eax, edx
not edx
and edx, 0xacbbc01e
add edx, eax
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
not eax
add eax, eax
add eax, ecx
add edx, dword [ebp - 0x14]
mov ecx, edx
not ecx
and ecx, 0xdca0476a
mov esi, edx
sub esi, ecx
mov ecx, edx
xor ecx, 0xdca0476a
add ecx, esi
or edx, 0xdca0476a
sub ecx, edx
lea edx, [eax + ecx*2]
add edx, 0x72811da8
add ecx, 0xb9408ed4
mov eax, ecx
not eax
add eax, edx
mov esi, 0xdca04768
sub esi, eax
sub edx, ecx
and ebx, dword [ebp - 0x18]
mov eax, ebx
not eax
lea ecx, [eax + eax]
lea ecx, [ecx + ebx*2]
xor ecx, 0xfffffffe
mov edi, eax
xor edi, ecx
or ecx, eax
lea eax, [edi + ecx]
not edi
add edi, eax
not edi
add edi, edi
mov eax, esi
sub eax, edi
or esi, ecx
not esi
add esi, eax
add edx, 0x235fb896
or edx, ecx
sub esi, edx
imul eax, esi, 0xbba88a4f
lea ecx, [eax + 0x7201a38a]
add eax, eax
add eax, 0xe4034714
mov edx, ecx
or ecx, 0x63864025
sub eax, ecx
not edx
or edx, 0x9c79bfda
add edx, eax
imul eax, edx, 0x56d9b351
add eax, 0x4cb2a15c
mov ecx, eax
and ecx, 0xc4a9a0d5
mov edx, eax
or edx, 0x3b565f2a
add edx, ecx
xor eax, 0xc4a9a0d5
add eax, edx
add eax, 0x3b565f2b
mov ecx, eax
or ecx, 0x3b565f2a
sub ecx, eax
mov edx, eax
or edx, 0xc4a9a0d5
add edx, ecx
lea esi, [edx + eax]
add eax, edx
add eax, 0xc4a9a0d7
mov ecx, eax
xor eax, 0x547ab22c
lea eax, [esi + eax*2]
add eax, 0xc4a9a0d7
not ecx
mov edx, ecx
and edx, 0x2b854dd3
lea eax, [eax + edx*2]
add ecx, ecx
or ecx, 0x570a9ba6
sub eax, ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x30]
movzx ecx, byte [ecx + edi]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd47ab22c
add edx, edx
add edx, 0xa8f56458
mov eax, ecx
xor eax, 0xd47ab22c
sub edx, eax
mov eax, ecx
xor eax, 0x2b854dd3
add eax, eax
sub edx, eax
not ecx
add ecx, ecx
or ecx, 0xa8f56458
lea eax, [edx + ecx]
add eax, 0x21ff8894
mov ecx, eax
and ecx, 0xcaf4ecec
not eax
or eax, 0xcaf4ecec
sub ecx, eax
lea edx, [ecx + 0x350b1313]
mov eax, edx
and eax, 0xffffff00
mov esi, edx
xor esi, 0xffffff00
add esi, eax
mov eax, 0xcaf4ecec
sub eax, ecx
sub esi, ecx
or eax, 0xffffff00
sub esi, eax
add esi, 0xcaf4ecec
and esi, edx
mov dword [ebp - 0x38], esi
mov edx, dword [ebp + 8]
mov al, byte [edx + esi + 8]
mov ecx, dword [ebp - 0x34]
mov byte [edx + ecx + 8], al
mov eax, dword [ebp - 0x14]
mov byte [edx + esi + 8], al
mov eax, ecx
not eax
add ecx, eax
add eax, ecx
add eax, 2
lea edx, [eax + eax]
not eax
lea ecx, [edx + eax]
add eax, edx
add eax, 0xedc87b3a
mov edx, eax
xor edx, 0x123784c6
add edx, ecx
mov esi, eax
xor esi, 0x6dc87b39
lea edx, [edx + esi*2]
or eax, 0xedc87b39
sub eax, edx
mov edx, 0x123784c5
sub edx, ecx
or edx, 0x123784c6
add edx, eax
mov dword [ebp - 0x34], edx
mov esi, edi
mov eax, edi
not eax
mov ecx, eax
and ecx, 1
mov edx, edi
xor edx, 1
add edx, ecx
mov ecx, edi
and ecx, 1
add ecx, edx
add ecx, 0xffffffff
mov edx, edi
or edx, eax
and edx, 0xde1f9685
add edx, edi
and ecx, eax
add ecx, eax
add ecx, edi
lea esi, [edx + ecx]
add ecx, edx
add ecx, 0x149776fa
mov edx, ecx
and edx, 0xd48f281
add esi, esi
add esi, 0x292eedf4
sub esi, edx
mov edx, ecx
xor edx, 0xf2b70d7e
add edx, esi
or ecx, 0xf2b70d7e
sub edx, ecx
lea ecx, [edx + 0x5f84050b]
mov esi, ecx
and esi, 0xfffffffe
add edx, edx
add edx, 0xbf080a16
sub edx, esi
mov esi, ecx
xor esi, 1
add esi, edx
or ecx, 1
sub esi, ecx
lea ecx, [esi - 2]
mov edx, ecx
and edx, 0xadc4ed77
add esi, esi
add esi, 0xfffffffc
sub esi, edx
not ecx
and ecx, 0x523b1288
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0x5b89daf0
add eax, 0xd5e72340
or eax, 0xfffffffe
mov edi, eax
not edi
mov ebx, eax
and ebx, 0x5248bd57
lea esi, [edi + edi]
sub esi, ebx
lea ebx, [edi + eax*2]
add ebx, 1
or edi, 0xadb742a8
sub esi, edi
add esi, eax
and ebx, 0xadb742a8
or esi, ebx
mov edi, esi
xor edi, 0x5248bd57
not esi
mov eax, esi
and eax, 0xadb742a8
add eax, edi
or esi, 0x5248bd57
sub eax, esi
mov esi, ecx
and esi, 0xfb305f11
add edx, esi
add edx, 0x5b89daf0
or ecx, 0xfb305f11
sub edx, ecx
sub edx, ecx
not ecx
add ecx, ecx
sub edx, ecx
not esi
lea ecx, [edx + esi]
add ecx, 0xfb305f10
mov edx, 0xadb742a9
sub edx, eax
lea esi, [eax + 0x5248bd56]
or esi, edx
and esi, ecx
sub esi, eax
imul edx, esi, 0x24506f9
lea eax, [edx + 0x5680eed8]
mov ecx, eax
and ecx, 0x4b097e18
add edx, edx
add edx, 0xad01ddb0
sub edx, ecx
sub edx, ecx
not eax
or eax, 0x4b097e18
add eax, edx
add eax, ecx
imul eax, eax, 0xcaadb49
lea ecx, [eax - 0x1d39d283]
mov edx, ecx
not edx
and edx, 0x2cb9220d
add eax, edx
add eax, 0xe2c62d7d
and ecx, 0x2cb9220d
lea edx, [eax + ecx]
add eax, ecx
add eax, 0xa68dbbe6
mov ecx, eax
and ecx, 0x29e4adcc
add edx, ecx
add edx, 0xa68dbbe6
not eax
add edx, eax
or eax, 0x29e4adcc
sub edx, eax
mov dword [ebp - 0x30], edx
lea eax, [edx + 0x29e4adcc]
mov ecx, eax
or ecx, 0x2cb9220d
add edx, ecx
add edx, 0x29e4adcc
not ecx
lea ecx, [edx + ecx*2]
or eax, 0xd346ddf2
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov ebx, dword [0x1006d3f4]
mov esi, ebx
not esi
lea edi, [esi + esi*2]
sub edi, esi
sub edi, esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x50], esi
and esi, 0xbb2579cf
add esi, ebx
mov ecx, ebx
or ecx, 0xa765c87b
sub ecx, ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], ebx
and ebx, 0x589a3784
mov edx, ecx
xor edx, ebx
mov eax, edx
sub eax, ecx
or ebx, ecx
add ebx, eax
not edx
add edx, ebx
add edx, ecx
add edx, 1
xor edx, 0x589a3784
mov ebx, dword [0x1006d3f8]
mov eax, edx
and eax, ebx
mov dword [ebp - 0x44], eax
mov eax, edx
xor eax, ebx
mov dword [ebp - 0x14], eax
or edx, ebx
not ebx
mov eax, edi
mov dword [ebp - 0x18], edi
sub edi, ebx
xor eax, ebx
sub edi, eax
mov ecx, dword [ebp - 0x18]
or ecx, ebx
add ecx, edi
not eax
add eax, eax
sub ecx, eax
mov eax, dword [ebp - 0x18]
not eax
or eax, ebx
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x40]
and ecx, 0x44da8630
mov edi, dword [ebp - 0x50]
or edi, 0x44da8630
add edi, ecx
mov ecx, dword [ebp - 0x48]
or ecx, 0x44da8630
add ecx, edi
add ecx, 0xbb2579d1
mov edi, dword [ebp - 0x4c]
xor edi, 0xbb2579cf
sub esi, edi
or esi, ecx
mov ecx, esi
not ecx
mov edi, esi
xor edi, 0x3b2579cf
and ecx, 0x44da8630
lea ecx, [ecx + edi*2]
and esi, 0xbb2579cf
add ecx, esi
add ecx, 1
not eax
mov esi, ecx
not esi
lea edi, [eax + 0x7cfed8ac]
and esi, edi
add eax, esi
add eax, 0x7cfed8ac
add eax, ecx
mov ebx, edi
not ebx
add ebx, eax
and edi, ecx
mov esi, 0x7cfed8ab
sub esi, ebx
sub esi, edi
not edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
add eax, ecx
add edx, eax
lea eax, [ecx + edx]
add eax, 1
or eax, dword [ebp - 0x14]
lea ecx, [edi + ebx]
add ecx, 0x83012754
mov edx, esi
or esi, eax
or ecx, eax
neg eax
add eax, eax
sub edx, eax
not esi
add esi, edx
sub esi, ecx
mov eax, esi
not eax
add esi, eax
add esi, eax
mov eax, 0xfffffefe
sub eax, esi
imul ecx, eax, 0xa3f32feb
mov edx, ecx
and edx, 0x182012b
mov esi, ecx
and ecx, 0xfe7dfed4
lea ecx, [ecx + edx*2]
imul eax, eax, 0xebd98fc1
sub eax, ecx
not esi
and esi, 0xfe7dfed4
add esi, eax
imul eax, esi, 0x94d87f3d
add eax, 0x47af1b7c
mov esi, dword [ebp - 0x34]
cmp esi, eax
mov eax, 0xfb52fe1e
mov ecx, 0x7c7a3f6b
cmove eax, ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
lea ecx, [edx + ecx + 0x569dcfda]
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [0x1006d57c]
mov ecx, dword [0x1006d580]
mov edx, eax
xor edx, ecx
mov esi, edx
not esi
lea edx, [edx + esi*2]
mov esi, ecx
not esi
or esi, eax
sub edx, esi
not eax
or eax, ecx
mov ecx, dword [0x1006ed10]
sub edx, eax
add edx, 0xa
cmp dword [0x1006ed0c], edx
setge al
setl dl
lea ebx, [ecx + 1]
imul ebx, ecx
test bl, 1
sete cl
or cl, dl
add cl, dl
add cl, al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x83f8cac0
add cl, 1
test cl, 1
je 0x1004f2fd
nop dword [eax]
mov ecx, dword [0x1006ed08]
mov edx, dword [0x1006d5e4]
mov eax, dword [0x1006d5e8]
mov esi, eax
not esi
mov edi, edx
and edi, esi
xor eax, edx
not eax
add eax, edi
or esi, edx
sub eax, esi
add eax, 0xa
cmp dword [0x1006ed04], eax
setl al
mov edx, ecx
not edx
add edx, 0x308225a8
imul edx, ecx
mov ecx, dword [0x1006d5ec]
mov esi, dword [str.6IZa]
mov edi, ecx
or edi, esi
sub edi, ecx
mov ebx, ecx
xor ebx, esi
not ebx
add ebx, edi
not ecx
or ecx, esi
sub ebx, ecx
and edx, 1
cmp edx, ebx
sete cl
or cl, al
je 0x1004f290
jmp 0x1004e3c0
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ebp - 0x38], edx
cmp ecx, dword [ebp + 0x10]
mov eax, 0
cmovae ecx, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + edx + 8]
mov edx, esi
mov edi, esi
not edi
mov esi, eax
mov ebx, eax
mov dword [ebp - 0x18], eax
not esi
mov eax, edi
xor eax, esi
mov ecx, edi
or ecx, esi
mov dword [ebp - 0x14], esi
add ecx, eax
not eax
lea eax, [ecx + eax*2]
mov ecx, edi
or ecx, ebx
sub eax, ecx
mov ecx, edx
mov ebx, edx
mov dword [ebp - 0x30], edx
or ecx, esi
sub eax, ecx
not eax
lea ecx, [eax + eax]
mov edx, ecx
neg edx
and edx, 0x6e55f54a
sub edx, ecx
add eax, eax
add eax, 0xffffffff
and eax, 0x6e55f54a
lea ecx, [edx + eax]
add eax, edx
add eax, 0x2354156b
mov edx, eax
and edx, 0x6e55f54b
add ecx, edx
add ecx, 0x2354156b
not eax
and eax, 0x6e55f54a
add eax, ecx
lea ecx, [eax + eax]
not eax
add eax, ecx
and ebx, 0xcff5eae4
lea edx, [edi + ebx]
add edx, 0x300a151c
or edx, ebx
mov ecx, edx
xor ecx, 0xcff5eae4
xor edx, 0x300a151b
lea esi, [ecx + edx*2]
add esi, 1
mov ecx, dword [ebp - 0x14]
add ecx, ecx
mov dword [ebp - 0x3c], ecx
mov edi, dword [ebp - 0x18]
lea ebx, [edi + ecx]
add ebx, 1
mov ecx, esi
and ecx, ebx
mov edx, esi
not edx
and edx, ebx
sub ecx, edx
mov edx, dword [ebp - 0x3c]
add edx, edi
add ecx, edx
add ecx, 1
mov edi, esi
xor edi, ebx
add edi, ecx
or esi, ebx
sub edi, esi
mov esi, dword [ebp - 0x30]
lea ecx, [eax + esi*2]
mov ebx, dword [ebp - 0x18]
lea eax, [ebx + ecx]
add eax, 1
add ecx, ebx
mov edx, eax
and edx, 0x235fb895
add ecx, ecx
add ecx, 2
sub ecx, edx
not eax
and eax, 0xdca0476a
add eax, ecx
not edi
mov edx, eax
or edx, edi
add edx, edi
mov ecx, eax
xor ecx, edi
not ecx
add ecx, edx
not eax
or eax, edi
sub ecx, eax
mov edx, esi
mov esi, dword [ebp - 0x14]
xor esi, edx
and edx, esi
sub edx, esi
sub edx, esi
not esi
add esi, esi
sub edx, esi
lea eax, [edx - 2]
mov edi, edx
mov edx, eax
not edx
lea esi, [edx + edx]
sub esi, eax
sub esi, edx
lea eax, [esi + edi]
add eax, 0xfffffffe
lea edx, [ecx + 0x235fb896]
not edx
lea ecx, [ecx + ecx*2 + 0x6a1f29c2]
lea ecx, [ecx + edx*2]
mov edx, eax
not edx
add eax, edx
sub edx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xa2711f7
mov edx, ecx
and edx, 0xdf367ed2
add eax, edx
add eax, 0xa2711f7
not ecx
add eax, ecx
or ecx, 0xdf367ed2
sub eax, ecx
lea ecx, [eax - 0x20c9812e]
mov edx, ecx
or edx, 0xf5d8ee0b
lea esi, [eax + edx]
add esi, 0xdf367ed2
not edx
lea edx, [esi + edx*2]
or ecx, 0xa2711f4
sub edx, ecx
lea ecx, [edx + eax]
add ecx, 0xdf367ed2
add eax, edx
add eax, 0xd50f6cde
mov edx, eax
not edx
and edx, 0xdf367ed2
add ecx, edx
add ecx, 0xf5d8ee0c
and eax, 0xdf367ed2
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x7ce96186
lea ecx, [edx + edx]
add ecx, 0xf9d2c30c
mov edx, eax
xor edx, 0x3b565f2a
sub ecx, edx
mov edx, eax
xor edx, 0x44a9a0d5
add edx, edx
sub ecx, edx
not eax
add eax, eax
or eax, 0x76acbe54
add eax, ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x34]
movzx ecx, byte [ecx + edi]
add eax, ecx
imul eax, eax, 0x4b49a141
add eax, 0x587cd8ac
mov ecx, eax
and ecx, 0x9e6b9465
not eax
or eax, 0x9e6b9465
sub ecx, eax
imul eax, ecx, 0xa1d3eec1
lea ecx, [eax + 0x16dc4b1a]
mov edx, ecx
or edx, 0xcaf4ecec
add eax, edx
add eax, 0x16dc4b1a
not ecx
or ecx, 0xcaf4ecec
lea edx, [eax + ecx]
add ecx, eax
add ecx, 1
mov eax, ecx
and eax, 0xb8b039da
add edx, eax
add edx, 1
mov eax, ecx
not eax
and eax, 0x474fc625
add eax, edx
xor ecx, 0x474fc625
sub eax, ecx
add eax, 0x7c5ad939
mov ecx, eax
not ecx
and ecx, 0xffffff00
mov edx, eax
xor edx, 0xffffff00
add edx, ecx
mov ecx, eax
and ecx, 0xffffff00
add ecx, edx
add ecx, 0x100
and ecx, eax
neg ecx
imul eax, ecx, 0xe50f9e05
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xabd307d6
add edx, eax
and ecx, 0x542cf829
add ecx, edx
and eax, 0xabd307d6
add eax, ecx
imul ecx, eax, 0xe2a78133
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp + 8]
mov al, byte [ecx + esi - 0x1d587ec5]
mov edx, dword [ebp - 0x38]
mov byte [esi + edx + 8], al
mov byte [ecx + esi - 0x1d587ec5], bl
imul eax, edx, 0xdfd8484d
mov ecx, 0x2027b7b3
sub ecx, eax
mov edx, ecx
xor edx, 0x66e56072
sub edx, eax
mov esi, ecx
xor esi, 0x191a9f8d
lea edx, [edx + esi*2]
or ecx, 0x991a9f8d
sub edx, ecx
add eax, 0xdfd8484c
or eax, 0x66e56072
sub edx, eax
imul eax, edx, 0xf29bcf7b
lea ecx, [eax + 0x123784c6]
mov edx, ecx
and edx, 0x123784c6
sub edx, eax
and ecx, 0xedc87b39
add ecx, edx
neg ecx
add eax, ecx
add eax, 0x123784c7
mov dword [ebp - 0x18], eax
mov edx, edi
mov ecx, edi
or ecx, 0xde1f9685
add ecx, edi
mov eax, edi
xor eax, 0x21e0697a
add eax, ecx
mov ecx, edi
or ecx, 0x21e0697a
sub eax, ecx
mov ecx, edi
not ecx
mov ebx, edi
xor edi, 1
mov esi, edi
and esi, ecx
mov edx, edi
and edx, ebx
sub esi, edx
add esi, edi
mov edx, edi
xor edx, ecx
add edx, esi
or edi, ecx
sub edx, edi
add eax, 0x21e0697b
mov esi, eax
not esi
and esi, 0xf2b70d7e
mov edi, eax
sub edi, esi
mov esi, eax
xor esi, 0xf2b70d7e
add esi, edi
or eax, 0xf2b70d7e
sub esi, eax
lea eax, [edx + esi*2]
add eax, 0xcadc35f8
add esi, 0xe56e1afc
not esi
lea edx, [eax + esi]
add eax, esi
add eax, 0xd48f283
not eax
lea edx, [eax + edx*2]
add edx, 0x1a91e506
add ebx, ebx
mov eax, ecx
sub eax, ebx
add ecx, ecx
sub eax, ecx
add eax, 0xfffffffe
mov ecx, eax
xor ecx, 0xfffffffe
mov esi, eax
or esi, 0xfffffffe
add esi, ecx
xor eax, 1
lea ecx, [esi + eax]
add eax, esi
add eax, 1
mov esi, eax
not esi
lea edi, [esi + esi]
sub edi, eax
sub edi, esi
add ecx, edi
add ecx, 1
mov esi, ecx
and esi, 0x5248bd57
mov eax, ecx
or ecx, 0x5248bd57
lea edi, [esi + esi]
sub edi, ecx
sub edi, ecx
not ecx
add ecx, ecx
sub edi, ecx
not esi
lea ecx, [edi + esi]
add esi, edi
add esi, 0xffffffff
not eax
and eax, 0xadb742a8
neg ecx
or ecx, esi
and ecx, eax
sub ecx, eax
or eax, esi
add eax, ecx
mov ecx, edx
and ecx, 0xfb305f11
lea edi, [edx + edx]
sub edi, ecx
sub edi, ecx
not edx
or edx, 0xfb305f11
add edx, edi
xor eax, 0x5248bd57
add edx, ecx
sub edx, eax
imul eax, edx, 0x24506f9
lea ecx, [eax + 0x24506f9]
mov edx, ecx
not edx
and edx, 0x4b097e18
add eax, edx
add eax, 0x24506f9
and ecx, 0x4b097e18
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0x69ed03d0
mov eax, ecx
and eax, 0x74842c94
add eax, edx
add eax, 0x69ed03d0
not ecx
add eax, ecx
or ecx, 0x74842c94
sub eax, ecx
lea ecx, [eax + 0x74842c94]
mov edx, ecx
or edx, 0x4b097e18
lea esi, [eax + edx]
add esi, 0x74842c94
not edx
lea edx, [esi + edx*2]
or ecx, 0xb4f681e7
sub edx, ecx
add eax, edx
add eax, 0x74842c94
imul eax, eax, 0xcaadb49
add eax, 0x6d2e5821
mov ecx, eax
and ecx, 0x2cb9220d
mov esi, eax
sub esi, ecx
sub esi, ecx
mov edx, eax
or edx, 0x2cb9220d
add edx, esi
not eax
or eax, 0x2cb9220d
add eax, edx
not ecx
add ecx, ecx
sub eax, ecx
add eax, 0xa68dbbe5
mov ecx, eax
and ecx, 0xd61b5233
mov edx, eax
or edx, 0x29e4adcc
add edx, ecx
xor eax, 0xd61b5233
add eax, edx
add eax, 0x29e4adcd
mov ecx, eax
or ecx, 0x2cb9220d
sub ecx, eax
mov edx, eax
or edx, 0xd346ddf2
add edx, ecx
add eax, edx
add eax, 0x2cb9220e
mov dword [ebp - 0x38], eax
mov ebx, dword [0x1006d3f4]
mov edi, ebx
not edi
mov eax, dword [0x1006d3f8]
mov dword [ebp - 0x34], eax
not eax
or eax, edi
not eax
mov ecx, eax
or ecx, 0xfba9e6e
or eax, 0xf0456191
lea esi, [ecx + eax]
add ecx, eax
add ecx, 0xfba9e6f
mov eax, ecx
and eax, 0xfba9e6d
add esi, eax
add esi, 0xfba9e6f
mov edx, ecx
not edx
and edx, 0xf0456192
add edx, esi
xor ecx, 0xf0456192
sub edx, ecx
mov dword [ebp - 0x30], edi
lea esi, [edi + edi]
sub esi, edi
mov ecx, esi
and ecx, 0x44da8630
not esi
lea edi, [esi + ecx*2]
or esi, 0x44da8630
sub edi, esi
mov esi, ebx
and esi, 0xbb2579cf
mov eax, esi
not eax
and eax, edi
mov ecx, edi
or ecx, esi
add ecx, eax
and esi, edi
not edi
add edi, ecx
lea eax, [esi + edi]
add eax, 1
mov esi, eax
xor eax, 0x44da8630
lea ecx, [edx + 0x6d443a3e]
and eax, ecx
add eax, edx
add eax, 0x6d443a3e
xor esi, 0xbb2579cf
add eax, esi
not ecx
or ecx, esi
add ecx, eax
mov eax, ebx
and eax, 0x589a3784
xor ebx, 0x589a3784
add ebx, eax
mov edx, dword [ebp - 0x30]
and edx, 0xa765c87b
add ebx, edx
lea esi, [eax + ebx]
add esi, 1
or esi, edx
xor esi, 0x589a3784
mov edx, esi
mov edi, dword [ebp - 0x34]
and edx, edi
mov eax, esi
xor eax, edi
or esi, edi
not esi
add esi, edx
add esi, eax
add esi, edx
add esi, 1
mov edx, esi
or edx, eax
lea edi, [eax + edx]
not edx
add edx, edi
not esi
or esi, eax
sub edx, esi
not ecx
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x7cfed8ac
not ecx
mov edx, ecx
and edx, 0xffffff00
add eax, edx
add eax, 0x7cfed8ac
or ecx, 0xff
sub ecx, eax
lea eax, [ecx - 0x3b3e12a]
mov edx, eax
xor edx, 0xb2d69c3f
add ecx, edx
add ecx, 0xfc4c1ed6
mov edx, eax
xor edx, 0x4d2963c0
lea ecx, [ecx + edx*2]
mov edx, eax
or edx, 0x4d2963c0
sub ecx, edx
not eax
or eax, 0xb2d69c3f
sub ecx, eax
add ecx, 0x3b3e12b
mov edx, dword [ebp - 0x18]
cmp edx, ecx
mov eax, 0xfb52fe1e
mov ecx, 0x7c7a3f6b
cmove eax, ecx
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
lea eax, [eax - 0x1d587ecd]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [0x1006d63c]
mov ecx, eax
not ecx
add eax, ecx
add eax, 0x83f8cac1
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x1004ebc0
mov ecx, dword [0x1006ed00]
cmp dword [0x1006ecfc], 0xa
setge al
setl dl
lea ebx, [ecx + 1]
imul ebx, ecx
test bl, 1
sete cl
mov ah, dl
xor ah, cl
not ah
add ah, dl
or al, cl
add al, ah
add al, 1
test al, 1
jne 0x1004fa10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret