Function at 0x5d8ea5
Capabilities:
Encrypt data using curve25519

Disassembly:
add byte [eax], al
add byte [edx], bh
mov esi, dword [esi]
and edi, 0xf0
or ebx, ecx
add esi, 0xd
sub ebx, edx
xor ebx, 1
sub edi, eax
movzx ecx, byte [esi]
or edx, 0xca
xor eax, ebx
mov esi, ebp
sub eax, 0x800
add esi, 0xd9
xor ecx, dword [esi]
sub eax, esi
or edx, 0xff
xor edi, ebx
mov esi, ebp
xor edi, 0x28
sub ebx, 0x91
or eax, ebx
sub ebx, 0x400
add esi, 0xd
xor eax, 0x3a
xor ecx, dword [esi]
or ebx, 0x26
mov esi, ebp
sub edx, 0x35
add eax, ecx
add esi, 0xb1
xor eax, 4
xor eax, 0x400
and edx, 0x68
add eax, 0x1c
add edi, 0xde
add eax, ebx
add eax, edi
mov esi, ebp
add esi, 0xd9
xor edi, ecx
add eax, 0x77
or edx, edx
and dword [esi], ecx
xor edi, 0x81
sub edx, edi
and ebx, 0xf8
add edx, 1
mov esi, ebp
sub edi, 0xb8
add esi, 0xd
or edi, 0xc7
or edi, 0x3c
xor edi, eax
xor dword [esi], 0x2cd29aad
add edx, 0x400
mov edi, 0xa
add eax, 0xfd
mov esi, ebp
add esi, 0
sub edx, edi
and eax, 0x80
or eax, eax
or eax, 0x81
add eax, 0x68
or eax, 0xf
or ebx, 2
mov esi, ebp
add esi, 0
mov edx, 0xa
sub ebx, ecx
mov ebx, 0x400
sub edi, 0x92
sub ebx, 0x3a
and dword [esi], 0x61ab06d
and edx, esi
and ebx, 0x40
mov esi, ebp
mov edi, eax
add esi, 8
xor ebx, ebx
xor edx, 0xf0
sub ebx, ecx
add byte [esi], cl
mov ecx, ebp
add ecx, 0xd9
mov ebx, ecx
and edx, 0x17e7583a
cmp dword [ebx], edx
mov edi, ebp
mov esi, ebp
add esi, 0xdd
add edi, 0xd9
mov dl, byte [esi]
add dl, 0x7c
cmp dl, 2
jne 0x5d669f
mov esi, ebp
add esi, 0x38
mov eax, dword [esi]
mov esi, ebp
add esi, 0x18
xor eax, dword [esi]
mov esi, ebp
add esi, 0x8e
xor eax, dword [esi]
add eax, 0x4f65cbba
and eax, 0xffff
add eax, ebp
mov esi, ebp
add esi, 0xb0
mov bl, byte [esi]
sub bl, 0xe4
mov eax, dword [eax]
mov edx, eax
xor edx, 0x6f57f956
mov esi, ebp
add esi, 0x8e
mov dword [esi], edx
cmp bl, 1
jne 0x5d6665
mov al, byte [eax]
cmp bl, 2
jne 0x5d6671
mov ax, word [eax]
cmp bl, 3
jne 0x5d667c
mov eax, dword [eax]
sub eax, 0x4f65cbba
mov esi, ebp
add esi, 0x8e
xor eax, dword [esi]
mov esi, ebp
add esi, 0x18
xor eax, dword [esi]
mov esi, ebp
add esi, 0x38
mov dword [esi], eax
mov esi, dword [edi]
and esi, 2
cmp esi, 0
je 0x5d66c9
mov edi, ebp
add edi, 0xd9
add dword [edi], 0x4ae28a81
mov edi, ebp
add edi, 0xd
or edi, 0x7f
or esi, 0xff
add edx, ecx
and eax, 0x40
and ebx, 0x3d
or eax, 0x800
xor ebx, 0x7f
and ebx, 0x5c
sub edi, 4
and esi, 0x77
and esi, 4
add esi, 0xde
sub edi, 0xff
add esi, 0xffff
and esi, 0x3c
or edi, esi
sub edi, 0xa1
and ebx, 0xc7
add esi, edx
sub esi, 0xfd
and eax, 0x400
sub esi, ecx
add edi, 4
or esi, 0x26
and ebx, esi
and edi, edx
and eax, 4
add ebx, 2
sub ebx, 0xa1
add eax, eax
mov edi, 0
or ebx, esi
add eax, 0x50
sub esi, 0x25
add edi, eax
xor esi, 0x91
or ebx, 0x7fffffff
sub esi, 0xf8
mov ebx, esi
and eax, 0x5c
xor edi, esi
sub esi, edx
xor edi, eax
sub eax, 0x800
or eax, 2
mov edi, 0x200
and ebx, 0x50
and ebx, esi
and esi, 0x91
add eax, 0x34
sub esi, eax
or edi, 0x35
and edi, ecx
and esi, 0x1c
or edi, edx
sub eax, 0x50
xor edi, 0x25
xor edi, ebx
mov esi, ebp
add esi, 0xe2
and edx, 0x48
mov byte [esi], 0
and edx, 0xb8
xor esi, 0x81
mov eax, ebp
sub edi, ecx
add eax, 0xdd
add edi, 0x92
xor esi, ecx
add esi, 0xf8
sub edx, 0x400
mov bl, byte [eax]
add edi, 0x33
sub edx, ecx
add bl, 0x7c
cmp bl, 1
jne 0x5d69ab
mov eax, ebp
add edi, edx
add eax, 0x38
add esi, 2
mov ecx, dword [eax]
mov eax, ebp
or esi, 0xffff
add eax, 0x18
and esi, 0x3a
and esi, 0x25
xor esi, ecx
add esi, 0x91
xor ecx, dword [eax]
mov eax, ebp
add eax, 0x8e
and edi, ebx
or edi, esi
xor ecx, dword [eax]
add ecx, 0x4f65cbba
and ecx, 0xffff
add ecx, ebp
add edi, ebx
mov ebx, ecx
mov esi, ecx
add edx, 0x7fffffff
xor edi, 0xffff
xor ecx, 0x6f57f956
xor edx, 4
sub esi, 0xc7
sub edi, 0xdf
mov eax, ebp
sub edi, 0x77
add eax, 0x8e
mov esi, 0xa
and edx, 0x400
mov dword [eax], ecx
sub esi, 0x81
add esi, 0xf8
xor edx, 0xde
add esi, 0xe5
mov ecx, dword [ebx]
sub edi, ecx
xor esi, ecx
or edi, edi
sub edx, 0x77
sub ecx, 0x4f65cbba
or edi, 0x3d
or esi, 0x40
add edx, 0xe7
mov eax, ebp
add eax, 0x8e
sub esi, 0xf0
xor ecx, dword [eax]
xor esi, 0x48
or edi, 0x800
xor edi, 0x3c
and edx, 0xe7
xor edi, 0xca
mov eax, ebp
add esi, 0xcd
add edi, 0x35
add eax, 0x18
mov edi, 0xa
and edi, esi
xor ecx, dword [eax]
sub esi, esi
mov edx, 0
and esi, 0x40
xor esi, ecx
mov eax, ebp
mov edi, edi
add esi, 0xca
and esi, 0xf5
add eax, 0x38
sub edx, ebx
xor edx, 0xf5
mov dword [eax], ecx
xor edi, 0x26
mov edi, eax
mov edi, ebx
sub esi, 0x43
or edi, eax
sub edi, 0x5c
or edi, esi
add esi, edx
sub edx, esi
and edx, 1
sub edx, eax
and edi, 0x33
mov esi, 0x200
sub edi, eax
mov esi, 0xa
mov esi, ebx
sub esi, 1
or esi, edi
sub esi, 0x25
and esi, 0xe5
mov edi, ebp
xor esi, 0xf
sub ecx, edi
add edi, 0x67
sub eax, ebx
or esi, 0xf0
or eax, esi
add eax, edx
mov dl, byte [edi]
and esi, 0x6d
xor dl, 0x76
cmp dl, 1
jne 0x5d6adb
or eax, 0xc7
mov edi, ebp
and eax, ebx
add edi, 0xb7
or ecx, ecx
mov ebx, dword [edi]
or esi, 0x3c
sub esi, 0xffff
and ecx, esi
xor ebx, 0x69928727
add ecx, 0x91
mov edi, ebp
or esi, edi
sub ecx, ebx
add edi, 0x28
add esi, 0x26
xor ebx, dword [edi]
mov esi, 0
add ecx, 0xffff
mov edi, ebp
xor ecx, 0x35
add edi, 0x18
xor eax, 0xe5
add eax, 0xdf
add ebx, dword [edi]
or esi, 0xf5
xor eax, 0x80
and eax, 0xb8
and ebx, 0xffff
sub esi, ecx
add ebx, ebp
mov ebx, dword [ebx]
xor esi, 0xe5
add eax, edx
mov edi, ebp
or eax, ebx
mov ecx, 0x400
add edi, 0x18
or esi, esi
sub ebx, dword [edi]
mov eax, edx
and esi, 0xf8
sub ecx, 0x6d
or esi, 0x40
mov edi, ebp
or esi, 0x7f
and ecx, 0x3c
add edi, 0x28
xor eax, 0x5c
and eax, edx
mov eax, edx
xor ebx, dword [edi]
or ecx, eax
or esi, edx
xor eax, 0xf5
xor ebx, 0x69928727
mov esi, ecx
mov edi, ebp
xor ecx, ecx
and esi, ecx
add edi, 0xb7
mov dword [edi], ebx
sub eax, 0x28
mov ecx, ebp
add ecx, 0xd9
xor dword [ecx], 0x6a2227f5
mov edx, ebp
add edx, 0xd
mov edx, ebp
mov esi, 0
or esi, edx
add edx, 0x67
xor esi, esi
mov dl, byte [edx]
xor dl, 0x76
cmp dl, 2
jne 0x5d6cac
mov edi, ebp
and ecx, ecx
or ecx, 0x92
and esi, esi
xor ecx, 0xcd
and esi, ecx
add edi, 0xb7
or ecx, 0x77
mov eax, dword [edi]
or ecx, 0xdf
or ecx, 0x35
xor eax, 0x69928727
and ecx, ecx
mov edi, ebp
add edi, 0x28
and ecx, ecx
xor eax, dword [edi]
sub esi, 0x26
add esi, 0xffff
and esi, 0xe7
mov edi, ebp
or ecx, 0x7fffffff
add esi, edi
add ecx, 0x26
add edi, 0x18
add eax, dword [edi]
and ecx, 0x26
and eax, 0xffff
mov esi, edi
mov edi, ebp
add edi, 0xf3
xor esi, 0x40
or ecx, ecx
mov bl, byte [edi]
sub esi, 0xca
or esi, 0xdf
sub bl, 0x67
sub ecx, 0x77
add eax, ebp
mov eax, dword [eax]
cmp bl, 1
jne 0x5d6bd6
mov al, byte [eax]
sub ecx, 0x400
or ecx, 0xf8
or esi, 0x5c
xor ecx, 0x34
cmp bl, 2
jne 0x5d6bf2
xor ecx, ecx
or ecx, 4
or esi, 0x80
mov ax, word [eax]
add ecx, edi
cmp bl, 3
jne 0x5d6c1f
xor esi, eax
sub esi, eax
add esi, 0xd6
add esi, 0x5c
and esi, 0xfd
mov eax, dword [eax]
or esi, 4
and esi, 0x7f
xor esi, 0x7fffffff
sub ecx, 0x3c
and esi, 0xca
sub esi, 0xfd
and ecx, 0xde
mov edi, ebp
and ecx, 0x91
add ecx, eax
add edi, 0x18
add esi, esi
add ecx, 0x3c
or esi, ecx
sub eax, dword [edi]
or ecx, 0x50
and esi, 0x81
sub ecx, 0x40
and ecx, edx
mov edi, ebp
add edi, 0x28
or esi, 0x6d
sub ecx, 0x50
mov ecx, eax
xor eax, dword [edi]
or esi, eax
and esi, 0x400
xor ecx, 0xff
xor eax, 0x69928727
mov edi, ebp
sub esi, eax
add edi, 0xb7
sub ecx, ebx
sub esi, 0xff
mov dword [edi], eax
and esi, esi
mov edi, 0
and edi, ebx
or edi, 0x40
add edi, 0xf8
and edi, ebx
xor edi, 0x43
sub edi, 0x26
add edi, 4
and edi, edi
mov edi, eax
add edi, eax
and edi, 0x3d
and edi, 0x800
sub edi, 0xf
sub edi, 0x7fffffff
or edi, 0x26
or edi, 0x1c
and edi, 0x3c
sub edi, eax
mov edi, 0x400
and edi, 0x5c
and edi, esi
or edi, 0xfd
xor edi, eax
add edi, 0xf5
mov edi, edi
or edi, esi
sub edi, 0xffff
mov edi, ebx
sub edi, 4
and edi, 0x3c
xor edi, 0x1c
mov edi, 0
sub edi, 0xb8
or edi, 0xf0
and edi, edx
and edi, esi
and edi, edi
or edi, 0x6d
xor edi, 0x400
xor edi, 0xd6
xor edi, 0x48
xor edi, 0x91
or edi, 4
xor edi, esi
xor edi, 0x91
xor edi, 0x26
or edi, 0x1c
add edi, 0x91
sub edi, 0xde
add edi, 0xdf
mov edi, 0xa
sub edi, 0x28
mov edi, 0x400
sub edi, 0x6d
and edi, eax
xor edi, edx
add edi, 0x81
or edi, edx
add edi, 0xf
sub edi, esi
add edi, 0x34
sub edi, edx
and edi, 0x33
or edi, 0x34
and edi, 0x28
sub edi, 0xd6
and edi, esi
or edi, edx
or edi, 0xa1
mov edi, 0x200
add edi, edx
xor edi, 0xd6
xor edi, edx
and edi, ecx
mov edi, ecx
xor edi, ecx
sub edi, 0x77
xor edi, esi
sub edi, ebx
xor edi, ebx
xor edi, edi
or edi, 0xf
add edi, 4
or edi, 0x400
xor edi, edi
xor edi, esi
add edi, 0x77
add edi, 0x35
or edi, 0x7fffffff
sub edi, 1
or edi, 0x800
xor edi, 0x80
xor edi, eax
or edi, 0xfd
and edi, 0xb8
sub edi, 0x48
add edi, 0x40
mov esi, ecx
sub esi, 0x77
and esi, ecx
sub esi, 0xa1
xor esi, esi
or esi, 0xe5
xor esi, 0x35
and esi, 0xff
and esi, edx
or esi, edx
xor esi, 0xcd
sub esi, 0xff
add esi, 0x80
add esi, 2
sub esi, 0xde
xor esi, 0xb8
and esi, 0x34
and esi, 0xde
or esi, 0x34
xor esi, 0xf5
and esi, 0x25
xor esi, 0x25
or esi, ecx
add esi, 0x34
and esi, 0xcd
or esi, 0x7fffffff
or esi, edx
xor esi, 0xe7
and esi, 0x26
mov edi, ebp
xor esi, edx
sub esi, 0x81
or esi, ecx
add edi, 0x38
or esi, 0x33
and esi, 0x92
mov ebx, dword [edi]
or esi, 0xd6
xor esi, ebx
mov edi, ebp
or esi, 0x400
add edi, 0x18
xor esi, 0xf0
xor ebx, dword [edi]
sub esi, 0x43
mov edi, ebp
or esi, esi
or esi, 0xc7
add edi, 0x8e
or esi, 0xde
xor ebx, dword [edi]
add ebx, 0x4f65cbba
or esi, 0x28
mov edi, ebp
add edi, 0xb0
add esi, 0x25
add esi, 0xfd
mov esi, 0x400
and esi, edx
mov al, byte [edi]
xor esi, ecx
xor esi, 0x7fffffff
mov edi, ebp
add esi, ebx
add edi, 8
add esi, 0xffff
mov dl, byte [edi]
xor esi, edx
sub esi, ebx
add esi, 0xa1
xor dl, 0xf0
xor esi, 0x25
xor esi, edx
xor dl, 0xba
sub esi, edx
sub dl, 0xe5
xor esi, 0x28
sub al, 0xe4
xor esi, edi
add esi, 1
mov edi, ebp
add esi, 0xe7
sub esi, 0x68
or esi, edx
or esi, 0x77
add edi, 0xb7
xor esi, 0x25
or esi, 0xf0
mov esi, edx
add esi, 0x400
mov ecx, dword [edi]
xor esi, 0x800
add esi, 0x7f
xor ecx, 0x69928727
or esi, ebx
mov esi, ebp
mov edi, 0x400
xor edi, 0xe7
or edi, 0xf8
sub edi, 0x5c
add esi, 0x28
xor edi, esi
sub edi, edi
xor ecx, dword [esi]
add edi, 0xca
or edi, ecx
and edi, 0x1c
mov esi, ebp
add esi, 0x18
and edi, 0xca
xor edi, 0xa1
and edi, 0x26
sub edi, 0x7f
and edi, 0x3a
add ecx, dword [esi]
or edi, esi
cmp dl, 0
jne 0x5d7083
cmp al, 1
jne 0x5d7083
xor bl, cl
pushfd
add edi, esi
cmp dl, 0
jne 0x5d70a0
cmp al, 2
jne 0x5d70a0
xor bx, cx
pushfd
and edi, 0xf0
sub edi, edx
cmp dl, 0
jne 0x5d70c2
cmp al, 3
jne 0x5d70c2
xor ebx, ecx
pushfd
xor edi, 2
or edi, edi
or edi, 0xf8
mov edi, 0x200
and edi, 0xdf
cmp dl, 0
jne 0x5d717b
and edi, 0xe5
mov esi, ebp
and edi, eax
and edi, 0xf0
sub edi, ecx
add edi, 0xf8
add esi, 0x13
xor edi, ebx
mov edi, eax
or edi, edx
or edi, 0x35
mov cl, byte [esi]
cmp cl, 0xdc
jbe 0x5d713a
add edi, 0x43
add ebx, 0x4f65cbba
sub edi, 0xcd
sub edi, 0xf8
xor edi, edi
xor ebx, 0x6f57f956
mov esi, ebp
add esi, 0xbb
mov dword [esi], ebx
jmp 0x5d717b
or edi, ecx
xor ebx, 0x69928727
sub edi, 0x33
mov esi, ebp
add edi, edx
sub edi, 0xdf
add esi, 0x28
and edi, ecx
and edi, edi
xor edi, 0xffff
mov dword [esi], ebx
and edi, 0x3d
and edi, 0x25
mov edi, 0
add edi, 0x48
mov edi, ebp
add edi, 0xd9
mov edx, edi
cmp dword [edx], ebx
xor edi, 4
or edi, edi
or edi, 0xf
sub edi, eax
and edi, 4
or edi, eax
and edi, eax
mov esi, 0xa
and esi, 0x800
sub esi, ebx
or esi, esi
and esi, 0xf
xor esi, 0xff
sub esi, 0x800
sub esi, 0xf0
and esi, edx
and esi, edx
xor esi, 0x50
add esi, 0x26
sub esi, 2
mov edi, 0x400
xor edi, 4
or edi, 0xfd
mov esi, 0xa
add esi, ecx
mov esi, edi
add esi, 0x26
and esi, 0x68
or esi, 0x800
xor esi, 0x50
xor esi, eax
or esi, 0xc7
mov esi, edx
and esi, 0x43
sub esi, 0x1c
and esi, ebx
xor esi, 0x7fffffff
or esi, 0x68
and esi, 0x80
xor esi, 0x50
or esi, esi
and esi, eax
sub esi, ecx
add esi, 0x68
and esi, 0xfd
mov esi, esi
sub esi, eax
xor esi, 0x68
add esi, ebx
mov esi, 0xa
sub esi, ecx
mov esi, 0x200
sub esi, 0xf5
xor esi, 0x400
xor esi, 0xf5
xor esi, 0xe5
add esi, 0xf
sub esi, edi
add esi, 0x3d
mov esi, edi
xor esi, 0xde
sub esi, 2
add esi, 0xf5
or esi, ebx
add esi, 0x800
mov edi, ebp
add edi, 0xb7
sub esi, edx
and esi, 0xf8
sub esi, 0x92
mov edx, dword [edi]
and esi, edx
and esi, ecx
xor esi, 0x77
xor edx, 0x69928727
sub esi, 0xdf
mov edi, ebp
add esi, 0xca
and esi, 0xb8
sub esi, 0x7f
add esi, 0x7fffffff
add edi, 0x28
mov esi, ecx
add esi, eax
xor esi, 0x81
sub esi, 0x400
xor edx, dword [edi]
xor esi, ecx
and esi, 0x26
xor esi, 0x80
add esi, edx
mov edi, ebp
xor esi, 0x34
sub esi, 0x25
and esi, edx
add edi, 0x18
add esi, 0xff
add esi, 0x3c
add esi, esi
add edx, dword [edi]
mov edi, ebp
add edi, 8
and esi, esi
mov cl, byte [edi]
add esi, edi
xor cl, 0xf0
or esi, 0x77
add esi, 0x50
sub esi, esi
mov esi, 0x200
xor cl, 0xba
or esi, edx
and esi, 0xfd
or esi, 0x92
sub esi, 4
sub cl, 0x3a
mov edi, ebp
and esi, ebx
and esi, 0x6d
and esi, 0xd6
add edi, 0xb0
mov bl, byte [edi]
mov edi, ebp
add esi, 0x77
xor esi, 0x48
add esi, 0x6d
add esi, esi
or esi, edi
add edi, 0x38
xor esi, ebx
sub esi, 0x43
add esi, 0x400
mov eax, dword [edi]
or esi, 0xb8
and esi, 0xff
mov esi, 0
or esi, 0x7f
sub esi, 1
mov edi, ebp
add edi, 0x18
and esi, 0x7f
mov esi, 0x400
xor eax, dword [edi]
mov edi, ebp
add edi, 0x8e
add esi, ebx
and esi, 0x40
or esi, ebx
xor eax, dword [edi]
and esi, 1
add eax, 0x4f65cbba
and esi, 0x28
and esi, esi
mov esi, 0xa
sub bl, 0xe4
add esi, ebx
mov esi, 0x200
sub esi, 0x5c
xor esi, edi
or esi, 0x26
add esi, ecx
add esi, 0x40
mov esi, 0x400
sub esi, eax
or esi, 1
add esi, esi
sub esi, 0x68
add esi, 0x81
add esi, edx
add esi, 0xf
and esi, esi
or esi, 0xf0
and esi, 0x43
mov esi, 0x200
mov esi, edi
xor esi, eax
and esi, 0x25
and esi, 0x3d
and esi, edi
add esi, 0x3d
add esi, 0x80
and esi, 0xcd
and esi, edx
mov esi, edi
add esi, 0x43
add esi, eax
sub esi, 0x7fffffff
and esi, edi
add esi, edi
and esi, 0x91
or esi, edi
and esi, 0x25
and esi, 0x92
or esi, 0x34
mov esi, 0
or esi, 0x40
and esi, 0x35
or esi, edi
add esi, ebx
xor esi, 0x91
xor esi, 0x800
sub esi, 0x35
or esi, ecx
add esi, 0x77
and esi, edi
add esi, 0x7f
xor esi, ecx
and esi, ebx
and esi, 4
or esi, 0xc7
mov esi, 0xa
add esi, 0x33
and esi, 0xa1
mov esi, 0xa
or esi, 0xf0
cmp cl, 0
jne 0x5d754b
cmp bl, 1
jne 0x5d754b
sub al, dl
pushfd
mov esi, 0x200
cmp cl, 0
jne 0x5d7563
cmp bl, 2
jne 0x5d7563
sub ax, dx
pushfd
mov esi, edi
cmp cl, 0
jne 0x5d757a
cmp bl, 3
jne 0x5d757a
sub eax, edx
pushfd
and esi, edi
add esi, edx
cmp cl, 0
jne 0x5d7614
mov edi, ebp
or esi, 0x800
add edi, 0x13
add esi, 0xa1
or esi, 0x77
mov dl, byte [edi]
cmp dl, 0xdc
jbe 0x5d75f3
xor esi, 0x7fffffff
add eax, 0x4f65cbba
xor eax, 0x6f57f956
and esi, 0x7f
and esi, 0xa1
mov edi, ebp
sub esi, 0xc7
add esi, 0xcd
sub esi, 0x48
add edi, 0xbb
mov dword [edi], eax
jmp 0x5d7612
sub esi, eax
xor esi, 2
xor esi, edx
xor eax, 0x69928727
mov edi, ebp
add esi, esi
or esi, esi
sub esi, eax
add edi, 0x28
mov dword [edi], eax
xor esi, edi
sub edi, esi
add edi, 0xde
mov esi, ebp
or edi, 0xe5
add esi, 8
and edi, eax
add edi, 0xf8
or edi, 0x33
and edi, 0x800
mov al, byte [esi]
and edi, ebx
xor edi, esi
or edi, 0x68
or edi, 0xf5
xor al, 0xf0
and edi, 0x3a
xor edi, edi
mov edi, 0x400
or edi, 0x33
xor al, 0xba
and edi, 0xc7
and edi, 0xc7
xor edi, 0x7fffffff
mov edi, edx
sub al, 0x48
cmp al, 0
jne 0x5d7862
or edi, 0xb8
sub edi, edi
mov edi, esi
mov esi, ebp
or edi, 0x3c
or edi, 0x80
or edi, 0xde
add esi, 0x38
xor edi, 0xd6
mov ebx, dword [esi]
and edi, eax
xor edi, ebx
or edi, 0x5c
mov esi, ebp
xor edi, 0xffff
and edi, 0x28
add esi, 0x18
xor ebx, dword [esi]
xor edi, esi
or edi, 0x81
and edi, 0xe7
or edi, edi
and edi, 0x1c
mov esi, ebp
xor edi, 4
sub edi, edi
sub edi, 0x43
add esi, 0x8e
sub edi, edi
xor ebx, dword [esi]
xor edi, 0xb8
add edi, 4
sub edi, edi
add ebx, 0x4f65cbba
or edi, 0xff
xor edi, ebx
add edi, 0xe5
add edi, 0x26
add edi, eax
mov esi, ebp
add esi, 0xb7
mov ecx, dword [esi]
and edi, edi
mov edi, 0
or edi, ecx
xor ecx, 0x69928727
mov esi, ebp
and edi, esi
add esi, 0x28
xor ecx, dword [esi]
add edi, 0x1c
mov esi, ebp
or edi, esi
and edi, 0xe7
sub edi, edi
sub edi, 0xca
xor edi, ecx
add esi, 0x18
add edi, esi
sub edi, 0x25
add ecx, dword [esi]
mov esi, ebp
or edi, ebx
add esi, 0xb0
xor edi, 0x34
and edi, 1
and edi, 0x40
mov dl, byte [esi]
xor edi, 1
sub dl, 0xe4
xor edi, 0x92
sub edi, 0x81
or edi, 0x50
mov edi, 0x200
or edi, edi
sub edi, edi
and edi, edi
and edi, 0x33
sub edi, esi
xor edi, edx
xor edi, 0x48
or edi, 0x40
sub edi, 0x34
xor edi, 0x7f
add edi, 0xd6
add edi, 0x1c
or edi, 0xd6
add edi, 0x25
sub edi, 0xff
sub edi, ecx
and edi, 0x3c
xor edi, edi
and edi, 0x28
and edi, 4
add edi, 0x3a
and edi, 0x91
sub edi, 1
xor edi, esi
or edi, 0xf5
add edi, 0xff
or edi, esi
sub edi, edi
or edi, 0x40
sub edi, 0x80
or edi, esi
add edi, 0xdf
and edi, 0x6d
and edi, ecx
xor edi, edx
or edi, 0xf
add edi, 0x7f
mov edx, ebp
mov ebx, ebp
add edx, 0xd9
add dword [edx], 0xda44b6
add ebx, 8
mov al, byte [ebx]
xor al, 0xf0
xor al, 0xba
sub al, 0xf5
cmp al, 0
jne 0x5d791e
mov ebx, ebp
add ebx, 0x38
mov edi, dword [ebx]
mov ebx, ebp
add ebx, 0x18
xor edi, dword [ebx]
mov ebx, ebp
add ebx, 0x8e
xor edi, dword [ebx]
add edi, 0x4f65cbba
mov ebx, ebp
add ebx, 0xb7
mov edx, dword [ebx]
xor edx, 0x69928727
mov ebx, ebp
add ebx, 0x28
xor edx, dword [ebx]
mov ebx, ebp
add ebx, 0x18
add edx, dword [ebx]
mov ebx, ebp
add ebx, 0xf3
mov cl, byte [ebx]
sub cl, 0x67
add edx, edi
pushfd
mov ebx, ebp
add ebx, 0x13
mov dl, byte [ebx]
cmp dl, 0xdc
jbe 0x5d790e
add edi, 0x4f65cbba
xor edi, 0x6f57f956
mov ebx, ebp
add ebx, 0xbb
mov dword [ebx], edi
jmp 0x5d791e
xor edi, 0x69928727
mov ebx, ebp
add ebx, 0x28
mov dword [ebx], edi
xor esi, edi
add ecx, 0xcd
xor ecx, 0x81
and esi, esi
mov eax, ebp
mov ebx, 0xa
add eax, 8
mov edx, esi
or edx, 0xf
mov bl, byte [eax]
xor edx, 0x25
add edx, 0x50
xor bl, 0xf0
or esi, 0xffff
xor bl, 0xba
sub esi, 0x5c
or esi, 0xd6
and esi, 0xcd
xor esi, eax
sub bl, 0x25
cmp bl, 0
jne 0x5d7abe
mov eax, ebp
and edx, edi
xor esi, esi
or edx, esi
xor edx, 0xffff
add eax, 0x38
sub esi, ebx
add edx, edi
mov edx, 0
and esi, ecx
mov ecx, dword [eax]
mov eax, ebp
add eax, 0x18
xor edx, 0xe5
and edx, esi
xor edx, edi
add edx, edx
xor edx, edx
xor ecx, dword [eax]
and esi, 0x400
xor edx, 0x26
mov eax, ebp
add edx, ebx
or esi, 0x43
add edx, 0xf5
or edx, 0x800
add eax, 0x8e
add edx, 2
add edx, 0x35
xor ecx, dword [eax]
and esi, 0x5c
xor esi, ebx
add ecx, 0x4f65cbba
mov eax, ebp
sub esi, 2
add eax, 0xb7
xor edx, edi
mov edi, dword [eax]
xor esi, 0xf8
xor esi, 0xb8
xor edi, 0x69928727
add esi, 0xe7
add edx, eax
sub esi, 0x3d
sub edx, 0xca
or esi, ebx
mov eax, ebp
sub edx, 0x3a
xor edx, 0xffff
xor edx, 0xa1
add eax, 0x28
xor esi, esi
xor edi, dword [eax]
or esi, edx
mov eax, ebp
or esi, 1
sub esi, 0xe5
add eax, 0x18
mov esi, ecx
or edx, edi
add edi, dword [eax]
sub edx, 0xff
add edx, 0x7f
and esi, 0xf
sub edx, 0x400
sub edx, esi
or esi, edx
and edx, eax
xor edx, 0xb8
or edx, edx
mov edx, 0x200
sub edx, edi
mov esi, ecx
mov esi, ecx
sub edx, ebx
or esi, 0xa1
add esi, 0xe7
add esi, eax
sub esi, edx
or esi, 0xc7
add edx, 0x7f
and edx, 0x81
sub edx, esi
or esi, edi
sub esi, 2
mov edi, 0x200
mov esi, ebp
add edi, ebx
xor edi, edx
add esi, 8
mov al, byte [esi]
and edi, ebx
add edi, 0xe5
xor al, 0xf0
add edi, 0x3d
and edi, 0x40
add edi, 0x5c
xor al, 0xba
sub al, 0x92
sub edi, 4
or edi, edx
sub edi, eax
or edi, esi
mov esi, ebp
or edi, 0x5c
add esi, 0x38
mov ebx, dword [esi]
mov esi, ebp
and edi, 1
mov edi, eax
add esi, 0x18
xor edi, 0xb8
and edi, edi
xor ebx, dword [esi]
and edi, 2
or edi, 0xf8
xor edi, edi
sub edi, 2
add edi, eax
mov esi, ebp
add edi, 0x5c
and edi, 0xf
sub edi, 4
add esi, 0x8e
and edi, 0x3d
xor ebx, dword [esi]
and edi, 0xca
and edi, 0xa1
add edi, 0x40
or edi, 4
add edi, 0x3c
add ebx, 0x4f65cbba
add edi, 0xc7
and edi, 0x81
add edi, 0x35
mov esi, ebp
or edi, 1
add esi, 0xb7
xor edi, ebx
sub edi, 0x400
or edi, 0x68
mov edx, dword [esi]
mov edi, 0
sub edi, esi
or edi, 0xb8
xor edx, 0x69928727
mov esi, ebp
xor edi, 0xc7
xor edi, 0x34
xor edi, 0x7fffffff
add esi, 0x28
and edi, 0xe7
add edi, 0x400
xor edx, dword [esi]
add edi, eax
mov esi, ebp
add esi, 0x18
sub edi, esi
add edx, dword [esi]
xor edi, eax
xor edi, 0x28
mov edi, ebx
mov ecx, edx
mov edi, esi
or edi, 0x50
mov edx, 0
xor edi, 0xf8
or edi, 0x400
and edi, 0x50
mov esi, ebp
sub edi, 0xf0
add edi, esi
add esi, 0x82
sub edi, esi
xor edi, esi
or edi, edi
mov esi, dword [esi]
or edi, 0x40
add esi, 0xe
add edi, 0x26
add edi, 0x7f
xor edi, 0xde
mov dx, word [esi]
or edi, 0xf8
add edi, 0x400
or edi, ebx
add edx, ebp
cmp al, 0
jne 0x5d7c94
or edi, eax
or edi, 0xe5
and edi, edx
and edi, 0xf0
push dword [edx]
and edi, esi
add edi, 0x80
xor edi, 0x3a
mov esi, ebp
and edi, edx
add esi, 0xb0
add edi, 0x92
add edi, 0x7fffffff
mov edi, 0xa
mov dl, byte [esi]
xor edi, 0xde
sub dl, 0xe4
cmp al, 0
jne 0x5d7cfe
cmp dl, 1
jne 0x5d7cfe
mov edi, 0
sub edi, 0xe7
and edi, 0x3a
popfd
ror bl, cl
pushfd
xor edi, 0x1c
xor edi, 4
add edi, 0xca
cmp al, 0
jne 0x5d7d1a
cmp dl, 2
jne 0x5d7d1a
sub edi, 0x28
popfd
ror bx, cl
pushfd
cmp al, 0
jne 0x5d7d35
cmp dl, 3
jne 0x5d7d35
and edi, 4
popfd
ror ebx, cl
pushfd
sub edi, 0x3c
and edi, edx
add edi, 0x35
add edi, 0xffff
and edi, edx
and edi, 0x40
add edi, 4
add edi, edx
sub edi, 0x50
and edi, 0xf5
or edi, 0xa1
xor edi, 2
xor edi, edx
cmp al, 0
jne 0x5d7e4f
or edi, edx
mov esi, ebp
mov edi, esi
add edi, edi
xor edi, 0x28
xor edi, 0x81
add esi, 0x13
or edi, ebx
mov dl, byte [esi]
cmp dl, 0xdc
jbe 0x5d7dff
mov edi, 0
xor edi, 0xff
add edi, 0xe7
add ebx, 0x4f65cbba
xor ebx, 0x6f57f956
or edi, 0xf8
sub edi, edi
mov esi, ebp
add edi, 4
and edi, 1
mov edi, 0xa
sub edi, 0x800
or edi, 0xb8
add esi, 0xbb
mov dword [esi], ebx
jmp 0x5d7e35
xor ebx, 0x69928727
and edi, 0x28
and edi, eax
and edi, 0xde
mov esi, ebp
and edi, esi
or edi, eax
sub edi, ebx
add edi, 0xa1
add esi, 0x28
or edi, 0xf
mov dword [esi], ebx
add edi, 0x1c
xor edi, 0x800
add edi, 0x34
or edi, 0x50
add edi, edx
add edi, 0xde
mov edi, ebp
mov esi, 0x200
add edi, 0xeb
or ebx, 1
add ebx, 0xa1
add esi, 0x33
and dword [edi], 0x1deb21b4
xor ebx, 4
mov edi, ebp
mov edx, ebx
add esi, 0xd6
or esi, 0x3a
add edi, 0xd9
mov esi, dword [edi]
xor edx, 0x3c
and edx, 0x81
mov edi, ebp
add edi, 0xb1
or ebx, edi
or edx, 0x34
or ecx, 0x40
add ebx, ebx
add edx, ecx
and dword [edi], esi
mov eax, ebp
add eax, 0xd9
mov edi, dword [eax]
mov esi, ebp
add esi, 0xd
mov ecx, dword [esi]
mov edx, ebp
add edx, 0xd9
mov dword [edx], ecx
mov ecx, ebp
add ecx, 0xd
mov dword [ecx], edi
mov edi, ebp
add edi, 0xd9
mov eax, dword [edi]
mov ebx, ebp
add ebx, 0xd
mov edi, dword [ebx]
mov esi, ebp
add esi, 0xd9
mov dword [esi], edi
mov ecx, ebp
add ecx, 0xd
mov dword [ecx], eax
add esi, 0xf
add esi, 0xff
xor esi, 0x3a
sub esi, eax
xor esi, 0xf5
or esi, 0x1c
and esi, 0xf5
xor esi, 0xb8
or esi, ebx
add esi, edi
mov esi, 0xa
xor esi, 0xf5
add esi, edx
sub esi, 0x81
add esi, 0x7fffffff
xor esi, 0xf
mov esi, esi
xor esi, 0xf8
and esi, 0x400
add esi, 0x77
or esi, edx
sub esi, 0xde
add esi, 0x35
xor esi, 0x28
add esi, ecx
sub esi, eax
or esi, 0x92
add esi, ecx
and esi, ecx
sub esi, ebx
add esi, 0x43
or esi, 0x3a
xor esi, 0x91
or esi, eax
xor esi, 0x77
xor esi, 0xffff
xor esi, 0x800
xor esi, eax
and esi, 0xca
xor esi, 0xf
xor esi, esi
and esi, 0x3d
and esi, 0x33
xor esi, eax
xor esi, ecx
sub esi, ecx
xor esi, 0xe7
or esi, 0x91
sub esi, 0x34
sub esi, 0x81
and esi, 0x5c
sub esi, ecx
sub esi, 0x91
or esi, 1
and esi, 0x25
and esi, 0xff
sub esi, 0x3a
mov esi, edx
or esi, edx
add esi, 0x3a
sub esi, 0x68
xor esi, edi
xor esi, 0x400
sub esi, 0x26
and esi, 0xf5
or esi, edx
add esi, 0xd6
add esi, 0xffff
sub esi, 0x80
xor esi, esi
mov esi, edx
sub esi, 0x26
or esi, ecx
sub esi, 0xf5
sub esi, edx
or esi, 0xca
sub esi, 2
add esi, 0xf8
sub esi, 0x7fffffff
and esi, 0xf
and esi, 0x34
or esi, ebx
sub esi, 0xf8
sub esi, 0x92
sub esi, 0xf
xor esi, 0x25
and esi, 0xc7
sub esi, esi
add esi, 0xe7
or esi, 0x1c
add esi, 0x26
add esi, esi
xor esi, ebx
or esi, 0xe7
and esi, eax
and esi, edi
or esi, 4
add esi, eax
add esi, 0x7fffffff
and esi, 0x1c
add esi, 0xd6
or esi, ecx
or esi, 0xdf
add esi, 0x33
xor esi, 0x800
xor esi, 0x3d
xor esi, 0x7f
and esi, 4
sub esi, ebx
and esi, edx
sub esi, 0xc7
and esi, ebx
and esi, ecx
and esi, 0x7f
sub esi, 0x34
or esi, 0x77
and esi, 0x33
mov edi, ebx
and edi, 4
and edi, ecx
xor edi, edi
add edi, edi
xor edi, edx
sub edi, 1
sub edi, edx
or edi, 0x48
xor edi, ebx
mov edi, 0x200
mov esi, ebx
add esi, ebx
mov edi, 0xa
sub edi, 2
xor edi, ecx
and edi, 2
or edi, ebx
mov esi, 0x200
sub esi, esi
sub esi, 0xfd
add esi, 0x26
sub esi, 1
mov edi, ebp
sub esi, edx
add edi, 0x38
mov esi, eax
mov ecx, dword [edi]
and esi, eax
mov edi, ebp
add edi, 0x18
mov esi, 0x200
sub esi, 0x40
sub esi, 2
sub esi, 1
xor ecx, dword [edi]
add esi, 0x33
or esi, 0x3c
mov edi, ebp
add esi, ecx
add edi, 0x8e
xor ecx, dword [edi]
sub esi, eax
add ecx, 0x4f65cbba
add esi, 1
mov edi, ebp
add edi, 0xb0
sub esi, 0x26
add esi, 0xf
sub esi, 0xf8
mov bl, byte [edi]
mov edi, ebp
add edi, 8
sub esi, ecx
add esi, esi
xor esi, 0xe7
and esi, 0x34
mov al, byte [edi]
xor esi, ecx
sub esi, 0x6d
xor al, 0xf0
or esi, edx
xor esi, ebx
xor al, 0xba
or esi, 0xb8
and esi, 0x68
sub al, 4
and esi, esi
and esi, 0x33
sub bl, 0xe4
xor esi, 0xf8
or esi, 0xca
and esi, 1
and esi, 0xd6
mov edi, ebp
add edi, 0xb7
add esi, 0x92
xor esi, 0x68
mov edx, dword [edi]
add esi, ecx
xor esi, 0x77
xor esi, 0xff
xor edx, 0x69928727
mov edi, ebp
xor esi, 0x34
xor esi, 2
xor esi, 0xa1
add edi, 0x28
sub esi, 0xe5
sub esi, 0xca
xor edx, dword [edi]
or esi, 0xcd
and esi, 0xe7
or esi, 0xf8
mov edi, ebp
sub esi, eax
sub esi, ebx
add esi, 0xe7
or esi, ebx
add edi, 0x18
add esi, 0x800
add esi, ecx
mov esi, 0x400
add edx, dword [edi]
and esi, 0xfd
or esi, edx
cmp al, 0
jne 0x5d82f6
cmp bl, 1
jne 0x5d82f6
and cl, dl
pushfd
cmp al, 0
jne 0x5d830b
cmp bl, 2
jne 0x5d830b
and cx, dx
pushfd
cmp al, 0
jne 0x5d8337
cmp bl, 3
jne 0x5d8337
and ecx, edx
pushfd
sub esi, 0x50
sub esi, 0x35
xor esi, 0x77
and esi, 0xc7
cmp al, 0
jne 0x5d842e
mov esi, edi
mov esi, 0x400
sub esi, 0x43
mov edi, ebp
add esi, 0x5c
add esi, esi
or esi, 0x80
add edi, 0x13
add esi, 4
mov dl, byte [edi]
cmp dl, 0xdc
jbe 0x5d83c0
and esi, 0x3d
xor esi, ecx
add ecx, 0x4f65cbba
xor esi, 0xc7
xor esi, 0xb8
or esi, 0x77
xor ecx, 0x6f57f956
or esi, 0xf0
and esi, ebx
and esi, eax
mov edi, ebp
or esi, 0xcd
add edi, 0xbb
mov dword [edi], ecx
jmp 0x5d8428
xor esi, eax
or esi, 0x77
sub esi, 0x400
mov esi, 0x200
xor ecx, 0x69928727
or esi, 0x7f
and esi, 0x68
xor esi, 0x81
xor esi, 0x800
sub esi, edi
mov edi, ebp
or esi, edx
add esi, 0xde
and esi, 0xfd
add edi, 0x28
sub esi, 0xd6
mov esi, 0xa
sub esi, 0x91
mov dword [edi], ecx
and esi, 0x35
or esi, 0x400
sub esi, 0x28
mov esi, ebp
add esi, 0xd9
mov edi, dword [esi]
and edi, 2
cmp edi, 0
je 0x5d8460
mov esi, ebp
add esi, 0xd9
add dword [esi], 0x4d727408
mov esi, ebp
add esi, 0xd
or edi, 0xd6
mov esi, ebp
sub edi, eax
sub edi, 1
add esi, 8
add edi, 0x800
add edi, 4
xor edi, 0x400
mov al, byte [esi]
xor edi, 0x25
or edi, 0xc7
xor al, 0xf0
sub edi, edx
xor edi, edi
xor al, 0xba
sub edi, eax
add edi, 0x26
sub al, 0xff
or edi, edi
mov esi, ebp
and edi, 0x800
and edi, 0x92
add esi, 0x38
and edi, eax
mov ebx, dword [esi]
mov esi, ebp
add edi, 0x5c
or edi, 0x92
sub edi, 0x3a
add edi, 0xe7
add esi, 0x18
and edi, 0x48
sub edi, esi
or edi, 0x7f
xor ebx, dword [esi]
sub edi, 0x25
mov esi, ebp
add esi, 0x8e
xor edi, 0x1c
and edi, 0x28
xor ebx, dword [esi]
add ebx, 0x4f65cbba
mov esi, ebp
add edi, 0xa1
or edi, edx
mov edi, eax
add esi, 0xb7
mov edx, dword [esi]
add edi, 0xdf
mov esi, 0x400
mov esi, 0xa
xor edx, 0x69928727
mov edi, ebp
xor esi, 0xf5
mov esi, esi
add edi, 0x28
xor esi, 0x800
sub esi, esi
and esi, eax
xor edx, dword [edi]
mov edi, ebp
sub esi, edi
and esi, 0x68
and esi, 0x77
add edi, 0x18
sub esi, edi
add esi, 0x33
add edx, dword [edi]
xor esi, 2
mov ecx, edx
mov edx, 0
sub esi, 0xdf
mov edi, ebp
and esi, 0xca
add edi, 0x82
mov edi, dword [edi]
sub esi, 0x26
add edi, 0xe
sub esi, 0x1c
mov dx, word [edi]
xor esi, 0x80
and esi, ebx
add esi, 0x34
add edx, ebp
cmp al, 0
jne 0x5d85d6
push dword [edx]
xor esi, ebx
sub esi, 2
sub esi, ebx
and esi, 0x3d
mov esi, ebp
mov edi, 0xa
xor edi, 0x7f
add esi, 0xb0
and edi, 0x80
or edi, eax
xor edi, 0xe5
sub edi, eax
mov dl, byte [esi]
sub edi, 0xff
xor edi, 0x26
sub dl, 0xe4
cmp al, 0
jne 0x5d864b
cmp dl, 1
jne 0x5d864b
sub edi, 0x33
sub edi, 0x40
add edi, 0x26
or edi, 0x25
or edi, 0xf
popfd
rcr bl, cl
pushfd
or edi, 0x3d
sub edi, edi
cmp al, 0
jne 0x5d8667
cmp dl, 2
jne 0x5d8667
add edi, 0x7fffffff
popfd
rcr bx, cl
pushfd
cmp al, 0
jne 0x5d8694
cmp dl, 3
jne 0x5d8694
sub edi, 0x1c
add edi, 0x7fffffff
popfd
rcr ebx, cl
pushfd
add edi, ebx
and edi, edi
sub edi, esi
and edi, 0x68
and edi, eax
or edi, 0x3a
or edi, 0x6d
or edi, edx
sub edi, 0x91
xor edi, edi
and edi, edx
or edi, 0x400
add edi, 0x80
xor edi, 0x81
cmp al, 0
jne 0x5d87cb
mov esi, ebp
or edi, 0xff
xor edi, 0x68
add esi, 0x13
mov dl, byte [esi]
cmp dl, 0xdc
jbe 0x5d8756
sub edi, 4
xor edi, 0xe7
add edi, edx
add edi, ebx
add ebx, 0x4f65cbba
sub edi, 0xe5
sub edi, 0xde
and edi, 0xf
xor ebx, 0x6f57f956
or edi, 0xc7
sub edi, edi
or edi, 0x43
mov esi, ebp
sub edi, 1
add edi, 0x80
sub edi, 0x400
add esi, 0xbb
mov dword [esi], ebx
jmp 0x5d87b8
xor edi, 0xe5
add edi, 0x6d
xor edi, 0x28
xor edi, 0xf8
mov edi, 0x200
xor ebx, 0x69928727
or edi, edx
sub edi, 0xf0
mov esi, ebp
sub edi, 0x48
mov edi, 0
or edi, 0x92
sub edi, 0x33
add esi, 0x28
sub edi, 0xf
add edi, edx
mov dword [esi], ebx
add edi, esi
and edi, 0xf
xor edi, 0x68
or edi, ebx
and edi, 0x28
mov edi, 0
or edi, 0x48
sub esi, 0x800
add esi, 0x7fffffff
mov edi, ebp
xor esi, ebx
and esi, 0x35
and esi, 0x3c
add edi, 8
add esi, edi
mov dl, byte [edi]
sub esi, 0x7fffffff
xor esi, eax
or esi, 0x1c
sub esi, 0x92
xor dl, 0xf0
or esi, 0x6d
xor dl, 0xba
sub dl, 0x5c
or esi, edi
xor esi, 0xc7
mov edi, ebp
add edi, 0x38
add esi, 0xf8
and esi, 0x92
sub esi, edi
mov ebx, dword [edi]
sub esi, 0x91
sub esi, ebx
mov esi, ebp
mov edi, 0x400
add esi, 0x18
xor edi, 0xffff
xor ebx, dword [esi]
mov edi, 0
mov esi, ebp
add esi, 0x8e
xor ebx, dword [esi]
sub edi, 0x25
add edi, esi
add ebx, 0x4f65cbba
mov esi, 0x400
and esi, 0x40
and esi, 0xf5
sub esi, 0xfd
mov edi, ebp
and esi, 0x7f
and esi, 0x1c
sub esi, 0x3d
add edi, 0xb7
mov eax, dword [edi]
xor eax, 0x69928727
sub esi, 0xff
mov edi, ebp
add edi, 0x28
add esi, edi
xor eax, dword [edi]
add esi, 0x34
and esi, edi
add esi, edx
mov edi, ebp
sub esi, 0xff
and esi, eax
or esi, edi
mov esi, 0x200
add edi, 0x18
add eax, dword [edi]
or esi, edx
mov ecx, eax
mov eax, 0
xor esi, 1
add esi, 0x6d
or esi, edx
mov edi, ebp
sub esi, esi
or esi, 0xd6
sub esi, edx
or esi, edi
sub esi, eax
add edi, 0x82
xor esi, 0xde
add esi, 0xf8
mov edi, dword [edi]
and esi, edi
sub esi, edx
add esi, 0x1c
xor esi, 0xf
sub esi, 0x7fffffff
add edi, 0xe
mov ax, word [edi]
xor esi, 0x1c
xor esi, 0x91
add eax, ebp
cmp dl, 0
jne 0x5d8950
push dword [eax]
or esi, edi
or esi, esi
sub esi, edx
add esi, 0x25
mov edi, ebp
sub esi, 0x800
and esi, 0xf0
sub esi, 0x7fffffff
add esi, 0xc7
add edi, 0xb0
sub esi, 0xf
mov al, byte [edi]
sub esi, 0x92
add esi, 0x1c
or esi, 0xf8
sub al, 0xe4
cmp dl, 0
jne 0x5d89bb
cmp al, 1
jne 0x5d89bb
mov esi, ebx
and esi, 0x800
popfd
shr bl, cl
pushfd
add esi, ebx
add esi, 0xe5
cmp dl, 0
jne 0x5d89e9
cmp al, 2
jne 0x5d89e9
xor esi, 0x34
xor esi, 0x48
or esi, 0x33
sub esi, 0x3d
popfd
shr bx, cl
pushfd
cmp dl, 0
jne 0x5d8a11
cmp al, 3
jne 0x5d8a11
and esi, 0x3c
add esi, 0x3d
mov esi, 0x200
popfd
shr ebx, cl
pushfd
or esi, edi
and esi, 0xc7
or esi, eax
sub esi, 0x50
add esi, eax
and esi, 0x91
add esi, 0x25
or esi, eax
sub esi, 0x800
and esi, ebx
cmp dl, 0
jne 0x5d8b0a
add esi, 0x77
xor esi, eax
sub esi, 4
mov edi, ebp
sub esi, eax
sub esi, 0x1c
add edi, 0x13
mov esi, 0
sub esi, edi
add esi, edi
mov al, byte [edi]
cmp al, 0xdc
jbe 0x5d8ab1
xor esi, 0xf8
add ebx, 0x4f65cbba
or esi, 0xd6
xor ebx, 0x6f57f956
and esi, 0x7f
mov edi, ebp
sub esi, 0xca
sub esi, eax
add edi, 0xbb
mov dword [edi], ebx
jmp 0x5d8af6
or esi, 0xb8
add esi, esi
mov esi, 0
xor ebx, 0x69928727
sub esi, 4
mov edi, ebp
sub esi, 0x33
and esi, 0x1c
and esi, 0x43
sub esi, 0x40
add edi, 0x28
mov dword [edi], ebx
xor esi, ebx
xor esi, eax
xor esi, 0x3a
add esi, 0x800
add esi, eax
or esi, 0x50
xor esi, 0xf8
sub esi, 0x400
mov edi, edx
and edi, ebx
mov esi, ebp
or edi, ebx
add edi, 4
xor edi, 0xf0
add esi, 8
sub edi, 0x48
and edi, 0xe5
add edi, 0x77
mov edi, 0x200
mov bl, byte [esi]
and edi, 1
sub edi, edi
and edi, 0x35
xor bl, 0xf0
and edi, 0xa1
add edi, 0x77
xor bl, 0xba
xor edi, edi
xor edi, 0x7f
and edi, edi
sub edi, 0xb8
add edi, 0x77
sub bl, 0xf8
sub edi, 0x3c
and edi, 0x33
mov edi, ebp
mov esi, 0x400
sub esi, 0xd6
mov esi, 0x400
add edi, 0x38
or esi, 0x5c
add esi, 4
mov eax, dword [edi]
mov edi, ebp
add esi, 2
xor esi, 0xffff
mov esi, eax
add edi, 0x18
xor eax, dword [edi]
or esi, 0x7f
mov edi, ebp
sub esi, 0x33
mov esi, 0x200
add esi, ebx
add edi, 0x8e
xor eax, dword [edi]
mov esi, 0
add eax, 0x4f65cbba
or esi, 0xb8
add esi, ebx
and esi, 0x6d
mov edi, ebp
or esi, 0x26
and esi, 0xffff
add edi, 0xb7
or esi, 0x68
mov edx, dword [edi]
xor edx, 0x69928727
add esi, 0x3a
mov edi, ebp
add esi, 0x50
and esi, edi
or esi, eax
xor esi, 0xc7
and esi, 0xe5
add edi, 0x28
mov esi, 0
sub esi, 0x800
xor esi, edi
xor edx, dword [edi]
add esi, 0x40
and esi, 0xe7
or esi, 0xca
mov edi, ebp
add edi, 0x18
xor esi, 0xf5
add edx, dword [edi]
mov ecx, edx
add esi, esi
mov esi, 0xa
and esi, 0xf0
sub esi, 0xf8
and esi, 0xe5
mov edx, 0
and esi, edx
xor esi, 0x400
add esi, 0x3c
and esi, 4
or esi, 0xf
mov edi, ebp
add esi, edi
add edi, 0x82
xor esi, 4
or esi, 4
or esi, 0x91
mov edi, dword [edi]
add edi, 0xe
and esi, 4
and esi, ebx
mov dx, word [edi]
xor esi, 0x80
or esi, 0x81
or esi, edx
add edx, ebp
cmp bl, 0
jne 0x5d8d0c
xor esi, 0xc7
add esi, esi
push dword [edx]
xor esi, 0xcd
sub esi, 0xe7
or esi, edx
xor esi, 0xca
and esi, 0x81
sub esi, ebx
and esi, 0x3d
mov edi, ebp
add edi, 0xb0
mov dl, byte [edi]
add esi, 0x34
or esi, ebx
add esi, edi
or esi, 2
sub dl, 0xe4
cmp bl, 0
jne 0x5d8d59
cmp dl, 1
jne 0x5d8d59
and esi, 0x5c
popfd
shl al, cl
pushfd
cmp bl, 0
jne 0x5d8d7a
cmp dl, 2
jne 0x5d8d7a
popfd
shl ax, cl
pushfd
add esi, eax
add esi, 4
add esi, ebx
cmp bl, 0
jne 0x5d8da0
cmp dl, 3
jne 0x5d8da0
add esi, 4
popfd
shl eax, cl
pushfd
xor esi, esi
and esi, eax
and esi, 0xdf
mov esi, 0
or esi, 0x40
or esi, 0x33
mov esi, edi
xor esi, edx
xor esi, 0xdf
mov esi, eax
sub esi, 0xa1
sub esi, 0x50
sub esi, edi
and esi, 0x800
sub esi, 0x3c
cmp bl, 0
jne 0x5d8e9a
and esi, 0xf8
or esi, 0x92
sub esi, 2
and esi, eax
add esi, 0xff
mov edi, ebp
xor esi, esi
add edi, 0x13
xor esi, edx
or esi, 4
and esi, 0xdf
mov esi, edx
mov dl, byte [edi]
cmp dl, 0xdc
jbe 0x5d8e63
add eax, 0x4f65cbba
and esi, 0xe7
xor esi, 0x28
xor eax, 0x6f57f956
sub esi, 0xc7
mov edi, ebp
xor esi, 0x3c
add esi, eax
sub esi, 0x77
add edi, 0xbb
mov dword [edi], eax
jmp 0x5d8e94
xor eax, 0x69928727
add esi, 0x7fffffff
add esi, edi
or esi, edx
xor esi, 0xf
mov edi, ebp
xor esi, 0x3c
add edi, 0x28
and esi, edi
xor esi, esi
mov dword [edi], eax
and esi, eax
sub esi, 0xd6
add esi, 0xfd
push edx
mov dword [esp], 0x617632bc
mov ebx, dword [esp]
push ebp
mov ebp, esp
push ecx
mov ecx, 4
add ebp, ecx
pop ecx
add ebp, 4
xchg dword [esp], ebp
pop esp
mov esi, ebp
add esi, 0xeb
sub ebx, dword [esi]
mov edx, ebp
add edx, 0xd9
mov esi, ebp
add esi, 0xeb
sub dword [esi], ebx
sub esi, 0xde
mov edi, ebp
or esi, 4
xor esi, 0x50
or esi, eax
add edi, 8
xor esi, eax
mov al, byte [edi]
or esi, 0x40
add esi, ebx
xor al, 0xf0
xor al, 0xba
or esi, 0xff
mov esi, 0xa
and esi, 0xde
sub esi, 0x33
sub al, 0xde
and esi, 0x40
sub esi, edi
mov edi, ebp
sub esi, edi
xor esi, 0x28
add edi, 0x38
or esi, 0xd6
or esi, 0x7fffffff
add esi, edx
or esi, ebx
mov ebx, dword [edi]
and esi, edi
xor esi, esi
add esi, 0x48
mov edi, ebp
add edi, 0x18
mov esi, edx
xor esi, 0x6d
sub esi, 0x400
xor ebx, dword [edi]
sub esi, 0xf
sub esi, edx
mov edi, ebp
add esi, 0x400
add edi, 0x8e
xor ebx, dword [edi]
and esi, 0x35
sub esi, edx
or esi, 0x400
add esi, 0xf5
add ebx, 0x4f65cbba
mov edi, ebp
add esi, 2
and esi, 0x80
and esi, 0x92
add edi, 0xb7
xor esi, esi
sub esi, 1
mov edx, dword [edi]
and esi, 0x3a
xor edx, 0x69928727
add esi, 0x6d
sub esi, 0xc7
mov edi, ebp
or esi, 0xc7
add edi, 0x28
and esi, ebx
add esi, 0x43
and esi, 0x3a
xor edx, dword [edi]
xor esi, 0x50
sub esi, edi
add esi, eax
mov edi, ebp
or esi, 0x77
or esi, eax
and esi, 4
add esi, 0xf5
add edi, 0x18
sub esi, 0x43
sub esi, esi
and esi, eax
add edx, dword [edi]
add esi, 0xca
or esi, 0xf
sub esi, 0xb8
and esi, 0x91
mov ecx, edx
mov edx, 0
add esi, 0x50
or esi, 0x800
mov edi, ebp
and esi, 0x33
add edi, 0x82
or esi, 0xff
and esi, edx
mov esi, 0
mov edi, dword [edi]
xor esi, eax
add edi, 0xe
mov esi, 0x400
sub esi, edx
mov dx, word [edi]
xor esi, 0x1c
sub esi, esi
or esi, 0x5c
add esi, eax
add edx, ebp
cmp al, 0
jne 0x5d90b2
mov esi, 0x400
and esi, 4
push dword [edx]
sub esi, 0x40
sub esi, 0x1c
and esi, edi
and esi, esi
mov edi, ebp
and esi, 0x3a
or esi, edx
or esi, 0x5c
add edi, 0xb0
or esi, 0xb8
and esi, ebx
and esi, edi
sub esi, 0x26
mov esi, eax
mov dl, byte [edi]
or esi, eax
sub dl, 0xe4
cmp al, 0
jne 0x5d9100
cmp dl, 1
jne 0x5d9100
or esi, 0xcd
popfd
rcl bl, cl
pushfd
sub esi, edi
cmp al, 0
jne 0x5d9122
cmp dl, 2
jne 0x5d9122
xor esi, edx
or esi, ebx
sub esi, 0xc7
popfd
rcl bx, cl
pushfd
xor esi, edx
cmp al, 0
jne 0x5d9141
cmp dl, 3
jne 0x5d9141
add esi, 0xb8
add esi, esi
popfd
rcl ebx, cl
pushfd
sub esi, esi
sub esi, 0x40
sub esi, 0xf8
and esi, 0x35
sub esi, 0xca
add esi, 0xe7
or esi, 0xc7
cmp al, 0
jne 0x5d9222
sub esi, eax
and esi, 0x68
mov edi, ebp
xor esi, edi
add edi, 0x13
and esi, esi
sub esi, 0x33
mov esi, 0x200
and esi, 0x5c
mov dl, byte [edi]
cmp dl, 0xdc
jbe 0x5d91f8
and esi, ebx
or esi, 0xe7
add ebx, 0x4f65cbba
add esi, 0x25
sub esi, 0x80
add esi, 0x800
xor ebx, 0x6f57f956
xor esi, edi
or esi, esi
or esi, 0x3a
sub esi, ebx
mov edi, ebp
add esi, 0x92
and esi, 0xca
or esi, 0x77
or esi, 0x3d
add edi, 0xbb
mov dword [edi], ebx
jmp 0x5d9216
and esi, 0xa1
xor ebx, 0x69928727
mov edi, ebp
add edi, 0x28
xor esi, 0xd6
mov dword [edi], ebx
xor esi, esi
sub esi, 0xca
or esi, 0x6d
add edi, 0x92
and edi, ecx
sub edi, eax
mov edi, 0xa
xor edi, esi
add edi, 0x6d
xor edi, eax
xor edi, 0x400
xor edi, 0x92
and edi, 2
xor edi, 0x81
and edi, esi
mov edi, ebx
and edi, 0xdf
add edi, ebx
sub edi, 0x48
xor edi, edx
add edi, 0x3a
and edi, 0xc7
sub edi, 0x26
add edi, eax
and edi, 0x28
sub edi, 2
mov edi, 0x400
xor edi, 0x3c
and edi, esi
mov edi, edi
add edi, 0x1c
or edi, edx
and edi, 0x400
and edi, 0xde
xor edi, 0xf
add edi, ebx
add edi, 4
sub edi, ebx
add edi, 0x400
and edi, edx
add edi, 0xc7
and edi, 0x3a
or edi, ecx
add edi, 0x33
and edi, ecx
and edi, 0x35
and edi, 0xf8
add edi, ebx
and edi, 0x81
or edi, 0x43
xor edi, edx
and edi, 0x68
sub edi, 0x35
and edi, eax
xor edi, edi
or edi, edi
add edi, 0x35
or edi, 0xf0
add edi, ecx
and edi, ecx
add edi, edi
and edi, ecx
add edi, 0x28
sub edi, 0x3a
sub edi, 0x3a
or edi, 0x40
mov esi, ebp
xor edi, 0xb8
xor edi, 0x800
and edi, 0x77
sub edi, 0xff
add esi, 0xb7
mov ecx, dword [esi]
and edi, 0xa1
add edi, 0x68
xor ecx, 0x69928727
sub edi, 0x7fffffff
add edi, 0xf0
mov esi, ebp
sub edi, 0x7fffffff
add edi, 0x7f
add esi, 0x28
sub edi, 0x50
sub edi, edx
add edi, eax
xor ecx, dword [esi]
or edi, esi
mov esi, ebp
and edi, 1
or edi, 0xc7
and edi, ecx
add esi, 0x18
and edi, 0x7f
add edi, 4
add edi, 1
add ecx, dword [esi]
mov esi, ebp
xor edi, ecx
add esi, 8
add edi, eax
and edi, ecx
add edi, 4
mov bl, byte [esi]
and edi, 1
xor bl, 0xf0
add edi, 1
xor edi, 0xa1
sub edi, 1
and edi, eax
xor bl, 0xba
sub bl, 0x50
sub edi, 0xde
add edi, 0x1c
or edi, 0x1c
mov esi, ebp
or edi, 0xff
or edi, 0x48
and edi, 4
add esi, 0xb0
xor edi, 0x35
sub edi, 0xe5
xor edi, 0xf8
mov al, byte [esi]
or edi, 0x81
and edi, 0x6d
mov esi, ebp
and edi, 0x92
and edi, 4
xor edi, 0x26
add esi, 0x38
add edi, 0x48
sub edi, 0x81
mov edx, dword [esi]
and edi, 0xcd
mov esi, ebp
add esi, 0x18
xor edi, 0xde
and edi, 0x800
xor edx, dword [esi]
and edi, 0xf5
mov esi, ebp
or edi, 0xde
add edi, 0xffff
add esi, 0x8e
add edi, 0x40
xor edx, dword [esi]
or edi, ebx
add edx, 0x4f65cbba
sub al, 0xe4
sub edi, 0xf
sub edi, 0x43
or edi, 0x1c
or edi, 0x7f
mov edi, 0xa
or edi, 0x28
sub edi, ecx
xor edi, edi
sub edi, 0x25
and edi, 2
or edi, 0x6d
add edi, 0x28
mov edi, 0x200
mov edi, 0
or edi, 0x91
xor edi, eax
add edi, edi
and edi, edi
xor edi, 0x26
or edi, edx
mov edi, esi
or edi, 0xd6
sub edi, 0xdf
add edi, 0x7fffffff
xor edi, edi
and edi, 0x81
and edi, esi
sub edi, edi
add edi, eax
or edi, 0xe5
xor edi, 0x3a
add edi, 0x1c
or edi, 0xf5
or edi, 0x3a
mov edi, 0
sub edi, 0x28
or edi, 0xff
sub edi, 0x48
add edi, 0x26
xor edi, 0x3d
xor edi, 0xe5
add edi, 0xe7
add edi, eax
sub edi, edi
or edi, 0xca
xor edi, ecx
or edi, esi
xor edi, 0x40
and edi, 0x43
add edi, 0xf
sub edi, ecx
xor edi, 0x80
and edi, 0x26
mov edi, 0x200
sub edi, edx
add edi, 0xf0
xor edi, edx
and edi, ebx
cmp bl, 0
jne 0x5d95e2
cmp al, 1
jne 0x5d95e2
add dl, cl
pushfd
xor edi, 4
sub edi, edx
and edi, 0xd6
add edi, eax
cmp bl, 0
jne 0x5d9603
cmp al, 2
jne 0x5d9603
add dx, cx
pushfd
xor edi, 0xf5
xor edi, 0xff
cmp bl, 0
jne 0x5d9622
cmp al, 3
jne 0x5d9622
add edx, ecx
pushfd
and edi, 0x800
mov edi, 0x200
add edi, ebx
sub edi, 0x34
sub edi, eax
sub edi, edx
cmp bl, 0
jne 0x5d9703
mov esi, ebp
add edi, 0x35
or edi, 0x91
xor edi, 0x91
add esi, 0x13
mov cl, byte [esi]
cmp cl, 0xdc
jbe 0x5d96ba
add edx, 0x4f65cbba
or edi, edx
xor edi, 0x3c
xor edx, 0x6f57f956
xor edi, 0x25
xor edi, 0xffff
add edi, 4
sub edi, 0xf5
mov esi, ebp
and edi, 0xe5
sub edi, 0x68
mov edi, 0
add esi, 0xbb
mov dword [esi], edx
jmp 0x5d96ec
or edi, edi
xor edx, 0x69928727
or edi, ebx
add edi, ebx
mov esi, ebp
sub edi, 0x7f
add esi, 0x28
mov dword [esi], edx
xor edi, 0xf0
add edi, 0x33
mov edi, 0x200
mov edi, 0x200
add edi, 0xfd
mov edi, 0x400
sub edi, 0xca
xor edi, 0x43
mov ebx, ebp
add ebx, 0xd9
mov eax, dword [ebx]
and eax, 2
cmp eax, 0
je 0x5d9733
mov ebx, ebp
add ebx, 0xd9
or dword [ebx], 0x165e4f93
mov ebx, ebp
add ebx, 0xd
mov ebx, ebp
add ebx, 0xd9
mov ecx, dword [ebx]
and ecx, 2
cmp ecx, 0
je 0x5d976b
mov ebx, ebp
add ebx, 0xd9
or dword [ebx], 0x5e184303
mov ebx, ebp
add ebx, 0xd
add dword [ebx], 0x48d9e9b3
sub edi, esi
xor edi, esi
xor esi, 0x7fffffff
or esi, edx
mov ebx, ebp
add esi, 0x48
sub edi, edx
add ebx, 8
and esi, 0x5c
and esi, 0x28
mov dl, byte [ebx]
sub edi, 0x800
sub esi, 1
xor esi, 0xf
xor dl, 0xf0
or edi, ecx
add esi, eax
add edi, esi
xor edi, 0x3a
xor dl, 0xba
or esi, ebx
sub dl, 0x26
cmp dl, 0
jne 0x5d9949
add edi, edi
and edi, 2
mov ebx, ebp
add ebx, 0x38
add esi, edi
or esi, 0x25
add esi, 0xfd
mov eax, dword [ebx]
sub edi, 0x80
mov ebx, ebp
xor esi, 0x34
sub edi, 0xd6
add ebx, 0x18
xor esi, 0x80
xor edi, 0x80
sub esi, 1
and esi, 0xf8
sub esi, 0x800
xor eax, dword [ebx]
sub esi, 0x40
xor esi, ecx
xor edi, 0xdf
or edi, 0x25
mov ebx, ebp
mov edi, 0
and edi, 0xc7
add ebx, 0x8e
and edi, edi
xor edi, 0x7f
or esi, 0x68
xor eax, dword [ebx]
xor esi, 0x3a
add esi, 0x40
mov esi, 0x200
mov esi, 0x400
add eax, 0x4f65cbba
add esi, 0x5c
add esi, 0x92
sub esi, ecx
and edi, 0x33
or edi, ecx
mov ebx, ebp
add esi, 0x48
add ebx, 0xb7
and edi, esi
mov edi, esi
sub edi, 0xdf
mov ecx, dword [ebx]
and esi, 0x3d
mov esi, 0xa
xor ecx, 0x69928727
and esi, eax
xor edi, 0xc7
or esi, 0xfd
mov ebx, ebp
add ebx, 0x28
xor ecx, dword [ebx]
and esi, 0xdf
mov ebx, ebp
and edi, 0xf
add ebx, 0x18
add ecx, dword [ebx]
sub esi, ebx
xor edi, edx
mov esi, 0xa
or edi, edi
xor edi, 0x34
or esi, 0xca
sub esi, 0x3d
and esi, edx
xor edi, 0x68
xor esi, 1
xor edi, 0x7f
sub esi, ebx
sub edi, 0x7fffffff
add esi, eax
sub edi, 0xb8
sub esi, 0x800
sub edi, 0x91
and edi, eax
or edi, 0xde
sub esi, 1
or esi, 0x68
add edi, 0x40
mov edx, ebp
add edx, 0xd9
mov eax, dword [edx]
mov esi, ebp
add esi, 0xd
mov edx, dword [esi]
mov esi, ebp
add esi, 0xd9
mov dword [esi], edx
mov esi, ebp
add esi, 0xd
mov dword [esi], eax
mov ecx, ebp
add ecx, 8
mov edx, ebp
mov bl, byte [ecx]
add edx, 0
xor bl, 0xf0
or dword [edx], 0x14eb17bf
xor bl, 0xba
sub bl, 0x3d
cmp bl, 0
jne 0x5d9a47
mov ecx, ebp
add ecx, 0x38
mov ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x18
xor ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x8e
xor ebx, dword [ecx]
add ebx, 0x4f65cbba
mov ecx, ebp
add ecx, 0xb7
mov eax, dword [ecx]
xor eax, 0x69928727
mov ecx, ebp
add ecx, 0x28
xor eax, dword [ecx]
mov ecx, ebp
add ecx, 0x18
add eax, dword [ecx]
mov ecx, ebp
add ecx, 0xf3
mov dl, byte [ecx]
sub dl, 0x67
cmp dl, 1
jne 0x5d99fb
movzx ebx, al
cmp dl, 2
jne 0x5d9a07
movzx ebx, ax
add eax, ebx
pushfd
mov ecx, ebp
add ecx, 0x13
mov al, byte [ecx]
cmp al, 0xdc
jbe 0x5d9a37
add ebx, 0x4f65cbba
xor ebx, 0x6f57f956
mov ecx, ebp
add ecx, 0xbb
mov dword [ecx], ebx
jmp 0x5d9a47
xor ebx, 0x69928727
mov ecx, ebp
add ecx, 0x28
mov dword [ecx], ebx
add esi, ecx
and esi, 4
add esi, 0x91
add esi, 0x43
mov edi, 0x400
add edi, 0x3c
add edi, edi
add edi, 0x3d
add edi, ecx
or edi, 0xdf
add edi, ebx
and edi, 0x40
add edi, 0x25
or edi, 0x3d
xor edi, 1
sub edi, 0x25
and edi, edx
add edi, 0x40
xor edi, 0x50
or edi, 0xfd
add edi, 0x33
or edi, 1
add edi, eax
add edi, 0x7f
xor edi, 0x1c
sub edi, 2
sub edi, ecx
and edi, esi
sub edi, ebx
sub edi, esi
sub edi, edi
xor edi, eax
xor edi, 0xc7
add edi, 0x5c
mov edi, ebx
add edi, 0x35
xor edi, ecx
xor edi, 0x400
or edi, 0x7f
add edi, ebx
or edi, 0xf
and edi, ecx
add edi, 1
mov edi, 0xa
or edi, 0x28
mov edi, eax
add edi, 0xffff
add edi, edx
and edi, ebx
xor edi, 0x3d
mov edi, ecx
and edi, eax
or edi, 0x50
or edi, 0x81
mov edi, 0x200
or edi, 0x400
sub edi, 0xde
xor edi, 0xe5
sub edi, 0xdf
xor edi, 0xff
or edi, 0x91
or edi, 0xf0
add edi, 0xdf
mov edi, ecx
and edi, 0x34
add edi, 0xffff
mov edi, eax
sub edi, 0x7f
xor edi, 0x77
add edi, 0xdf
and edi, 0xb8
add edi, 1
and edi, 2
mov edi, 0x200
or edi, 0x91
add edi, 0x25
add edi, 0xa1
add edi, edi
or edi, edi
xor edi, 0x81
add edi, 0xe7
sub edi, esi
and edi, 0x5c
or edi, ecx
mov edi, 0xa
add edi, 0xf5
and edi, 0x6d
mov edi, edi
or edi, 0x81
mov edi, 0xa
xor edi, edi
and edi, eax
add edi, 0x92
add edi, 0xf0
add edi, 0xa1
or edi, 0xde
sub edi, eax
and edi, 0xde
sub edi, 0x3a
and edi, esi
and edi, 0x3d
sub edi, 0x43
and edi, 0x40
or edi, edx
or edi, 0xd6
and edi, 1
or edi, 4
or edi, 0x48
and edi, 0xf0
xor edi, 0x33
or edi, 0x48
or edi, 0x7fffffff
or edi, 0x28
sub edi, edi
add edi, ecx
xor edi, 0x34
and edi, 0x28
xor edi, ebx
or edi, 0x43
and edi, ebx
or edi, 0xf8
sub edi, 0x50
or edi, 1
xor edi, 0x48
and edi, 0x3a
and edi, ebx
sub edi, 0x40
or edi, 0x81
xor edi, esi
sub edi, ecx
mov esi, 0
sub esi, 0x48
xor esi, 0x7f
sub esi, ebx
mov edi, ebp
xor esi, 0xe7
xor esi, eax
add edi, 0x38
add esi, edx
mov edx, dword [edi]
add esi, ecx
or esi, 0x800
and esi, 0x3d
mov edi, ebp
mov esi, 0x200
add edi, 0x18
and esi, 1
and esi, 0x28
xor edx, dword [edi]
and esi, 0x43
add esi, 0x7f
or esi, 0x33
mov edi, ebp
sub esi, 0xf8
sub esi, 0xca
add esi, 0xd6
add edi, 0x8e
and esi, 0x35
sub esi, edi
xor edx, dword [edi]
and esi, edx
mov esi, ebx
add edx, 0x4f65cbba
sub esi, 0x92
and esi, edx
add esi, 0x25
mov edi, ebp
sub esi, 0x43
add edi, 0xb0
or esi, 0xd6
and esi, edi
and esi, 0x92
mov al, byte [edi]
xor esi, 0xf0
mov edi, ebp
add esi, 0xf8
or esi, 0xa1
add esi, 0xdf
or esi, eax
add edi, 8
or esi, 0x68
sub esi, 0x35
add esi, 0xf0
or esi, 0x40
mov cl, byte [edi]
sub esi, 0xff
xor cl, 0xf0
sub esi, edi
or esi, 0x34
sub esi, eax
or esi, esi
sub esi, edx
xor cl, 0xba
xor esi, 0x6d
and esi, ecx
xor esi, edi
or esi, 4
sub cl, 0xb8
add esi, 0x400
sub al, 0xe4
add esi, 4
mov edi, ebp
or esi, edi
and esi, 0x7fffffff
xor esi, 0x68
add esi, ebx
add edi, 0xb7
or esi, eax
mov ebx, dword [edi]
and esi, 0x50
xor esi, 0xf5
and esi, eax
or esi, ecx
xor ebx, 0x69928727
xor esi, 2
or esi, 0x400
mov edi, ebp
add edi, 0x28
xor ebx, dword [edi]
or esi, 0xff
mov edi, ebp
add edi, 0x18
sub esi, edi
add ebx, dword [edi]
xor esi, 0x1c
cmp cl, 0
jne 0x5d9e60
cmp al, 1
jne 0x5d9e60
cmp dl, bl
pushfd
sub esi, 0xca
or esi, eax
xor esi, eax
xor esi, esi
cmp cl, 0
jne 0x5d9e77
cmp al, 2
jne 0x5d9e77
cmp dx, bx
pushfd
or esi, ebx
cmp cl, 0
jne 0x5d9e93
cmp al, 3
jne 0x5d9e93
cmp edx, ebx
pushfd
or esi, 0x7fffffff
or esi, eax
xor esi, 0xca
cmp cl, 0
jne 0x5d9f5a
mov edi, ebp
and esi, 0x35
add esi, 0xffff
or esi, ecx
add edi, 0x13
or esi, 0x81
xor esi, 0x40
mov bl, byte [edi]
cmp bl, 0xdc
jbe 0x5d9f14
sub esi, 0x92
and esi, eax
add edx, 0x4f65cbba
and esi, edx
xor edx, 0x6f57f956
add esi, 0x35
add esi, 0xf
sub esi, 0x800
or esi, 0x34
mov edi, ebp
sub esi, eax
or esi, 0x3c
add edi, 0xbb
mov dword [edi], edx
jmp 0x5d9f5a
add esi, 0x91
and esi, 0xca
or esi, 0x7f
mov esi, 0x200
xor edx, 0x69928727
and esi, ecx
add esi, 0x92
xor esi, 0x28
and esi, 0x3a
mov edi, ebp
add esi, 0xff
add edi, 0x28
mov dword [edi], edx
mov esi, 0x200
mov esi, ebp
add esi, 8
mov cl, byte [esi]
xor cl, 0xf0
xor cl, 0xba
sub cl, 0xa1
push edi
mov dword [esp], 0x45ee8f6c
mov dword [esp], esi
push eax
mov eax, 0x7e816d97
mov dword [esp + 4], eax
pop eax
pop edi
mov ebx, ebp
add ebx, 0xeb
or edi, dword [ebx]
mov ebx, ebp
cmp cl, 0
jne 0x5da01f
mov esi, ebp
add esi, 0x38
mov eax, dword [esi]
mov esi, ebp
add esi, 0x18
xor eax, dword [esi]
mov esi, ebp
add esi, 0x8e
xor eax, dword [esi]
add eax, 0x4f65cbba
mov esi, ebp
add esi, 0xb7
mov ecx, dword [esi]
xor ecx, 0x69928727
mov esi, ebp
add esi, 0x28
xor ecx, dword [esi]
mov esi, ebp
add esi, 0x18
add ecx, dword [esi]
imul eax, ecx
pushfd
mov esi, ebp
add esi, 0x13
mov cl, byte [esi]
cmp cl, 0xdc
jbe 0x5da010
add eax, 0x4f65cbba
xor eax, 0x6f57f956
mov esi, ebp
add esi, 0xbb
mov dword [esi], eax
jmp 0x5da01f
xor eax, 0x69928727
mov esi, ebp
add esi, 0x28
mov dword [esi], eax
add ebx, 0xd9
add dword [ebx], edi
mov esi, ebp
add esi, 0xeb
xor dword [esi], edi
mov edi, ebp
add edi, 0
add dword [edi], 0x1ff9c6bf
mov esi, ebp
add esi, 0x38
mov ebx, dword [esi]
mov edi, ebp
add edi, 0x18
xor ebx, dword [edi]
mov esi, ebp
add esi, 0x8e
xor ebx, dword [esi]
add ebx, 0x4f65cbba
mov esi, ebp
add esi, 0xb0
mov dl, byte [esi]
mov esi, ebp
add esi, 8
mov al, byte [esi]
xor al, 0xf0
xor al, 0xba
sub al, 0x35
sub dl, 0xe4
mov edi, ebp
add edi, 0xb7
mov ecx, dword [edi]
xor ecx, 0x69928727
mov edi, ebp
add edi, 0x28
xor ecx, dword [edi]
mov esi, ebp
add esi, 0x18
add ecx, dword [esi]
cmp al, 0
jne 0x5da0b8
cmp dl, 1
jne 0x5da0b8
or bl, cl
pushfd
cmp al, 0
jne 0x5da0cd
cmp dl, 2
jne 0x5da0cd
or bx, cx
pushfd
cmp al, 0
jne 0x5da0e1
cmp dl, 3
jne 0x5da0e1
or ebx, ecx
pushfd
cmp al, 0
jne 0x5da127
mov esi, ebp
add esi, 0x13
mov cl, byte [esi]
cmp cl, 0xdc
jbe 0x5da117
add ebx, 0x4f65cbba
xor ebx, 0x6f57f956
mov esi, ebp
add esi, 0xbb
mov dword [esi], ebx
jmp 0x5da127
xor ebx, 0x69928727
mov esi, ebp
add esi, 0x28
mov dword [esi], ebx
mov eax, ebp
add eax, 0xd
mov esi, dword [eax]
and esi, 1
cmp esi, 0
je 0x5da14f
mov eax, ebp
add eax, 0xd
and dword [eax], 0x410ee5b2
add esi, 0xca
mov edi, ebp
and esi, edx
xor esi, 0xde
or esi, edi
add edi, 8
sub esi, 0x25
or esi, eax
mov al, byte [edi]
xor al, 0xf0
sub esi, esi
xor esi, 4
xor al, 0xba
sub al, 0x34
add esi, 0xf
xor esi, edi
add esi, 0x7fffffff
mov esi, ebp
mov edi, 0xa
sub edi, 0xcd
xor edi, 0xff
add esi, 0x38
sub edi, 1
and edi, 0xfd
or edi, 0xf5
xor edi, edx
add edi, 0x35
mov edx, dword [esi]
add edi, eax
mov esi, ebp
xor edi, ebx
add esi, 0x18
xor edx, dword [esi]
xor edi, ebx
mov esi, ebp
add esi, 0x8e
xor edx, dword [esi]
and edi, 0x1c
add edx, 0x4f65cbba
and edi, eax
sub edi, 4
xor edi, ebx
mov esi, ebp
sub edi, 0x80
xor edi, 0xca
add esi, 0xb7
mov ebx, dword [esi]
or edi, ebx
mov edi, 0xa
and edi, 0x25
xor ebx, 0x69928727
add edi, esi
and edi, 0xf
and edi, 0x50
sub edi, esi
mov esi, ebp
and edi, 0xd6
add edi, 0x81
add esi, 0x28
and edi, edi
xor ebx, dword [esi]
xor edi, eax
sub edi, 0xc7
and edi, 0x3c
and edi, ebx
add edi, esi
mov esi, ebp
add edi, 0xca
or edi, 0xc7
add edi, 0x34
or edi, ebx
add esi, 0x18
and edi, edx
add ebx, dword [esi]
mov esi, edx
and esi, 0x6d
mov ecx, ebx
mov ebx, 0
or esi, 1
mov edi, ebp
xor esi, 0x3a
sub esi, 0x43
add edi, 0x82
or esi, 0x92
mov edi, dword [edi]
sub esi, ebx
add edi, 0xe
mov bx, word [edi]
add ebx, ebp
cmp al, 0
jne 0x5da2c9
or esi, 0xf
or esi, 0x400
push dword [ebx]
and esi, edi
mov edi, ebp
or esi, 0x91
xor esi, 0x43
add edi, 0xb0
mov bl, byte [edi]
xor esi, eax
sub bl, 0xe4
cmp al, 0
jne 0x5da313
cmp bl, 1
jne 0x5da313
xor esi, 0x92
add esi, 0x3a
popfd
rol dl, cl
pushfd
or esi, esi
and esi, eax
xor esi, 0x50
add esi, ebx
cmp al, 0
jne 0x5da339
cmp bl, 2
jne 0x5da339
popfd
rol dx, cl
pushfd
and esi, 0x91
and esi, edx
add esi, ebx
or esi, 0xffff
cmp al, 0
jne 0x5da350
cmp bl, 3
jne 0x5da350
popfd
rol edx, cl
pushfd
xor esi, edx
and esi, 0x26
add esi, edx
sub esi, edx
sub esi, 0xf5
sub esi, 0x77
sub esi, eax
or esi, edi
xor esi, 0x91
or esi, 0xde
or esi, eax
xor esi, esi
sub esi, 0x28
mov esi, 0x400
or esi, 0x26
cmp al, 0
jne 0x5da43c
or esi, edi
and esi, 0xcd
mov edi, ebp
add edi, 0x13
and esi, 0xb8
sub esi, 0xffff
mov bl, byte [edi]
cmp bl, 0xdc
jbe 0x5da3f5
xor esi, 0xff
add edx, 0x4f65cbba
xor edx, 0x6f57f956
mov edi, ebp
xor esi, 0x25
xor esi, esi
add esi, 0x7fffffff
add edi, 0xbb
mov dword [edi], edx
jmp 0x5da43c
xor edx, 0x69928727
or esi, 0xd6
sub esi, 0x48
sub esi, 0x7f
mov edi, ebp
add esi, eax
or esi, edi
add edi, 0x28
add esi, 0xff
mov esi, 0x200
xor esi, 4
mov dword [edi], edx
xor esi, 4
and esi, edi
xor esi, 0x3d
sub esi, ebx
mov ebx, ebp
add ebx, 8
mov dl, byte [ebx]
xor dl, 0xf0
mov ecx, ebp
add ecx, 0x7a
xor dl, 0xba
sub dword [ecx], 0x6f86534b
sub dl, 0x43
cmp dl, 0
jne 0x5da512
mov ebx, ebp
add ebx, 0x38
mov edx, dword [ebx]
mov ebx, ebp
add ebx, 0x18
xor edx, dword [ebx]
mov ebx, ebp
add ebx, 0x8e
xor edx, dword [ebx]
add edx, 0x4f65cbba
mov ebx, ebp
add ebx, 0xb7
mov eax, dword [ebx]
xor eax, 0x69928727
mov ebx, ebp
add ebx, 0x28
xor eax, dword [ebx]
mov ebx, ebp
add ebx, 0x18
add eax, dword [ebx]
mov ebx, ebp
add ebx, 0xf3
mov cl, byte [ebx]
sub cl, 0x67
cmp cl, 1
jne 0x5da4c6
movsx edx, al
cmp cl, 2
jne 0x5da4d2
movsx edx, ax
add eax, edx
pushfd
mov ebx, ebp
add ebx, 0x13
mov al, byte [ebx]
cmp al, 0xdc
jbe 0x5da502
add edx, 0x4f65cbba
xor edx, 0x6f57f956
mov ebx, ebp
add ebx, 0xbb
mov dword [ebx], edx
jmp 0x5da512
xor edx, 0x69928727
mov ebx, ebp
add ebx, 0x28
mov dword [ebx], edx
and esi, 0xd6
sub esi, 4
sub esi, edi
sub esi, 0xf
xor esi, 0xca
mov esi, 0xa
add esi, ebx
and esi, 0x40
and esi, edx
xor esi, ebx
xor esi, ebx
add esi, 0xd6
sub esi, eax
sub esi, 0xe5
xor esi, ecx
sub esi, 0xcd
or esi, 0x7fffffff
xor esi, ecx
xor esi, 0xb8
and esi, 0x34
mov esi, eax
mov esi, 0xa
mov esi, 0
or esi, 0xc7
or esi, 0x3d
add esi, 0x28
mov esi, 0
mov esi, ecx
mov esi, 0
xor esi, eax
xor esi, 0x92
sub esi, esi
or esi, edx
or esi, 0x28
add esi, ebx
sub esi, 0xcd
add esi, 0x3a
mov esi, 0x200
or esi, esi
sub esi, 0x33
and esi, 0xde
or esi, eax
xor esi, 0x68
and esi, 0xf0
xor esi, 0xdf
xor esi, 0xa1
add esi, 4
add esi, 0x26
sub esi, esi
and esi, 0x48
or esi, 0xcd
and esi, ecx
mov esi, 0x400
and esi, eax
and esi, 0xb8
sub esi, eax
and esi, 0xa1
and esi, 0x81
sub esi, 0x25
and esi, ebx
add esi, 0x91
sub esi, 0x40
add esi, esi
add esi, 0x40
mov esi, 0x400
and esi, edi
xor esi, ecx
or esi, 0x3d
and esi, ebx
mov edi, 0
xor edi, edi
add edi, 4
sub edi, 0x3a
mov esi, ebp
add edi, 0xd6
sub edi, 4
add edi, 0x400
add esi, 0xb7
or edi, 0x25
add edi, edx
mov eax, dword [esi]
sub edi, 0x68
sub edi, eax
or edi, 0xde
xor eax, 0x69928727
or edi, ebx
or edi, 0x81
mov esi, ebp
or edi, 0x68
or edi, 0xe5
add esi, 0x28
mov edi, 0
mov edi, esi
xor eax, dword [esi]
sub edi, esi
add edi, 0x28
mov esi, ebp
sub edi, 0x400
xor edi, 1
add esi, 0x18
or edi, 0xca
add eax, dword [esi]
or edi, ebx
mov esi, ebp
add esi, 8
mov dl, byte [esi]
xor dl, 0xf0
or edi, edi
and edi, 0x1c
add edi, ebx
xor edi, 0xf5
xor dl, 0xba
and edi, 0xffff
add edi, 0xffff
and edi, 4
sub dl, 0xe7
mov esi, ebp
mov edi, 0x200
xor edi, 0xca
add esi, 0xb0
or edi, eax
add edi, 0x40
mov cl, byte [esi]
sub edi, 0xf8
mov esi, ebp
add edi, 0x3c
add esi, 0x38
xor edi, 0xff
mov ebx, dword [esi]
sub edi, 0x7fffffff
mov esi, ebp
add esi, 0x18
or edi, 0x3a
xor edi, edi
mov edi, esi
xor ebx, dword [esi]
and edi, 0xf
or edi, 0xde
and edi, ecx
mov esi, ebp
xor edi, 0xff
add edi, 0x3c
add esi, 0x8e
add edi, esi
xor ebx, dword [esi]
xor edi, 0x80
add ebx, 0x4f65cbba
or edi, 0x33
xor edi, 0xa1
add edi, 0x81
sub cl, 0xe4
mov edi, edi
or edi, 4
xor edi, 0x50
add edi, ecx
sub edi, 0x92
sub edi, edi
or edi, 0x33
sub edi, 0x40
mov edi, edi
sub edi, 0x91
and edi, ebx
sub edi, ebx
or edi, 0x40
and edi, 0x35
add edi, ecx
xor edi, 0x1c
or edi, 0xf0
and edi, 4
add edi, 4
sub edi, 0xff
sub edi, edi
and edi, 0xf5
or edi, 0xa1
add edi, esi
or edi, 0x400
xor edi, 0x6d
sub edi, 0x28
xor edi, 0x7fffffff
and edi, 0x1c
add edi, 0xcd
mov edi, eax
xor edi, 0x3c
mov edi, 0x400
sub edi, 0x50
xor edi, 0x3a
add edi, 0x1c
and edi, ebx
add edi, eax
add edi, ebx
xor edi, 0x35
mov edi, 0x400
sub edi, 0x3c
sub edi, esi
and edi, 0x81
sub edi, 0xf8
mov edi, 0x200
or edi, eax
or edi, edx
and edi, 1
and edi, 4
xor edi, 4
xor edi, 0x3d
or edi, edx
or edi, 0xfd
sub edi, 0x43
xor edi, 0x7fffffff
or edi, 0xa1
add edi, 1
xor edi, ebx
or edi, eax
sub edi, edx
and edi, ebx
add edi, 0xf8
mov edi, 0xa
and edi, ecx
or edi, edx
and edi, edi
or edi, 0x48
and edi, 2
and edi, 0x50
or edi, 0x34
add edi, 4
and edi, 0x7fffffff
sub edi, 0xf5
sub edi, edx
and edi, 0xffff
cmp dl, 0
jne 0x5da92b
cmp cl, 1
jne 0x5da92b
test bl, al
pushfd
xor edi, edx
xor edi, 0x1c
xor edi, 2
cmp dl, 0
jne 0x5da941
cmp cl, 2
jne 0x5da941
test bx, ax
pushfd
cmp dl, 0
jne 0x5da96a
cmp cl, 3
jne 0x5da96a
test ebx, eax
pushfd
add edi, edx
or edi, 0x68
or edi, 0x28
add edi, 0x34
cmp dl, 0
jne 0x5daa58
add edi, 0xe7
sub edi, edx
mov esi, ebp
add esi, 0x13
sub edi, 0xff
mov al, byte [esi]
cmp al, 0xdc
jbe 0x5da9e6
and edi, edi
and edi, 0x35
add edi, edx
add ebx, 0x4f65cbba
add edi, 0x34
and edi, 0xdf
xor edi, edi
and edi, edx
xor ebx, 0x6f57f956
sub edi, 0x43
and edi, eax
add edi, edx
add edi, ebx
mov esi, ebp
add esi, 0xbb
mov dword [esi], ebx
jmp 0x5daa52
xor edi, 0xfd
and edi, 0x33
xor edi, 0xfd
or edi, 0x800
xor edi, 0x26
xor ebx, 0x69928727
add edi, edx
mov esi, ebp
add edi, 0x40
xor edi, 0xe5
xor edi, 0x50
add esi, 0x28
or edi, 0xfd
sub edi, 0xa1
add edi, 0x50
and edi, ecx
mov dword [esi], ebx
xor edi, edi
sub edi, 0xe7
xor edi, esi
or edi, 0x6d
or edi, 0x43
or edi, 0x43
xor edi, 0xe5
or edi, 0x91
mov esi, ebp
sub edi, ebx
mov edi, 0xa
add edi, 0x77
add esi, 8
mov dl, byte [esi]
and edi, 0x800
or edi, esi
xor dl, 0xf0
xor dl, 0xba
sub edi, 0x3d
and edi, 0xca
sub dl, 0x33
xor edi, eax
mov esi, ebp
or edi, ebx
sub edi, 0x400
add esi, 0x38
or edi, 0x81
xor edi, 0x68
add edi, esi
sub edi, edi
mov eax, dword [esi]
sub edi, 0x81
mov edi, esi
mov esi, ebp
add edi, 0x28
xor edi, 0x3c
add esi, 0x18
and edi, 0xe7
add edi, 0x48
mov edi, 0
xor eax, dword [esi]
or edi, 0x92
or edi, 4
xor edi, 0xc7
and edi, 0xff
mov esi, ebp
add esi, 0x8e
and edi, 0x7fffffff
sub edi, eax
xor edi, 0x28
and edi, 0x3d
xor eax, dword [esi]
or edi, 0xde
sub edi, 0x7fffffff
add eax, 0x4f65cbba
or edi, 0x48
mov esi, ebp
add edi, 0xa1
sub edi, 0xf8
add esi, 0xb7
mov edi, 0
mov ebx, dword [esi]
xor ebx, 0x69928727
xor edi, 0x5c
mov edi, edi
xor edi, 0x7fffffff
mov esi, ebp
add esi, 0x28
xor edi, 0x48
and edi, 0x26
or edi, 1
xor ebx, dword [esi]
mov esi, ebp
add edi, edi
add esi, 0x18
sub edi, 0xfd
add ebx, dword [esi]
xor edi, 0x6d
mov ecx, ebx
or edi, ebx
mov ebx, 0
add edi, eax
or edi, 1
xor edi, edx
mov esi, ebp
or edi, 0x7fffffff
or edi, 0x48
and edi, 0x91
add esi, 0x82
and edi, ebx
mov esi, dword [esi]
add esi, 0xe
mov bx, word [esi]
and edi, 0x33
or edi, 0xb8
and edi, 0x6d
add ebx, ebp
cmp dl, 0
jne 0x5dac14
sub edi, 0xc7
and edi, 0xffff
and edi, 0x40
add edi, 0x34
push dword [ebx]
sub edi, 0x28
or edi, ebx
and edi, 0x3a
mov esi, ebp
add esi, 0xb0
sub edi, 0x5c
sub edi, edx
mov bl, byte [esi]
xor edi, edi
sub edi, eax
or edi, 4
and edi, 0xa1
sub bl, 0xe4
cmp dl, 0
jne 0x5dac71
cmp bl, 1
jne 0x5dac71
sub edi, edi
or edi, eax
sub edi, 2
popfd
shl al, cl
pushfd
or edi, 0x91
xor edi, 0x7f
add edi, 0xe7
cmp dl, 0
jne 0x5daca0
cmp bl, 2
jne 0x5daca0
popfd
shl ax, cl
pushfd
xor edi, 0x5c
and edi, 0x6d
sub edi, 0x50
add edi, 0xca
cmp dl, 0
jne 0x5dacc2
cmp bl, 3
jne 0x5dacc2
and edi, edi
sub edi, edi
popfd
shl eax, cl
pushfd
and edi, 4
and edi, esi
and edi, eax
sub edi, 0x7f
add edi, 0xd6
add edi, 0x68
and edi, 0xb8
or edi, eax
cmp dl, 0
jne 0x5dada5
mov esi, ebp
add esi, 0x13
or edi, ebx
or edi, edx
and edi, 0xa1
or edi, 4
mov bl, byte [esi]
cmp bl, 0xdc
jbe 0x5dad44
and edi, 0x91
add eax, 0x4f65cbba
xor eax, 0x6f57f956
mov esi, ebp
add edi, eax
or edi, 0x35
xor edi, 2
add esi, 0xbb
mov dword [esi], eax
jmp 0x5dad97
xor eax, 0x69928727
or edi, 0x3c
or edi, 0x91
mov esi, ebp
xor edi, 0x3d
add edi, 0x3c
xor edi, 0xffff
add esi, 0x28
add edi, esi
sub edi, 0x25
xor edi, 0xe5
or edi, 0xa1
and edi, eax
mov dword [esi], eax
xor edi, 0x43
mov edi, edi
add edi, esi
or edi, 0x48
sub edi, edx
add edi, 0xcd
and edi, 0x43
xor esi, ecx
mov edi, ebp
and esi, 0xf0
mov edx, 0
add edi, 8
add edx, 0x7f
mov al, byte [edi]
and edx, 0x3c
add esi, 0x48
xor esi, 0x33
xor al, 0xf0
or edx, 0x33
add esi, 0x26
xor al, 0xba
and edx, esi
sub al, 0x81
cmp al, 0
jne 0x5daf2f
mov edx, 0xa
sub edx, 0xb8
xor esi, 0xd6
mov esi, ebx
mov edi, ebp
add edi, 0xb7
or esi, 0x34
mov edx, 0x400
or edx, 0xffff
or esi, 0xff
mov ecx, dword [edi]
add edx, 1
and edx, edx
sub edx, 0x81
xor ecx, 0x69928727
sub esi, 0x1c
add esi, 0x48
and esi, 0xe7
xor edx, ecx
mov edi, ebp
add edi, 0x28
add esi, 0x48
or esi, 2
add edx, 0x28
xor ecx, dword [edi]
add edx, eax
or edx, esi
mov edi, ebp
add edi, 0x18
add ecx, dword [edi]
or esi, 2
mov ebx, ecx
add ecx, ebx
pushfd
mov edi, ebp
and edx, 1
sub esi, ebx
add edi, 0x13
mov cl, byte [edi]
cmp cl, 0xdc
jbe 0x5daecb
and esi, 0xff
add ebx, 0x4f65cbba
and esi, 0xcd
xor ebx, 0x6f57f956
sub esi, ebx
mov edi, ebp
add edi, 0xbb
mov dword [edi], ebx
jmp 0x5daf21
add esi, eax
or edx, 0xcd
add esi, 0xcd
xor ebx, 0x69928727
sub esi, 0xf8
or edx, 1
mov edi, ebp
sub esi, 0xde
add esi, 4
add edx, 0xdf
add edi, 0x28
and edx, 0x28
add edx, 0x800
and esi, 0x800
mov dword [edi], ebx
sub edx, 0xdf
or edx, esi
add esi, 4
sub edx, ebx
and edx, 1
xor esi, 0x6d
and edx, 0x34
call fcn.0048efd9
and esi, edi
mov esi, 0x200
xor edi, 0x48
mov esi, 0
and esi, 0x77
mov edi, ebp
add edx, 0xdf
xor edx, 0x33
xor edx, 0xca
sub esi, 0x91
add edi, 8
add edx, 0x25
mov bl, byte [edi]
xor esi, 4
xor bl, 0xf0
and edx, eax
and edx, esi
add esi, edx
xor bl, 0xba
add esi, ebx
xor esi, ecx
and esi, edx
add edx, 1
sub bl, 0x91
cmp bl, 0
jne 0x5db0c9
add edx, 0xff
and esi, 0xffff
and esi, 0x81
mov edi, ebp
add edi, 0x38
and edx, 0x3c
sub esi, eax
mov eax, dword [edi]
and esi, ecx
mov edi, ebp
xor edx, 0xb8
or esi, 0xe5
xor esi, 0xf0
add edi, 0x18
add edx, edi
sub esi, edi
add edx, 4
xor eax, dword [edi]
xor esi, 0x81
mov edi, ebp
or edx, 1
or edx, eax
add edi, 0x8e
xor edx, edi
xor eax, dword [edi]
or esi, 0xe5
xor edx, eax
and esi, 0x25
add eax, 0x4f65cbba
and edx, 0xde
and edx, ebx
mov edi, ebp
or esi, 0x25
add edi, 0xb7
mov ecx, dword [edi]
or edx, 0x77
or edx, 0xf
xor esi, 0x34
and esi, 0xf
xor ecx, 0x69928727
and edx, eax
sub esi, ebx
mov edi, ebp
add edi, 0x28
xor ecx, dword [edi]
sub esi, eax
xor esi, 0xfd
mov esi, 0x400
mov edi, ebp
xor edx, edx
and esi, 0x33
add edi, 0x18
add ecx, dword [edi]
sub esi, 0x5c
xor edx, esi
mov esi, edi
mov edx, 0xa
and esi, 0x7fffffff
mov esi, edi
sub edx, 0x7fffffff
xor edx, 0x28
add edx, 0x92
and edx, 0xd6
xor esi, ecx
sub esi, 0xffff
or esi, 0x35
add esi, 4
mov esi, ebp
sub edi, esi
sub edi, edx
add esi, 8
mov al, byte [esi]
xor edi, 0xdf
mov edi, edi
sub edi, 0x91
xor al, 0xf0
xor al, 0xba
xor edi, 0x48
sub edi, edx
and edi, 0x7f
sub al, 0x68
cmp al, 0
jne 0x5db33e
sub edi, 0x800
add edi, 0x80
mov esi, ebp
add edi, 0x34
sub edi, 0x28
xor edi, 0xcd
add esi, 0x38
or edi, 0xd6
sub edi, 0xcd
and edi, ecx
mov edx, dword [esi]
mov edi, 0xa
sub edi, edi
mov esi, ebp
mov edi, 0xa
xor edi, 0xa1
add esi, 0x18
add edi, 0xe7
and edi, eax
sub edi, 0xfd
add edi, 0xd6
xor edx, dword [esi]
mov esi, ebp
add esi, 0x8e
sub edi, 0x3a
or edi, 0x7f
sub edi, ebx
xor edx, dword [esi]
xor edi, 0x92
or edi, 0x81
sub edi, 0x68
add edx, 0x4f65cbba
add edi, edx
or edi, 0x3c
mov esi, ebp
xor edi, 0xe5
sub edi, 0x25
and edi, 0x25
and edi, 0x33
add esi, 0xb7
mov edi, 0xa
xor edi, 0xfd
mov ebx, dword [esi]
xor edi, ecx
and edi, ecx
or edi, edx
xor edi, 0x77
xor ebx, 0x69928727
xor edi, 0xe7
add edi, 0x5c
mov esi, ebp
add esi, 0x28
or edi, esi
mov edi, edi
or edi, 0xf5
xor ebx, dword [esi]
mov esi, ebp
mov edi, 0x400
or edi, edi
add esi, 0x18
mov edi, 0x400
add edi, 0xe5
add edi, 0xdf
add ebx, dword [esi]
sub edi, 0xf8
mov edi, 0x400
mov esi, ebp
xor edi, esi
xor edi, 0xb8
and edi, 0xf0
add esi, 0xb0
or edi, ecx
xor edi, 0xb8
mov cl, byte [esi]
or edi, 0x6d
sub edi, 2
and edi, ecx
xor edi, 0xdf
sub cl, 0xe4
add edi, 0x33
or edi, 0x48
and edi, 0xde
sub edi, esi
xor edi, 0x3a
or edi, 0xf8
and edi, ecx
add edi, 2
sub edi, 0x1c
or edi, 0x35
and edi, 0xe5
sub edi, 0x26
and edi, 0xde
add edi, edi
mov edi, 0
and edi, 4
xor edi, 4
and edi, 1
and edi, 0x77
or edi, 0x5c
add edi, ecx
add edi, 0xf0
sub edi, edi
add edi, eax
or edi, 0x1c
xor edi, ecx
and edi, ecx
or edi, 0xde
xor edi, 0x68
xor edi, 0x3d
and edi, 0xcd
or edi, 2
sub edi, 0x25
xor edi, edx
mov edi, 0xa
xor edi, 0x6d
sub edi, 0xa1
and edi, 0x92
sub edi, 0x5c
xor edi, 0xe5
and edi, 0xde
sub edi, 0xde
add edi, 0xa1
xor esi, 0x3a
and edi, 0x3c
pop ecx
mov eax, ebp
add eax, 0x82
mov eax, dword [eax]
add eax, 0xc
and edi, edi
and ebx, 0x40
sub ebx, 0x92
movzx eax, byte [eax]
cmp eax, 0
je 0x5db3cf
sub edi, 0x1c
xor edi, 0x7f
mov eax, 0
sub ebx, 0xffff
and esi, 0x800
mov edx, ebp
add edx, 0x82
add edi, 0xff
mov edx, dword [edx]
add esi, 0xfd
add ebx, edi
and edi, 0x3c
add edx, 0xe
mov ax, word [edx]
add eax, ebp
mov dword [eax], ecx
sub ebx, 0x28
or edi, 0xcd
sub ebx, 0x3c
mov edi, ebp
and esi, 0x77
or esi, 0x33
add eax, 0x6d
add eax, 0x80
add edi, 8
mov bl, byte [edi]
sub esi, eax
sub eax, 0x33
xor bl, 0xf0
sub eax, 0x81
xor bl, 0xba
xor esi, 0xdf
sub bl, 0xb8
and esi, 0xd6
mov edi, edx
xor eax, eax
mov esi, ebp
or eax, 0xde
or eax, edi
xor eax, 0xf0
mov ecx, 0x200
add esi, 8
or edi, 0xc7
add edi, esi
mov dl, byte [esi]
xor dl, 0xf0
xor ecx, 0x26
xor dl, 0xba
sub ecx, 0x92
and ecx, 0x81
sub dl, 0xe7
cmp bl, 0
je 0x5db5e9
cmp dl, 0
je 0x5db5e9
add edi, 0x35
mov esi, ebp
xor ecx, esi
add ecx, 0xd6
add esi, 0x13
mov dl, byte [esi]
cmp dl, 0xdc
jbe 0x5db4c2
mov esi, ebp
or edi, 0x35
and ecx, 0x3a
add esi, 0xbb
mov ebx, dword [esi]
or ecx, 0xff
add ecx, 0x800
or edi, 0x6d
xor ebx, 0x6f57f956
sub ebx, 0x4f65cbba
jmp 0x5db4f6
xor ecx, 0x34
mov esi, ebp
xor ecx, eax
xor ecx, ebx
add esi, 0x28
or ecx, 0x91
sub edi, eax
mov ebx, dword [esi]
xor edi, 0x7fffffff
or ecx, 4
xor ebx, 0x69928727
add ecx, 0x1c
and ecx, 0x77
and ecx, 0x35
mov eax, ebp
or edi, ecx
mov edx, ebp
sub edi, 0xca
sub edi, 0xd6
add eax, 0xb0
xor ecx, 0x48
add edx, 0x8e
or ecx, 0xd6
or ecx, 0x43
mov al, byte [eax]
add edi, ebx
sub edi, 0xd6
or edi, 0xe5
sub ecx, edx
mov edx, dword [edx]
and ecx, ecx
add ecx, 0xcd
sub al, 0xe4
xor edx, 0x6f57f956
cmp al, 1
jne 0x5db577
xor ecx, 0xd6
mov byte [edx], bl
and ecx, 0xffff
add edi, 0xf8
and ecx, 1
cmp al, 2
jne 0x5db588
mov word [edx], bx
and edi, 0xf
cmp al, 3
jne 0x5db5cb
mov edi, 0x400
sub ecx, 0x91
or ecx, ecx
mov dword [edx], ebx
sub edi, eax
and ecx, 0x48
sub ecx, eax
xor edi, eax
or ecx, 0xf
or edi, 0xb8
add edi, 0xffff
or edi, edi
add edi, 0x43
add edi, 0x48
xor ecx, 0x77
add ecx, 0x43
add edi, 0xfd
or ecx, 0xdf
add edi, 0xf
add edi, 0x33
add edi, 0x5c
mov eax, ebp
xor edi, 0x48
mov esi, ebp
xor edi, 2
add eax, 0x82
and edi, 0x400
and edi, 0xde
or edi, esi
mov eax, dword [eax]
add edi, eax
add edi, esi
add eax, 0
add edi, 0x77
movzx eax, word [eax]
xor edi, 0x3a
xor edi, 0xb8
add esi, 0xf4
add edi, ebx
or edi, 0xff
mov esi, dword [esi]
mov edi, ebx
mov edi, ebp
add edi, 0x13
mov edx, 0
mov edx, edx
xor edx, 0xa1
or edx, edi
xor byte [edi], al
mov edi, ebp
add edx, 0xffff
xor edx, ebx
or edx, edi
xor edx, edi
add edi, 0xd9
and edx, 0x7fffffff
or edx, 0xffff
add eax, dword [edi]
and edx, 0x1c
add edx, 0xffff
sub ebx, edi
and edx, 0x91
or edx, edi
xor edx, edx
mov ecx, ebp
sub edx, 0x3a
sub edx, 0xff
sub edx, 0x92
mov edx, 0xa
add ecx, 0x18
add edx, ebx
xor edx, 0xcd
or edx, 0x3a
and edx, ebx
xor edx, esi
xor edx, 0x35
xor eax, 0x4f17c401
sub edx, 0x91
sub edx, 0x800
sub edx, 0x1c
add edx, 0x40
mov ecx, ebp
add ecx, 0xd9
add edx, esi
or edx, 0x3c
and edx, 0x6d
and edx, edx
add edx, 0x26
and edx, 0xdf
add edx, 0xe7
and eax, 0xffff
and edx, edx
shl eax, 2
add edx, 0x35
sub edx, edi
add esi, eax
xor edx, ecx
sub edx, ecx
mov ecx, dword [esi]
mov edi, ebp
and edx, 0xffff
and edx, 0x800
add edi, 0x82
mov edi, dword [edi]
add edi, 6
mov esi, dword [edi]
mov edi, ebp
mov eax, ebx
add eax, 0xa1
add edi, 0x82
add dword [edi], esi
or eax, 0x35
or eax, eax
sub eax, ecx
or eax, 0xf0
jmp ecx