Function at 0x656bba
Capabilities:
Encrypt data using chaskey

Disassembly:
shl eax, 8
or esi, ebx
jmp 0x64f055
sub eax, ecx
rcl dx, 0x28
sub esi, ecx
xor dx, 0x6d23
mov ecx, dword [ebp - 0x38]
cmp edx, edx
ror dl, cl
mov dx, cx
cmp di, si
shr dx, 5
jmp 0x6423c3
jmp 0x64ab03
add ecx, ecx
jmp 0x64c455
sub cx, dx
sub dl, 0xf
seta dh
mov edx, dword [ebp - 0xc]
test dx, si
cmp sp, 0x102
jmp 0x65045d
sub eax, ecx
test bp, dx
sub esi, ecx
test dx, cx
sar cl, 0x17
sub dl, dl
mov ecx, dword [ebp - 0x38]
mov dx, cx
test esi, ecx
shr dx, 5
test cl, 0x30
sub cx, dx
cmp si, cx
mov word [edi + ebx*2 + 0x1b0], cx
cmp ah, 0
cmp eax, 0x1000000
jmp 0x662154
cmp eax, 0x1000000
jmp 0x66266c
jae 0x659cc8
mov edi, dword [ebp - 0x18]
xchg ah, al
mov eax, ecx
shl ch, 5
cmovno cx, bp
mov ecx, 0x800
sub ecx, edx
not dh
cwd
mov edx, dword [ebp - 0xc]
sar ecx, 5
add ecx, dword [ebp - 0x38]
test ecx, esp
cmp esp, edi
stc
mov word [edx], cx
clc
cmp edx, eax
cmp dl, 0x85
test edi, edi
jmp 0x65187d
sub eax, edx
sub esi, edx
cmp al, al
xor dl, 0xa8
not dl
mov edx, dword [ebp - 0x38]
stc
cmovg di, di
add di, ax
mov di, dx
shr di, 5
clc
cmc
sub dx, di
clc
cmp esi, ecx
cmp esp, 0xa22e388c
mov word [ecx], dx
cmp eax, 0x1000000
jmp 0x647a6b
je 0x660f05
movzx edi, byte [ebx]
jmp 0x644cc7
imul ecx, ebx
cmp esi, ecx
jmp 0x657260
dec eax
cmp edx, eax
je 0x660f05
shl ecx, 8
adc ah, cl
rcr ah, cl
cmp dx, si
mov eax, ecx
movzx ecx, byte [edx]
shl esi, 8
cmp ax, bx
or esi, ecx
xchg cl, cl
inc edx
mov dword [ebp - 8], edx
rol cl, cl
adc ch, ah
mov edx, dword [ebp - 0xc]
ror cl, cl
movzx ecx, word [edx]
cmp si, 0x1a17
sets dh
bts edx, eax
mov dword [ebp - 0x38], ecx
xchg edx, edx
movzx edx, cx
mov ecx, eax
cmc
shr ecx, 0xb
cmp esp, 0x4092fb19
test edi, 0x548e4005
imul ecx, edx
test edx, edi
cmp esi, ecx
jmp 0x6437da
mov edx, dword [ebp - 0xc]
mov word [ecx + edx], di
mov di, di
cmovo di, ax
mov edi, dword [ebp - 0x30]
inc ecx
stc
test edi, eax
or dword [ebp - 0x10], edi
cmp dx, 0x883d
shl dword [ebp - 0x30], 1
stc
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ecx
jmp 0x646d2f
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], edx
jmp 0x6453f8
je 0x661978
cmp edx, 0x100
jmp 0x647ffd
je 0x660f05
mov edx, dword [ebp - 8]
movzx ebx, byte [edx]
jmp 0x65566d
mov word [ecx + 2], dx
add ecx, 0x204
mov dword [ebp - 0x34], 0x10
or dl, 0x88
rol dh, 8
xor dx, bp
mov edx, 8
cmp si, dx
mov dword [ebp - 0xc], ecx
test cx, 0xf325
jmp 0x644124
cmp ecx, 0x1000000
jmp 0x655b61
shl esi, 8
jmp 0x64ef4c
jae 0x651353
mov ebx, dword [ebp + 8]
jmp 0x6634e5
mov dword [ebp - 0x18], ecx
jmp 0x652114
je 0x660f05
mov edi, dword [ebp - 8]
movzx edi, byte [edi]
shl esi, 8
test edi, 0x4aaa1535
shl eax, 8
cmp esp, ebp
or esi, edi
dec di
movzx edi, sp
inc dword [ebp - 8]
add di, 0x7ba7
movzx edx, word [edx + ecx]
xor edi, ecx
mov cx, bp
clc
movzx edi, dx
bswap ecx
mov ecx, eax
jmp 0x6499d8
mov dword [ebp - 0x1c], 1
stc
sal edx, cl
mov edx, dword [ebp - 0x1c]
cmc
test ecx, ebx
cmp ebx, ebx
add edx, edx
mov dword [ebp - 0x38], edx
jmp 0x64c40b
jmp 0x65111c
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
movzx edi, cx
mov edi, dword [ebp + 0x10]
mov byte [ecx + edi], dl
inc ecx
cmp ebx, 4
jmp 0x659acb
sub eax, ecx
test ax, 0x891b
sub esi, ecx
mov cx, di
clc
cmc
cmp cx, dx
shr cx, 5
cmp eax, esp
sub di, cx
xchg ecx, ecx
sub cx, di
shl ch, 0xb2
cmp dword [ebp - 0x34], 0
movsx ecx, si
mov ecx, dword [ebp - 0x38]
mov word [ecx], di
lea edx, [edx + edx + 1]
jmp 0x64413d
jne 0x654dc1
mov ebx, dword [ebp - 0x14]
jmp 0x6597f0
jae 0x64bd08
mov eax, edx
shrd edx, ebx, 0x17
shl dl, cl
mov edx, 0x800
stc
cmp cx, cx
jmp 0x6488bc
sar ecx, 5
add ecx, dword [ebp - 0x38]
jmp 0x6499a3
sar edi, 5
add edi, dword [ebp - 0x38]
sbb ax, cx
mov eax, ecx
cmp bh, 0xb4
mov word [edx + ebx*2 + 0x198], di
dec di
sal di, 0x1f
mov edi, dword [ebp - 0x20]
lea edx, [ebx + 0xf]
shl edx, 4
clc
add edx, dword [ebp - 0x1c]
cmc
lea edx, [edi + edx*2]
mov dword [ebp - 0xc], edx
jmp 0x644725
mov edx, dword [ebp - 0x18]
bt esi, 0x89
mov dword [ecx], eax
clc
mov eax, dword [ebp + 0x14]
neg si
pop edi
shl bh, cl
btc esi, esp
pop esi
movzx ebx, bp
mov dword [eax], edx
and bl, bh
stc
xor eax, eax
pop ebx
jmp 0x64999b
jae 0x652192
mov edi, dword [ebp + 8]
cdq
cmovnp edx, ebx
mov edx, dword [ebp - 8]
jmp 0x65dac3
je 0x660f05
mov edi, dword [ebp - 8]
test edi, esi
stc
movzx edi, byte [edi]
cmp di, 0xd985
clc
shl esi, 8
cmp bx, bx
test ebx, edi
shl eax, 8
cmp bl, cl
cmc
or esi, edi
inc edi
movzx edi, bx
not di
inc dword [ebp - 8]
btr edi, 0
movsx edi, dx
movzx edi, word [edx + ecx]
bt edx, ebp
rcl ch, cl
movzx ecx, di
bts dx, si
xadd edx, edx
xor dx, bp
mov edx, eax
test di, sp
cmc
shr edx, 0xb
clc
stc
imul edx, ecx
cmc
test edx, 0xcc390b89
cmp esi, edx
jmp 0x646dc1
jge 0x645cb5
mov edi, dword [ebp - 0x40]
xchg ch, cl
mov ecx, 0x52a59796
movzx cx, bl
mov ecx, dword [ebp - 0xc]
jmp 0x661359
ret
imul edx, ebx
cmc
jmp 0x64fced
sub edx, ecx
shld ecx, ebx, 0x32
sub ecx, 0xab87812f
mov ecx, dword [ebp - 0xc]
jmp 0x65ded8
jmp 0x6571b1
jae 0x647e5e
mov edi, dword [ebp + 8]
jmp 0x64eb9b
ret
sub di, dx
movsx edx, bx
jmp 0x643dad
mov esp, ebp
pop ebp
jmp 0x64879d
mov word [edi + ebx*2 + 0x1b0], cx
not ch
mov ecx, dword [ebp - 0x28]
jmp 0x6571b8
shr ecx, 0xb
imul ecx, edi
cmp esi, 0x2a104703
test edi, esp
cmp esi, ecx
jmp 0x64bc0a
imul ecx, edx
jmp 0x64edc5
jae 0x640724
mov edi, dword [ebp - 0xc]
shl dx, cl
cmovnp ebx, edi
mov ebx, dword [ebp - 0x48]
and ebx, dword [ebp - 0x18]
cbw
mov eax, ecx
rol ecx, 0x15
btc ecx, edi
mov ecx, 0x800
bt dx, 0x35
neg dh
sub ecx, dword [ebp - 0x40]
or edx, ebp
mov edx, 1
jmp 0x65a26b
jne 0x645402
mov ecx, dword [ebp - 0x30]
btr dx, 0x11
bts edx, ebp
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x34]
sub ecx, edx
sbb edx, edi
mov edx, dword [ebp - 0x1c]
stc
test sp, 0xa92d
test esi, ebx
add edx, ecx
clc
cmp ebx, 4
mov dword [ebp - 0x1c], edx
jge 0x6597fa
lea ebx, [ebx + 7]
shld cx, si, 0xb9
cmp edx, 4
bswap cx
setle cl
mov dword [ebp - 0x14], ebx
mov ecx, edx
jl 0x649b92
mov ecx, 3
bts edx, ebp
cmc
mov edx, dword [ebp - 0x20]
cmp eax, ebx
shl ecx, 7
cmc
stc
lea ecx, [ecx + edx + 0x360]
mov edx, 1
cmp esp, esi
test bl, 0xb8
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x34], edx
cmp esp, 0x36ba52a5
lea edx, [edx + edx]
stc
cmp bp, 0xebad
mov dword [ebp - 0x40], edx
test dx, sp
cmp eax, 0x1000000
jae 0x645312
mov edi, dword [ebp + 8]
dec edi
cmp dword [ebp - 8], edi
jmp 0x6452e8
mov dword [ebp - 0x34], edx
jmp 0x663824
mov word [edx + ecx], di
inc edx
mov dword [ebp - 0x1c], edx
jmp 0x64ab03
sub ebx, 6
jmp 0x64e65f
jmp 0x652b7d
sub dword [ebp - 0x40], 1
jmp 0x649b34
sub eax, edx
sub esi, edx
dec dl
mov edx, dword [ebp - 0x38]
jmp 0x64a0e8
cmp esi, ecx
jmp 0x6603ed
cmp ecx, edx
je 0x660f05
movzx edx, byte [ecx]
test cl, 7
test ebp, esi
shl esi, 8
cmc
shl eax, 8
or esi, edx
cwd
inc ecx
sar dh, cl
cmp esp, 0xea60ba6
mov dword [ebp - 8], ecx
movzx ecx, word [edi + ebx*2 + 0x180]
cmp ah, 0x8e
mov dx, 0x2e
movsx edx, ax
mov dword [ebp - 0x38], ecx
dec dl
movzx edx, cx
mov ecx, eax
cmc
shr ecx, 0xb
imul ecx, edx
cmc
cmp esi, ecx
jae 0x6637e6
mov eax, ecx
mov ecx, 0x800
sub ecx, edx
rcl dl, cl
adc edx, esp
mov edx, dword [ebp - 0x24]
sar ecx, 5
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], edx
xchg edx, edx
mov edx, edx
bswap dx
mov edx, dword [ebp - 0x10]
clc
cmp dl, dl
mov word [edi + ebx*2 + 0x180], cx
mov ecx, dword [ebp - 0x28]
test bx, 0xd31a
mov dword [ebp - 0x24], ecx
jmp 0x65caaf
mov word [edi + ebx*2 + 0x1c8], cx
movsx cx, bl
mov ecx, dword [ebp - 0x24]
jmp 0x648d50
jmp 0x652b7d
jae 0x653ccf
mov eax, ecx
mov ecx, 0x800
sub ecx, edi
xadd di, di
sar ecx, 5
lea ecx, [ecx + edx]
rol dl, 0xbc
movsx edx, si
mov edx, dword [ebp - 0x40]
bt edi, 0x39
rcl di, 0xa0
mov edi, ecx
mov ecx, dword [ebp - 0xc]
mov word [edx + ecx], di
bsf edx, edi
mov edx, dword [ebp - 0x34]
add edx, edx
jmp 0x6594a7
jae 0x64654b
mov eax, ecx
rcl ch, cl
mov ecx, 0x800
cmp ebx, 0x72c378d
clc
sub ecx, ebx
sar ecx, 5
lea ecx, [ecx + edi]
shr edi, 0x22
or di, 0xed87
mov edi, dword [ebp - 0x38]
cmp ebp, 0x1516c317
cmp edi, edi
add edx, edx
clc
test ebp, 0x689e54b7
cmp dword [ebp - 0x34], 0
jmp 0x66196f
jae 0x64bff8
mov edi, 0x800
bt ax, 0x83
sub edi, edx
add dh, bl
mov edx, dword [ebp - 0x20]
jmp 0x6473c4
mov cx, di
cmp eax, esp
shr cx, 5
cmc
sub di, cx
not ecx
mov ecx, dword [ebp - 0xc]
jmp 0x64adf7
sub eax, ecx
sub esi, ecx
rol ecx, cl
mov dx, bx
mov ecx, dword [ebp - 0x38]
movsx dx, ah
mov dx, cx
cmc
shr dx, 5
sub cx, dx
mov word [edi + ebx*2 + 0x198], cx
test sp, 0xb937
cmp eax, 0x1000000
jmp 0x65995c
cmp eax, 0x1000000
jmp 0x648d55
jmp 0x643dca
inc ecx
cmp edi, 5
jmp 0x64ec97
sub eax, edx
not di
sub esi, edx
sal di, 0xb1
mov edx, dword [ebp - 0x38]
mov di, dx
cmp ebp, 0x582a6a96
clc
stc
shr di, 5
test ecx, esp
sub dx, di
jmp 0x6442e8
cmp eax, 0x1000000
jmp 0x644f3f
jae 0x64c7cf
mov eax, edx
mov edx, 0x800
cmp ebp, 0xab3fab07
jmp 0x6572b4
cmp ebx, 7
not bl
setl cl
xchg bh, bl
mov bx, 0x2636
mov dword [ebp - 0x28], edx
xchg bl, bh
jmp 0x654f57
jmp 0x652b7d
dec edi
test al, al
cmp dword [ebp - 8], edi
jmp 0x647e28
jl 0x65e0c5
mov dword [ebp - 8], ecx
ror cl, 0x87
add edx, 0x7072115
lea esp, [esp]
mov ecx, dword [ebp - 0x44]
stc
rol dh, cl
dec di
and ecx, dword [ebp - 0x18]
sbb dl, 0x33
xor di, sp
rcl dh, cl
mov edi, dword [ebp - 0x20]
mov edx, ebx
stc
cmp edx, ebp
shl edx, 4
lea edx, [edx + ecx]
clc
cmp bl, 0xb6
mov dword [ebp - 0x1c], ecx
jmp 0x664bb5
dec edx
cmp ecx, edx
jmp 0x665e4c
cmp esi, ecx
jmp 0x66654f
shl eax, 8
or esi, edi
mov edi, esp
inc ebx
mov di, bx
dec di
mov dword [ebp - 8], ebx
movzx edi, word [ecx]
mov ecx, 0x56861f2c
shrd bx, bp, 0xa6
movzx ebx, di
shl ecx, 0x83
add ecx, 0x2a06ef89
mov ecx, eax
jmp 0x661f9d
inc edx
mov dword [ebp - 8], edx
cmp ch, 0x99
test si, 0x922a
shr eax, 1
jmp 0x65cbef
cmp esi, edx
jmp 0x6571d4
sub eax, edx
stc
cmp ah, 0x98
sub esi, edx
sal dx, 0xb9
bt dx, dx
mov dx, di
cmc
clc
cmp ebp, esp
shr dx, 5
cmp bx, 0x5f2c
jmp 0x6494df
mov word [edx], cx
clc
cmp eax, 0x1000000
jae 0x64b342
mov edx, dword [ebp + 8]
mov ecx, edi
mov ecx, dword [ebp - 8]
jmp 0x65cbc5
lea ecx, [edi + ecx + 0xe6c]
jmp 0x651bd3
mov dword [ebp - 8], edx
rol edi, 0x39
stc
movzx edi, bx
movzx edx, word [ecx]
mov dword [ebp - 0x38], edx
movzx edi, dx
adc dl, bh
sbb edx, 0xe907cc29
mov edx, eax
jmp 0x65711a
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x10], ecx
sub ecx, ecx
xor cl, al
cmp ebx, 7
mov cl, cl
setge cl
bswap bx
dec ecx
add bx, sp
test ebx, edi
movsx bx, ch
and ecx, 0xfffffffd
btr ebx, 0x19
add ecx, 0xb
inc bx
btc ebx, ecx
cmc
mov ebx, ecx
cmc
test bx, sp
clc
mov dword [ebp - 0x14], ecx
shr cl, 0x98
sal ch, 0x27
btc cx, 0x20
lea ecx, [edi + 0xa68]
test sp, ax
cmp eax, 0x1000000
jmp 0x66724f
inc ecx
jmp 0x65265b
je 0x660f05
movzx ebx, byte [edi]
cmc
shl esi, 8
cmp ecx, ebx
test cx, ax
clc
shl eax, 8
cmc
clc
cmp esp, esi
or esi, ebx
inc edi
mov dword [ebp - 8], edi
movsx ebx, si
or di, cx
rcl edi, 0xaf
movzx edi, word [ecx + edx]
movzx ebx, di
mov edx, eax
test ebx, esi
shr edx, 0xb
jmp 0x6487aa
dec ebx
cmp esp, 0xafb37b39
cmp dword [ebp - 8], ebx
je 0x660f05
mov ebx, dword [ebp - 8]
cmc
stc
clc
movzx ebx, byte [ebx]
shl esi, 8
test ch, 0xbd
stc
shl eax, 8
cmp si, sp
test cx, 0xb6be
or esi, ebx
inc dword [ebp - 8]
test ecx, esi
movzx edi, word [edi + ecx]
movzx ebx, di
inc ch
btc ecx, esi
mov ecx, eax
cmp ebp, 0xed990895
shr ecx, 0xb
jmp 0x6439cf
je 0x660f05
xor ecx, ecx
cmp ebx, 7
cwd
setge cl
sbb edx, 0xaa233a2e
neg bl
add dh, 0xa1
mov edx, edi
not ebx
shrd ebx, esp, 0x1d
sub edx, dword [ebp - 0x10]
mov bl, 0x33
inc edi
movsx ebx, dx
mov dword [ebp - 0x18], edi
not bl
movsx ebx, cx
lea ecx, [ecx + ecx + 9]
mov ebx, ecx
jmp 0x65e0e4
mov dword [ebp - 0xc], ecx
jmp 0x659327
sub ecx, 4
jmp 0x6437c0
mov dword [ebp - 0x40], edi
jmp 0x666a60
je 0x660f05
movzx edi, byte [edx]
clc
cmc
shl esi, 8
test ecx, 0x90bd6418
test edi, eax
shl eax, 8
cmp eax, ebp
or esi, edi
inc edx
adc di, di
add edi, 0xfe174d95
mov dword [ebp - 8], edx
movzx edx, word [ecx + 2]
mov dword [ebp - 0x38], edx
movzx edi, dx
add dx, 0xdd86
bsr dx, dx
mov edx, eax
cmc
shr edx, 0xb
cmp ecx, 0x28ac76ad
imul edx, edi
test esp, 0xf0a5a38a
cmp esi, edx
jmp 0x64daf0
inc edi
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 1], dl
jmp 0x6452c4
cmp ebx, 0xa
jge 0x64a32e
sub ebx, 3
jmp 0x64b819
jge 0x6528ef
sub ebx, ebx
test bx, bp
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x18], 0xffffffff
jb 0x64ecad
cmp eax, 0x1000000
nop
cmovae ax, si
movsx ax, bl
mov eax, dword [ebp - 8]
jmp 0x665b22
dec edi
cmp edx, edi
jmp 0x65c69a
jae 0x651728
mov ebx, dword [ebp + 8]
jmp 0x6516f6
sub edx, edi
jmp 0x6668ec
mov dx, di
ror bl, cl
xor ebx, 0xacb7003b
shr dx, 5
rcr ebx, 0x3f
sub di, dx
shld bx, di, 0x9f
cwd
rcr bl, 0x9f
mov edx, dword [ebp - 0x38]
setb bh
sub eax, ecx
rol bx, cl
clc
sub esi, ecx
mov ecx, esp
mov ecx, dword [ebp - 0xc]
bswap ebx
movzx bx, ch
movzx ebx, bp
mov word [edx + ecx], di
inc edx
ror bl, 0xb7
cmp edx, 0x100
mov ebx, dword [ebp - 0x14]
jl 0x666acd
jmp 0x645cb8
jmp 0x64430a
lea ecx, [edx + ecx + 4]
mov dx, bp
xchg dh, dl
mov edx, 3
jmp 0x6537bd
mov edi, dword [ebp - 0x40]
cmc
sub eax, ecx
test esi, 0x402fb78d
cmp si, 0x423c
sub esi, ecx
mov cx, dx
cmp al, 8
jmp 0x666864
mov dword [ebp - 0x40], edi
setno dl
mov edi, edi
mov dl, byte [edi]
inc edi
mov edi, dword [ebp + 0x10]
dec dword [ebp - 0x1c]
mov byte [ecx + edi], dl
movzx edi, dx
mov edi, dword [ebp - 0x40]
jmp 0x651197
sub ecx, 1
jne 0x6437c0
mov edx, dword [ebp - 0x20]
add edx, 0x644
shl edi, 4
rcr ecx, cl
btr ecx, eax
bsr ecx, esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x38], 4
mov ecx, 1
bsr edi, esi
clc
mov dword [ebp - 0xc], edx
cmc
not edi
mov dword [ebp - 0x30], 1
btr edi, 6
mov dword [ebp - 0x34], ecx
neg edi
bsr di, di
cmc
mov edi, dword [ebp - 8]
test cx, di
cmp dh, ch
lea ecx, [ecx + ecx]
jmp 0x64c7f9
dec ecx
bts ebx, esi
movsx ebx, bp
adc bx, sp
and ecx, 3
mov ebx, ebx
movsx ebx, cx
mov ebx, ecx
movzx cx, dh
mov dword [ebp - 0x14], ebx
lea ecx, [edi + 0x664]
jmp 0x651164
mov dl, byte [edx + ecx]
jmp 0x667297
shl esi, 8
jmp 0x64009c
jge 0x651bdb
shl edi, cl
mov dword [ebp - 0x10], edi
test eax, ebp
clc
sub edi, edx
movzx dx, bh
setg dh
mov edx, dword [ebp - 0x20]
jmp 0x6576d8
jae 0x643a1c
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
jmp 0x6439f2
rep stosd dword es:[edi], eax
jmp 0x65e0a1
jmp 0x6535cc
je 0x660f05
movzx edx, byte [ecx]
stc
cmp bx, 0x7fb9
cmp cx, sp
shl esi, 8
cmp bh, 0xa3
cmc
clc
shl eax, 8
test bx, bp
or esi, edx
xchg edx, edx
inc ecx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
shrd edx, esp, 7
movsx edx, si
movzx ecx, word [ecx]
cmc
movzx edx, cx
test ebx, 0x77be3612
mov dword [ebp - 0x38], ecx
or cx, ax
mov ecx, eax
stc
cmp sp, 0xf193
shr ecx, 0xb
cmp si, di
imul ecx, edx
mov dword [ebp - 0x40], edx
cmc
cmp esi, ecx
jmp 0x649a73
push 0x7113e362
call fcn.006479af
mov dword [ebp - 0x2c], edi
je 0x65e0a6
mov ecx, eax
sar eax, cl
cmp si, bp
xor edi, 0xc13f97a9
mov eax, 0x400
btr edi, ebx
btc di, 0x12
mov edi, edx
cmp si, 0x4aa7
movzx edx, ax
mov eax, edx
test di, 0x18ae
cmp si, sp
clc
shl edx, 0x10
test si, 0xe782
or eax, edx
clc
shr ecx, 1
jmp 0x656576
shr edx, 0xb
imul edx, edi
cmp bp, 0x5ab5
cmp esi, edx
jae 0x6438c8
mov eax, edx
neg dx
mov edx, 0x800
jmp 0x6531a1
sub eax, ecx
xadd dh, dh
not dl
sub esi, ecx
cmovl ecx, eax
shr dx, cl
not ecx
mov ecx, dword [ebp - 0x38]
bsf dx, di
mov dx, cx
stc
shr dx, 5
test edi, 0x7996b7ab
sub cx, dx
bt edx, edx
bsr dx, cx
dec dl
mov edx, dword [ebp - 0x24]
cmc
cmp esi, 0x3b242baf
mov word [edi + ebx*2 + 0x1c8], cx
rol ecx, cl
sar cx, cl
inc ecx
mov ecx, dword [ebp - 0x2c]
cmp ebp, ebx
stc
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x28]
clc
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x10]
cmc
jmp 0x651116
jae 0x64fcf4
mov eax, edx
bsf dx, di
or edx, 0xde26dd06
mov edx, 0x800
cmc
jmp 0x66093a
mov word [edx], cx
jmp 0x6459aa
jae 0x653589
mov eax, ecx
mov ecx, 0x800
cmc
stc
sub ecx, ebx
sub ebx, 0x778e5002
bsf bx, ax
bts ebx, ebx
sar ecx, 5
and bx, 0x752d
ror bh, cl
shl ebx, 0x22
add ecx, edi
test si, 0x9aa4
rcr bl, cl
movzx ebx, cx
mov edi, dword [ebp - 0x38]
mov bx, dx
or bx, di
mov ebx, ecx
inc cx
mov ecx, dword [ebp - 0xc]
mov word [edi + ecx], bx
add edx, edx
jmp 0x6565fb
sub edx, edi
cmp si, 0xe996
clc
stc
sar edx, 5
add edx, dword [ebp - 0x38]
test di, 0x382f
mov dword [ebp - 0x34], 8
mov word [ecx + 2], dx
inc edx
bt edx, 0x90
mov edx, dword [ebp - 0x1c]
shl edx, 4
jmp 0x65deaf
lea edx, [edx + edi*2 + 0x55e]
jmp 0x654d9d
mov byte [ebp - 1], dl
jmp 0x64a7f7
jae 0x652b8a
jmp 0x654985
jl 0x666acd
mov edi, dword [ebp - 0x18]
sub edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x10]
movzx edi, byte [edi + ebx]
sub bl, ch
mov ebx, dword [ebp - 8]
cmp dl, 0x96
stc
add edi, edi
test ah, 0x80
cmp di, sp
stc
mov dword [ebp - 0x40], edi
clc
and edi, 0x100
mov dword [ebp - 0x34], edi
stc
add edi, edx
cmp bl, 0xa7
clc
stc
lea ecx, [ecx + edi*2 + 0x200]
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000000
jae 0x64ef5d
mov edi, dword [ebp + 8]
jmp 0x660c04
mov word [edi + ecx], dx
lea edx, [edi + 1]
sub dword [ebp - 0x38], 1
jmp 0x649d75
mov dword [ebp - 0x10], edx
test cx, di
cmp cx, sp
add dword [ebp - 0x10], 1
je 0x652b8a
mov edx, dword [ebp - 0x10]
rcl cx, 0xb8
test dh, 0x3a
btr ecx, esi
mov ecx, dword [ebp - 0x18]
cmp bl, 0x3f
add dword [ebp - 0x1c], 2
test dh, 0x3a
cmp edx, ecx
ja 0x660f05
mov edi, ecx
stc
cmp ecx, ebx
cmc
sub edi, edx
cmp ax, sp
add edi, dword [ebp + 0x10]
inc dl
jmp 0x65497d
jae 0x665e73
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 8]
jmp 0x64ecdb
mov ecx, eax
clc
cmp cx, si
shr ecx, 0xb
jmp 0x649a60
mov byte [ebp - 1], dl
mov dword [ebp - 0x18], ecx
jmp 0x652b72
sub eax, ecx
setb dl
not dh
sub esi, ecx
mov ecx, dword [ebp - 0x38]
rcl dl, cl
xor dh, 0xa9
mov dx, cx
cmc
cmp bp, 0x4f98
shr dx, 5
stc
cmc
sub cx, dx
movzx edx, si
mov edx, dword [ebp - 0xc]
jmp 0x65720c
sar ecx, 5
clc
add ecx, dword [ebp - 0x38]
mov word [edi], cx
shld cx, bp, 0x80
bt cx, di
movzx edi, byte [ebp - 1]
mov ecx, 8
clc
test ebp, 0xac23c892
sub cl, byte [ebp - 0x3c]
test dl, cl
shr edi, cl
rcr cx, cl
sar ecx, cl
mov ecx, dword [ebp - 0x3c]
shl ebx, cl
bt cx, sp
xor cx, dx
mov ecx, dword [ebp - 0x20]
test dl, 0xb5
add edi, ebx
imul edi, edi, 0x600
clc
cmp esi, edi
cmp dword [ebp - 0x14], 7
jmp 0x6504d5
dec edx
cmp dword [ebp - 8], edx
jmp 0x6442d7
je 0x660f05
inc eax
sub eax, dword [ebp + 8]
and ebx, ebx
cdq
mov ecx, dword [ebp + 0xc]
bts ebx, edi
jmp 0x647930
je 0x660f05
movzx edi, byte [edx]
clc
shl esi, 8
shl eax, 8
cmc
or esi, edi
movzx edi, bx
inc edx
mov edi, 0xcb016017
jmp 0x650be5
xor ecx, ecx
jmp 0x64e62e
dec ecx
or edi, 2
test dl, 0x9b
test sp, dx
cmp edx, 0xe
mov dword [ebp - 0x38], ecx
jmp 0x655792
or edi, 1
test sp, 0x7580
jmp 0x654d76
dec edx
jmp 0x64b31b
lea edi, [edi + edi]
stc
test eax, esp
cmp esi, eax
jb 0x654d76
sub esi, eax
jmp 0x65cbb8
dec edi
cmc
stc
cmp edx, edi
jmp 0x652168
lea ecx, [edx + ecx + 0x104]
movsx edx, si
xchg dx, dx
movsx dx, cl
mov edx, 3
jmp 0x64430a
sar edx, 5
lea edx, [edx + edi]
mov edi, dword [ebp - 0x38]
shl dword [ebp - 0x1c], 1
mov word [edi + ecx], dx
jmp 0x6419ab
adc ecx, ecx
rep stosw word es:[edi], ax
mov ecx, dword [ebp + 8]
sal ah, cl
lea eax, [ecx - 1]
cmp esi, edi
mov dword [ebp - 0x40], eax
test esp, ecx
sub esi, esi
clc
test dl, 0x24
or eax, 0xffffffff
sub edi, edi
cmp si, 0x9522
cmp ecx, dword [ebp - 0x40]
je 0x660f05
movzx edx, byte [ecx]
cmc
shl esi, 8
inc edi
test edx, 0x2696bf38
stc
or esi, edx
jmp 0x64c64f
mov ecx, dword [ebp + 0x10]
jmp 0x6551ac
jae 0x642dae
mov eax, ecx
shld ecx, eax, 0xa2
mov ecx, 0x800
test bx, 0xd114
cmp di, 0x908e
stc
sub ecx, edx
cmp eax, 0xc91ec11
jmp 0x647074
sub edx, ebx
sar edx, 5
test edi, edx
add edx, edi
xor di, di
mov edi, edx
neg dx
not edx
and dx, sp
mov edx, dword [ebp - 0xc]
mov word [ecx + edx], di
mov ecx, dword [ebp - 0x34]
jmp 0x641d2f
dec edi
cmp ebx, edi
jmp 0x643963
pop edi
pop esi
setg bh
movzx ebx, bp
mov eax, 1
mov bl, 0x24
pop ebx
mov esp, ebp
pop ebp
jmp 0x64925b
jmp 0x65933c
mov word [edi], cx
je 0x644143
cmp edx, 0x100
jmp 0x666ac4
shr ecx, 0xb
test di, bp
imul ecx, ebx
test ebp, esi
cmc
cmp esi, ecx
jmp 0x64bc4a
jae 0x667541
mov edx, dword [ebp + 8]
inc ecx
movsx ecx, dx
xchg ch, cl
mov ecx, dword [ebp - 8]
jmp 0x66751c
dec edx
cmp ecx, ebp
cmc
cmp ecx, edx
je 0x660f05
movzx edx, byte [ecx]
shl esi, 8
shl eax, 8
cmp bh, 0x98
or esi, edx
movsx dx, ah
inc ecx
mov dword [ebp - 8], ecx
test cx, 0x9126
mov dx, bp
movzx ecx, word [edi + ebx*2 + 0x198]
cmp si, dx
xchg dl, dl
mov dword [ebp - 0x38], ecx
movsx edx, sp
ror edx, cl
movzx edx, cx
mov ecx, eax
shr ecx, 0xb
cmc
test bp, 0xacbb
imul ecx, edx
cmp esi, ecx
jmp 0x64bcc6
jae 0x64f061
mov edx, dword [ebp + 8]
jmp 0x65a8bf
dec ebx
cmp edi, ebx
jmp 0x65132a
sub eax, ecx
sub esi, ecx
mov ecx, dword [ebp - 0x38]
btr dx, dx
mov dx, cx
shr dx, 5
sub cx, dx
stc
cmc
mov word [edi + ebx*2 + 0x180], cx
stc
test cl, 0xae
cmp eax, 0x1000000
jmp 0x663952
jne 0x649bc0
sub edx, 0x40
test dx, 0x81f
cmp edx, 4
jmp 0x6668cc
jae 0x66245b
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 8]
jmp 0x662431
lea ecx, [edi + edx*2]
cmc
mov dword [ebp - 0xc], ecx
cmp edi, eax
cmp eax, 0x1000000
jae 0x656965
mov edx, dword [ebp + 8]
bswap ecx
xchg ecx, ecx
movzx ecx, sp
mov ecx, dword [ebp - 8]
dec edx
cmp ecx, edx
jmp 0x65693d
jae 0x65a8d4
mov ecx, dword [ebp + 8]
dec ecx
cmp eax, ecx
jmp 0x65a8cd
je 0x660f05
movzx edx, byte [ecx]
test ebp, esp
cmc
cmp ebx, edi
shl esi, 8
shl eax, 8
or esi, edx
bswap dx
cwd
inc ecx
shr dh, 3
ror edx, cl
sbb dx, bp
mov dword [ebp - 8], ecx
movzx ecx, word [edi + ebx*2 + 0x1b0]
shl edx, cl
and dl, 0x28
sar dl, cl
mov dword [ebp - 0x38], ecx
movzx edx, cx
mov ecx, eax
test di, sp
shr ecx, 0xb
test edx, 0x8a6be87
imul ecx, edx
jmp 0x64b314
jae 0x65715e
mov eax, ecx
mov ecx, 0x800
clc
test ah, ah
sub ecx, edx
test eax, 0x33bc3039
sar ecx, 5
clc
add ecx, dword [ebp - 0x38]
jmp 0x64b6ea
shr cx, 5
sub dx, cx
mov ch, 0xbd
stc
mov ecx, dword [ebp - 0xc]
stc
jmp 0x6594a0
jl 0x6597e7
mov ecx, edx
inc di
rol di, 0xd
mov edi, edx
sar ecx, 1
cmp ax, sp
and edi, 1
jmp 0x65cab6
sar edx, 5
add edx, dword [ebp - 0x38]
test sp, 0xfdb5
mov dword [ebp - 0x34], 0
mov word [ecx], dx
mov edx, dword [ebp - 0x1c]
cmc
shl edx, 4
jmp 0x653a48
je 0x652b80
cmp ecx, 0xffffffff
jmp 0x658265
jge 0x645cb5
mov ecx, dword [ebp - 0xc]
lea edi, [edx + edx]
mov dword [ebp - 0x38], edi
test dh, 6
cmp sp, 0x983d
test dx, di
cmp eax, 0x1000000
jmp 0x652ccf
jae 0x650bef
mov edi, dword [ebp + 8]
movzx edx, ax
mov edx, dword [ebp - 8]
jmp 0x652cae
mov byte [edi + ecx - 1], dl
jmp 0x657a21
dec edx
test ah, ch
cmp ecx, edx
je 0x660f05
movzx edx, byte [ecx]
stc
clc
shl esi, 8
shl eax, 8
stc
clc
or esi, edx
movzx edx, si
cdq
inc ecx
mov dword [ebp - 8], ecx
rol dh, 0x1b
movzx ecx, word [edi + ebx*2 + 0x1c8]
mov dword [ebp - 0x38], ecx
cmc
or dx, cx
bt edx, 0xc
movzx edx, cx
add cx, si
sub ecx, 0xe5881030
jmp 0x659a7a