Function at 0xbd144a
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
sub eax, edi
test ax, di
sub esi, edi
sal edi, 0x36
and edi, 0x207c52cb
shr di, 0xcb
mov edi, edx
shr edi, 5
sub edx, edi
mov word [ebx + ecx], dx
movsx dx, cl
cmovp edx, ebp
movzx edx, ax
inc ebx
shr dh, cl
bsf dx, cx
add ebx, ebx
cmp dh, 0x26
btc dx, 0x72
cmp si, bx
movzx edx, word [ebx + ecx]
cmp cx, ax
cmp eax, 0x1000000
jae 0xbc16a5
mov edi, dword [ebp - 4]
test di, 0x5e9d
cmc
stc
movzx edi, byte [edi]
cmp bx, cx
cmc
stc
shl esi, 8
stc
cmp cl, 0x48
cmc
shl eax, 8
cmp ebp, 0x4b4e2f9d
or esi, edi
inc di
movsx edi, ax
inc dword [ebp - 4]
bsf di, bp
xor di, 0x7b46
mov edi, eax
shr edi, 0xb
test di, 0x264c
cmc
test ebp, esi
imul edi, edx
cmp esi, edi
jae 0xbcf19f
mov eax, edi
add edi, ecx
sub edi, 0x6dbf03c3
mov edi, 0x800
sub edi, edx
shr edi, 5
add edi, edx
mov word [ebx + ecx], di
jmp 0xbcf1c4
sub eax, edi
sub esi, edi
bsf di, cx
rcr di, 0x90
mov edi, edx
test bp, 0x1adc
shr edi, 5
stc
test si, 0x6ec6
sub edx, edi
adc di, 0x2092
bt edi, 0x16
mov edi, dword [ebp - 0x1c]
mov word [edi + ecx + 0x644], dx
adc dl, 0xa0
shld edx, esp, 0x78
dec dl
lea edx, [edi + 1]
clc
cmp si, ax
or ebx, 4
clc
mov dword [ebp - 0x1c], edx
cmp edi, 0x553b2af8
movzx edx, word [ecx + edx*2 + 0x644]
clc
test dl, 0x80
cmp eax, 0x1000000
jae 0xbc2e3b
mov edi, dword [ebp - 4]
stc
cmp si, cx
movzx edi, byte [edi]
cmp esi, edx
test sp, 0x5ec0
shl esi, 8
test dx, bp
shl eax, 8
clc
cmp bl, ch
or esi, edi
xchg edi, edi
bswap edi
cmovnp edi, esp
inc dword [ebp - 4]
sub edi, eax
mov edi, eax
cmc
clc
cmp bp, bp
shr edi, 0xb
imul edi, edx
cmp esi, edi
jae 0xf29054
mov eax, edi
mov edi, 0x800
sub edi, edx
shr edi, 5
cmp di, bp
add edi, edx
xchg dh, dh
cdq
mov edx, dword [ebp - 0x1c]
mov word [ecx + edx*2 + 0x644], di
jmp 0xf29083
sub eax, edi
sub esi, edi
bts di, cx
mov edi, edx
shr edi, 5
cmp esi, ebp
sub edx, edi
mov word [ecx + ebx*2 + 0x198], dx
movzx edx, word [ecx + ebx*2 + 0x1b0]
cmp eax, 0x1000000
jae 0xbc4147
mov edi, dword [ebp - 4]
movzx edi, byte [edi]
cmp bp, 0x7d34
test esi, eax
shl esi, 8
test sp, dx
stc
shl eax, 8
test eax, esi
or esi, edi
inc di
mov di, dx
inc dword [ebp - 4]
cmp si, 0x6937
mov edi, eax
shr edi, 0xb
imul edi, edx
cmc
stc
cmp esi, edi
jae 0xbd1b3d
mov eax, edi
btr di, dx
rcr di, 0xaf
mov edi, 0x800
clc
stc
sub edi, edx
clc
shr edi, 5
test bp, bx
cmc
cmp ax, dx
add edi, edx
not dl
movsx dx, bl
cdq
mov edx, dword [ebp - 0x2c]
mov word [ecx + ebx*2 + 0x1b0], di
jmp 0xbcf0c6
sub eax, edi
clc
cmp ecx, 0x3f6d048c
stc
sub esi, edi
mov edi, edx
cmp ebx, ebp
shr edi, 5
stc
sub edx, edi
mov word [ebx + ecx], dx
inc ebx
add ebx, ebx
mov dx, 0x602d
test ebp, 0x217732f4
movzx edx, word [ebx + ecx]
cmp dx, cx
cmp eax, 0x1000000
jae 0xbc4de8
mov edi, dword [ebp - 4]
cmc
cmp bp, 0x40f7
movzx edi, byte [edi]
cmp edi, 0x336d3758
clc
shl esi, 8
cmc
shl eax, 8
test di, bx
or esi, edi
movsx edi, cx
inc dword [ebp - 4]
xor edi, 0x2dad273f
mov edi, eax
stc
shr edi, 0xb
test bp, bx
imul edi, edx
clc
cmp esi, edi
jae 0xf29b4d
mov eax, edi
mov edi, 0x800
sub edi, edx
clc
test bp, sp
shr edi, 5
add edi, edx
mov word [ebx + ecx], di
jmp 0xf29b7c
pop edi
pop esi
mov eax, 1
bswap ebx
pop ebx
mov esp, ebp
movsx ebp, ax
pop ebp
ret 0xc
sub eax, edi
clc
cmp bx, 0x70e2
stc
sub esi, edi
cmova edi, ebx
btr di, bx
mov edi, edx
cmp dh, 0x1b
cmc
cmp edx, ebp
shr edi, 5
cmp bx, bp
sub edx, edi
test di, bx
mov edi, dword [ebp - 0x30]
cmc
test ebp, 0x7953565c
mov word [ecx + ebx*2 + 0x1c8], dx
test ebp, 0x667001f0
mov edx, dword [ebp - 0x38]
cmc
cmp cx, cx
mov dword [ebp - 0x38], edi
sub edi, ebp
btc di, 0xc0
mov edi, dword [ebp - 0x2c]
clc
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x18]
clc
cmc
cmp ebp, esi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], edx
bsr dx, di
rcl edx, cl
cmp ebx, 7
sbb ebx, ebx
sub edx, 0x5ce70cd2
xadd dx, dx
rol dx, 0xed
and ebx, 0xfffffffd
mov edx, 0x300635a5
adc dl, 0x77
lea ebx, [ebx + 0xb]
test di, 0x4ec9
shr dh, cl
rcr dl, cl
add ecx, 0xa68
movzx edx, word [ecx]
cmp si, bp
cmc
test esp, 0x2ea1cc4
mov dword [ebp - 0x14], ebx
cmp eax, 0x1000000
jae 0xbcf14a
mov edi, dword [ebp - 4]
cmp ch, 0xb2
test bx, cx
cmc
movzx edi, byte [edi]
shl esi, 8
clc
stc
shl eax, 8
test esi, 0x42494a87
cmc
or esi, edi
movzx edi, bp
xchg edi, edi
inc dword [ebp - 4]
mov edi, eax
stc
cmp cl, dh
shr edi, 0xb
stc
test cl, al
imul edi, edx
cmp esi, edi
jae 0xfd26d1
mov eax, edi
xor edi, 0x1dd45f92
mov edi, 0x800
cmp bp, di
sub edi, edx
cmc
test ebp, 0x35067bd5
shr edi, 5
add edi, edx
clc
mov edx, dword [ebp - 0x1c]
shl edx, 4
mov word [ecx], di
lea edi, [edx + ecx + 4]
mov dword [ebp - 8], 0
mov dword [ebp - 0x1c], 8
jmp 0xfd38ef
sub eax, edi
cmp bp, 0x22e6
sub esi, edi
btr di, 0xa3
sub di, 0x7a5d
mov edi, edx
cmp dx, 0x5cb
shr edi, 5
stc
sub edx, edi
mov word [ebx + ecx], dx
inc ebx
lea ebx, [ebx - 0x40]
cmp ebx, 4
jb 0xf2908c
mov ecx, ebx
mov edx, ebx
mov edi, 1
shr ecx, 1
test ebp, eax
cmp esp, 0x5c093305
and ebx, edi
cmp bx, di
sub ecx, edi
or ebx, 2
mov dword [ebp - 0x44], ecx
cmc
test dl, 0x89
cmp edx, 0xe
jae 0xbd1bde
shl ebx, cl
mov cl, 0x5d
mov dword [ebp - 0x38], edi
mov ecx, ebx
clc
test ecx, 0x4f9a7fca
sub ecx, edx
mov edx, dword [ebp - 0x20]
stc
lea ecx, [edx + ecx*2 + 0x55e]
xor dh, 0x16
mov dword [ebp - 8], ecx
lea esp, [esp]
btr edx, 0x70
movzx edx, word [ecx + edi*2]
stc
cmp eax, 0x1000000
jae 0xbcf255
mov ecx, dword [ebp - 4]
stc
test al, 0xbc
movzx ecx, byte [ecx]
stc
shl esi, 8
shl eax, 8
clc
or esi, ecx
cmovne ecx, ebp
inc dword [ebp - 4]
stc
mov ecx, eax
shr ecx, 0xb
imul ecx, edx
cmp esi, ecx
jae 0xfd7548
mov eax, ecx
bsr cx, ax
add cx, sp
mov ecx, 0x800
sub ecx, edx
cmp ebp, ebx
test eax, edi
shr ecx, 5
test di, 0x75a5
cmp edi, 0x187a1679
cmc
lea ecx, [ecx + edx]
rcr dl, cl
movsx edx, bp
sub dh, 0x80
mov edx, ecx
movsx ecx, si
mov ecx, dword [ebp - 8]
stc
mov word [ecx + edi*2], dx
test bh, ch
add edi, edi
jmp 0xfd757d
sub eax, edi
cmp edx, edi
sub esi, edi
mov edi, edx
shr edi, 5
sub edx, edi
mov word [ebx + ecx], dx
movsx edx, sp
bswap dx
inc dx
inc ebx
add dx, di
xchg edx, edx
rcr dl, 0x5b
lea ebx, [ebx + ebx]
xor edx, 0x2600026d
movzx edx, word [ebx + ecx]
test sp, si
cmp eax, 0x1000000
jae 0xbcfff6
mov edi, dword [ebp - 4]
cmc
cmp dl, 0x5f
stc
movzx edi, byte [edi]
cmc
shl esi, 8
cmp edx, ebx
shl eax, 8
stc
or esi, edi
cmovg di, bx
inc dword [ebp - 4]
mov edi, eax
cmc
cmp edx, esp
shr edi, 0xb
test ah, 0xe8
cmp ecx, edi
clc
imul edi, edx
test ah, 0xfb
stc
cmp esi, edi
jae 0xbc4d84
mov eax, edi
mov edi, 0x800
cmc
clc
test edx, 0x407e4389
sub edi, edx
test al, dl
shr edi, 5
cmp si, 0x3d5f
add edi, edx
mov word [ebx + ecx], di
jmp 0xbc4d9f
movzx edi, word [edx + ecx*2]
stc
cmp eax, 0x1000000
jae 0xbd0d56
mov ebx, dword [ebp - 4]
stc
cmc
clc
movzx ebx, byte [ebx]
shl esi, 8
test esi, eax
cmc
shl eax, 8
test edx, ebx
or esi, ebx
xchg ebx, ebx
cmovne bx, bp
inc dword [ebp - 4]
sal bl, 0x81
btc bx, 0xf9
mov ebx, eax
test ax, 0x13b1
shr ebx, 0xb
test sp, 0x2743
cmp edx, 0x35165631
imul ebx, edi
test dx, 0x2d85
stc
cmp esi, ebx
jae 0xfd98fb
mov eax, ebx
setge bh
neg bh
mov ebx, 0x800
stc
clc
sub ebx, edi
test cx, si
stc
shr ebx, 5
test bp, sp
stc
cmp si, 0x6499
add ebx, edi
mov word [edx + ecx*2], bx
add ecx, ecx
jmp 0xfd991e
push ebp
shrd cx, dx, 0x67
mov ebp, esp
and cl, 0xf
lea esp, [esp - 0x50]
cdq
push ebx
push esi
rcr dx, cl
movzx esi, dx
cwde
push edi
add esi, edx
xor si, dx
btc edi, 0xbf
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x38]
cwde
cdq
sal al, 0x81
mov eax, dword [edi + 0x10]
sal dx, 0x4e
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x20], eax
shld ax, dx, 0xdd
mov eax, dword [edi + 0x40]
movzx esi, di
and bl, 0xec
mov ebx, dword [edi + 0x34]
dec esi
xadd esi, esi
mov dword [ebp - 0x18], ecx
add cx, si
shr ch, 0x64
mov ecx, dword [edi + 0x44]
cmc
mov esi, dword [edi + 0x20]
stc
test bx, 0x66bb
mov dword [ebp - 0x30], eax
sar eax, cl
rcr al, cl
ror al, 0x17
mov dword [ebp - 0x38], ecx
mov ecx, dword [edi + 8]
lahf
mov dword [ebp - 0x2c], edx
mov edx, 1
bsf ax, dx
sbb ax, di
cmp esi, 0x31146c4a
shl edx, cl
bts ax, si
rcr ch, 0xe
mov ecx, dword [edi + 4]
cmp edx, edi
mov eax, 1
shl eax, cl
cmovs cx, di
movsx cx, ch
inc cl
mov ecx, dword [edi + 0x14]
dec edx
mov dword [ebp - 0x34], ecx
xchg ch, ch
mov cx, 0x2edb
mov ecx, dword [edi + 0x24]
dec eax
cmp ebp, esi
cmp esp, 0x3f142f14
stc
mov dword [ebp - 0x48], eax
xadd ax, ax
sub al, ah
xor eax, 0x76ee2573
mov eax, dword [edi]
cmp bx, di
mov dword [ebp - 0x40], eax
sar eax, 0x4e
mov eax, dword [edi + 0x28]
cmp di, 0x18f3
stc
mov dword [ebp - 0x24], eax
btr eax, 0xbe
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x18]
clc
mov dword [ebp - 0xc], ecx
cmc
bswap ecx
mov ecx, dword [edi + 0x30]
cmc
stc
mov dword [ebp - 4], eax
mov eax, dword [edi + 0x1c]
cmp dx, 0x478b
mov dword [ebp - 0x14], ebx
stc
test edx, edi
mov dword [ebp - 0x50], edx
test bp, 0x5f05
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 0
mov ecx, dword [ebp - 0x10]
cmp esp, 0x60482217
and ecx, edx
adc dh, 0x43
mov edx, ebx
stc
cmp edi, esi
test ebp, 0x1cf000f2
shl edx, 4
add edx, ecx
mov dword [ebp - 0x1c], ecx
sbb ch, 0x9b
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx + edx*2]
cmc
mov dword [ebp - 8], ecx
movzx ecx, word [ecx]
stc
cmp eax, 0x1000000
jae 0xbd15d4
mov edx, dword [ebp - 4]
cmp bp, si
test ecx, edx
movzx edx, byte [edx]
cmc
cmp ebp, edi
shl esi, 8
cmc
test bl, 0x80
shl eax, 8
cmp si, si
or esi, edx
inc dword [ebp - 4]
cwd
test dx, bp
shr dl, cl
mov edx, eax
clc
shr edx, 0xb
imul edx, ecx
clc
cmp esi, edx
jae 0xbd1ce4
mov eax, edx
add edx, 0x7b7507e4
btr edx, ecx
xadd edx, edx
mov edx, 0x800
cmc
test bp, 0x5214
sub edx, ecx
cmc
shr edx, 5
test al, dl
cmp ebp, 0xc800813
add edx, ecx
inc cx
rcr cx, 0x7a
mov ecx, dword [ebp - 8]
mov word [ecx], dx
and dl, ch
mov edx, dword [ebp - 0x20]
clc
stc
lea edx, [edx + 0xe6c]
cmp sp, bp
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 8], edx
jne 0xbd1643
cmp dword [ebp - 0x10], 0
je 0xbd16bc
mov ecx, dword [ebp - 0xc]
test ecx, ecx
jne 0xbd165b
mov ecx, dword [ebp - 0x24]
bt edx, 0xc4
sub dx, dx
movzx edx, sp
mov edx, dword [ebp - 0x34]
rcl bx, cl
clc
movzx ebx, byte [ecx + edx - 1]
movsx edx, bx
bswap ecx
sal ch, 0xdf
mov edx, dword [ebp - 0x10]
shl cx, 0x36
shrd ecx, esp, 0x39
and edx, dword [ebp - 0x48]
mov ecx, 8
sub cl, byte [ebp - 0x40]
cmp bh, 0xda
test sp, 0xbe5
shr ebx, cl
mov ecx, dword [ebp - 0x40]
test si, 0x2af0
shl edx, cl
clc
cmp bp, dx
add ebx, edx
shld dx, si, 0x17
mov edx, dword [ebp - 8]
imul ebx, ebx, 0x600
stc
lea edx, [edx + ebx]
movzx ebx, si
mov ebx, dword [ebp - 0x14]
cmc
stc
mov dword [ebp - 8], edx
cmp ebx, 7
jae 0xfd2f3b
mov ecx, ebx
test di, 0x3a5f
cmp esp, esi
cmp ebx, 4
jb 0xbd16df
mov ecx, 3
test di, cx
sub ebx, ecx
mov dword [ebp - 0x14], ebx
setne cl
movsx cx, cl
not cl
mov ecx, 1
jmp 0xbd0d1f
sub eax, edi
stc
test di, bp
cmc
sub esi, edi
add di, 0x5d4c
btr di, sp
mov edi, edx
test bh, 0xdd
shr edi, 5
sub edx, edi
mov word [ecx + ebx*2 + 0x1b0], dx
bt edx, 0xfe
bts edx, ebx
movzx edx, word [ecx + ebx*2 + 0x1c8]
cmc
cmp eax, 0x1000000
jae 0xbd1b97
mov edi, dword [ebp - 4]
movzx edi, byte [edi]
stc
shl esi, 8
test bl, 0x4c
test dx, sp
shl eax, 8
or esi, edi
inc dword [ebp - 4]
dec edi
mov edi, ebx
mov edi, eax
stc
test esp, 0x78f03b5e
shr edi, 0xb
clc
cmc
stc
imul edi, edx
cmp ebp, 0x6503130a
test ecx, esi
cmp esi, edi
jae 0xbcf071
mov eax, edi
mov edi, 0x800
cmp edi, 0x72841431
sub edi, edx
shr edi, 5
clc
add edi, edx
mov edx, dword [ebp - 0x30]
mov word [ecx + ebx*2 + 0x1c8], di
jmp 0xbcf0bf
sub ecx, 4
test cl, dl
cmc
clc
lea ecx, [ecx]
clc
stc
cmp eax, 0x1000000
jae 0xbd1c18
mov edx, dword [ebp - 4]
movzx edi, byte [edx]
shl esi, 8
clc
cmc
shl eax, 8
clc
cmc
or esi, edi
inc edx
clc
cmp bp, 0x3417
mov dword [ebp - 4], edx
add edx, edx
sbb edx, ebx
sub dx, sp
shr eax, 1
sub esi, eax
xadd dh, dl
xor dl, 0x8b
mov edx, esi
cmc
shr edx, 0x1f
neg edx
cmc
lea ebx, [edx + ebx*2 + 1]
stc
and edx, eax
lea esi, [esi + edx]
cmc
cmp di, di
sub ecx, 1
jne 0xbd1bea
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx + 0x646]
shl ebx, 4
stc
cmp eax, 0x1000000
jae 0xbd1c8d
mov edi, dword [ebp - 4]
test bh, ah
cmc
cmp di, 0x1905
movzx edi, byte [edi]
cmp dx, 0x7354
shl esi, 8
test sp, 0x571e
clc
shl eax, 8
cmc
cmp ch, 0x5a
or esi, edi
mov di, cx
dec edi
inc dword [ebp - 4]
dec di
and di, sp
mov edi, eax
cmp ax, di
shr edi, 0xb
stc
imul edi, edx
cmc
cmp esi, edi
jae 0xe8a493
mov eax, edi
bt edi, 0x83
btr di, si
mov edi, 0x800
cmp esi, esp
sub edi, edx
cmp ch, ch
shr edi, 5
clc
test cx, si
cmp eax, 0x6dae151c
add edi, edx
mov word [ecx + 0x646], di
mov edx, 2
jmp 0xe8a4c6
sub eax, edx
cmp sp, 0x2a49
cmc
sub esi, edx
xadd dh, dl
mov dh, 0x10
mov edx, ecx
test ebp, ebp
clc
shr edx, 5
sub ecx, edx
cmc
inc dx
mov edx, dword [ebp - 8]
stc
cmp cl, cl
mov word [edx], cx
ror ecx, 0x29
xor dh, 0xa8
xor edx, edi
mov ecx, dword [ebp - 0x20]
shr edx, cl
movzx edx, word [ecx + ebx*2 + 0x180]
cmp eax, 0x1000000
jae 0xbd1d4c
mov edi, dword [ebp - 4]
cmc
movzx edi, byte [edi]
test edi, ebx
cmc
shl esi, 8
cmp al, dl
test bx, bp
shl eax, 8
or esi, edi
inc dword [ebp - 4]
xor di, bx
bt di, di
mov edi, eax
test sp, 0x2fa5
shr edi, 0xb
cmp ecx, esp
imul edi, edx
stc
cmp ebx, edx
cmc
cmp esi, edi
jae 0xf2a190
mov eax, edi
bt di, cx
stc
xor edi, 0xb915724
mov edi, 0x800
test di, 0x70ed
stc
sub edi, edx
shr edi, 5
test si, 0x7c7
lea edi, [edi + edx]
mov word [ecx + ebx*2 + 0x180], di
add ebx, 0xc
cmc
add ecx, 0x664
jmp 0xbcf109
cmp ebx, ecx
jae 0xbc9c98
cmp dword [ebp - 0x14], 0x13
mov di, dx
movzx edx, sp
mov edx, dword [ebp - 0x28]
sbb ecx, ecx
btc edi, ecx
and ecx, 0xfffffffd
mov edi, 0x41b288c
lea ecx, [ecx + 0xa]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0xc]
add edx, 2
cmp ecx, edi
je 0xbc9c98
sub ecx, edi
mov dword [ebp - 0xc], ecx
cmp ecx, edx
jb 0xbd217f
mov dword [ebp - 0xc], edx
cmp edi, dword [ebp - 0x18]
movzx ebx, si
not bx
movzx bx, dh
mov ebx, dword [ebp - 0xc]
sbb ecx, ecx
clc
and ecx, dword [ebp - 0x24]
test dh, 0x93
add dword [ebp - 0x10], ebx
cmp al, 0x10
sub ecx, dword [ebp - 0x18]
test esi, 0x249a7283
clc
sub edx, ebx
test esi, 0x305a528a
lea ecx, [ecx + edi]
mov dword [ebp - 0x28], edx
sal dl, 0x57
lea edx, [ecx + ebx]
cmp ebp, 0x27ed517a
test ecx, edi
cmp edx, dword [ebp - 0x24]
cdq
mov edx, dword [ebp - 0x34]
ja 0xf25587
lea edx, [edx + edi]
test di, sp
add ebx, edx
cmp ebp, 0x51c44c57
test esp, 0x152059d4
sub ecx, edi
stc
test dx, di
add edi, dword [ebp - 0xc]
mov dword [ebp - 0x4c], ebx
mov bl, 0xe1
mov dword [ebp - 0xc], edi
mov bl, byte [ecx + edx]
mov byte [edx], bl
inc edx
cmp ah, 0x51
cmp edx, dword [ebp - 0x4c]
jne 0xbd21f5
jmp 0xf255b1
sub eax, edi
clc
sub esi, edi
ror edi, 0x5d
bt di, ax
mov edi, edx
stc
shr edi, 5
sub edx, edi
mov word [ecx + 0x646], dx
stc
seto dl
bt dx, 0xa8
mov edx, 3
cmc
test cx, 0x3bf
or ebx, 1
cmc
lea edx, [edx + edx]
cmc
mov dword [ebp - 0x1c], edx
movzx edx, word [edx + ecx + 0x644]
cmp dx, dx
test si, 0x62d8
cmp eax, 0x1000000
jae 0xe8a501
mov edi, dword [ebp - 4]
movzx edi, byte [edi]
cmc
shl esi, 8
cmp ch, 0xb8
cmp ebp, ebx
shl eax, 8
or esi, edi
not edi
inc dword [ebp - 4]
mov edi, eax
cmp bp, 0x7464
test edi, eax
shr edi, 0xb
stc
cmc
clc
imul edi, edx
test edi, edi
test dx, 0x74f8
cmp esi, edi
jae 0xfd8345
mov eax, edi
dec di
and edi, 0x7b774459
mov edi, 0x800
sub edi, edx
test esi, ebp
shr edi, 5
add edi, edx
mov edx, dword [ebp - 0x1c]
mov word [edx + ecx + 0x644], di
jmp 0xfd837a
add dword [ebp - 0x28], 0x112
bsr dx, dx
movzx edx, bx
stc
sub dword [ebp - 0x14], 0xc
cwd
movzx edx, bp
mov edx, dword [ebp - 4]
cmp ebp, edi
clc
cmc
cmp eax, 0x1000000
jae 0xe8ea9e
movzx ecx, byte [edx]
shl esi, 8
add di, 0x40f3
shl eax, 8
xor bx, si
cmc
or esi, ecx
inc edx
rcl bl, cl
mov ecx, dword [ebp + 8]
rol ebx, 0x68
mov dword [ecx + 0x1c], eax
sub eax, 0x3b495794
cmp ebx, 0x272a44e6
test bp, 0x1327
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x18], edx
mov edx, dword [ebp - 0x28]
shrd bx, cx, 0xb3
mov bx, bp
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
bsr edi, esi
clc
mov dword [ecx + 0x48], edx
mov edx, dword [ebp - 0x10]
rcl edi, 0x2b
shld bx, dx, 0x8e
bts ebx, esp
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x2c], edx
test ebp, ebx
neg di
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], eax
clc
xchg ebx, edi
mov eax, dword [ebp - 0x14]
and ebx, 0x6b53121f
xadd edi, edi
pop edi
sub ebx, edi
bsf ebx, ebp
mov dword [ecx + 0x20], esi
sar bx, 0xf4
mov dword [ecx + 0x3c], edx
mov edx, dword [ebp - 0x38]
xadd bx, si
cmp esp, esp
pop esi
xadd bl, bh
bts ebx, ecx
shr bx, 0x1e
mov dword [ecx + 0x34], eax
xor bx, bp
and bh, 0xfa
mov dword [ecx + 0x44], edx
xor eax, eax
pop ebx
mov esp, ebp
not ebp
pop ebp
ret 0xc
mov bl, byte [ecx + edx]
mov byte [edi + edx], bl
inc ecx
inc edi
clc
test si, 0xe27
cmp ecx, dword [ebp - 0x24]
jne 0xf255a0
sub ecx, ecx
sub dword [ebp - 0xc], 1
jne 0xf25587
mov dword [ebp - 0xc], edi
sar cl, cl
add cl, cl
mov ecx, dword [ebp - 0xc]
clc
cmp ecx, dword [ebp + 0xc]
jae 0xe8ea75
mov edx, dword [ebp - 4]
cmp ecx, 0x7e9a3334
cmc
test ebx, eax
cmp edx, dword [ebp + 0x10]
jae 0xe8ea75
mov edx, dword [ebp - 0x50]
mov di, 0xf8d
movzx edi, bp
bswap ebx
mov ebx, dword [ebp - 0x14]
not edi
mov edi, 0x28003d2f
bswap di
mov edi, dword [ebp + 8]
jmp 0xbd1570
mov edi, dword [ebp - 0x4c]
rcr bh, 0xb6
sub ebx, 0x5082305c
mov edx, dword [ebp - 0x1c]
bswap bx
mov ebx, dword [ebp - 8]
cmc
clc
test ah, ch
lea edi, [edi + edi]
cmc
and edx, edi
stc
test ah, 0x88
mov dword [ebp - 0x4c], edi
shld edi, eax, 0x79
mov di, 0x3ec4
btc di, bp
mov edi, dword [ebp - 0x1c]
test sp, 0x471b
cmc
cmp sp, 0x698f
lea edi, [edi + edx]
add edi, ecx
stc
lea edi, [ebx + edi*2]
mov dword [ebp - 0x44], edi
cmp al, 0x23
movzx edi, word [edi]
clc
cmp eax, 0x1000000
jae 0xf282b3
mov ebx, dword [ebp - 4]
movzx ebx, byte [ebx]
test ax, di
cmp dx, si
shl esi, 8
clc
shl eax, 8
cmp edx, 0x4fdb0483
cmc
or esi, ebx
movsx ebx, sp
inc dword [ebp - 4]
bswap ebx
or bx, sp
btr bx, 0xf3
mov ebx, eax
cmp ax, 0x5393
shr ebx, 0xb
imul ebx, edi
test sp, sp
cmc
cmp esi, ebx
jae 0xfd5bf9
mov eax, ebx
mov ebx, 0x800
test ax, dx
cmp cl, ah
stc
sub ebx, edi
cmp cx, bx
shr ebx, 5
cmc
add ebx, edi
rcr edi, 0x22
mov edi, dword [ebp - 0x44]
cmp di, ax
cmp ebx, 0x36b543f7
cmc
mov word [edi], bx
clc
test bp, di
add ecx, ecx
not edx
jmp 0xfd5c2d
sub eax, edi
sub ebx, ebx
test si, 0x2225
sub esi, edi
adc bh, ah
add bh, 0x69
mov edi, edx
neg bl
bswap ebx
xor ebx, 0x2cb52f74
shr edi, 5
ror bl, 0xc6
sub edx, edi
sub ebx, eax
neg ebx
sal bx, cl
mov word [ecx + 2], dx
or edx, edi
mov edx, 3
lea ebx, [edx + edx]
btc dx, 0xa4
add edx, esp
rol dx, cl
movzx edx, word [ebx + ecx]
cmp eax, 0x1000000
jae 0xf28b7c
mov edi, dword [ebp - 4]
movzx edi, byte [edi]
stc
clc
shl esi, 8
clc
cmp bp, 0xd39
test ebp, 0x71ae7619
shl eax, 8
stc
or esi, edi
not di
inc dword [ebp - 4]
shr edi, 8
btc di, bp
mov edi, eax
cmc
shr edi, 0xb
cmc
clc
test esp, ecx
imul edi, edx
stc
test esp, 0x3a290aa8
cmp bx, 0x435d
cmp esi, edi
jae 0xbcff9a
mov eax, edi
mov edi, 0x800
stc
cmp esi, 0x35144696
cmp bp, bx
sub edi, edx
cmp si, 0x65ec
shr edi, 5
stc
add edi, edx
mov word [ebx + ecx], di
jmp 0xbcffbd
sub eax, edi
cmc
cmp bp, sp
sub esi, edi
neg di
mov edi, ebx
mov edi, edx
clc
test ebp, ebp
shr edi, 5
cmc
sub edx, edi
mov edi, dword [ebp - 0x1c]
clc
stc
test ecx, esp
mov word [ecx + edi*2 + 0x644], dx
or ebx, 8
cmp bp, 0x5f1c
cmp ebx, 0xffffffff
je 0xe8ea5d
mov ecx, dword [ebp - 0x30]
test esp, ebp
mov edx, dword [ebp - 0x2c]
clc
test sp, 0x70d
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x18]
clc
mov dword [ebp - 0x2c], ecx
cmp esi, 0x79400d63
add ch, 0x28
sub cx, 0x1781
mov ecx, dword [ebp - 0x3c]
cmp esp, 0x532726cd
clc
mov dword [ebp - 0x30], edx
bts dx, sp
lea edx, [ebx + 1]
test bp, 0x410b
mov dword [ebp - 0x18], edx
test sp, 0xe78
test ecx, ecx
jne 0xbd2136
cmp ebx, dword [ebp - 0x10]
jmp 0xbd2138
sub eax, edi
cmp bx, bp
test bp, 0x65b3
stc
sub esi, edi
sub edi, esi
mov edi, edx
test bx, 0x62e5
shr edi, 5
clc
cmc
sub edx, edi
mov word [ebx + ecx], dx
movzx edx, dx
inc ebx
bsr dx, di
rol dx, cl
bts edx, eax
add ebx, ebx
movzx edx, word [ebx + ecx]
cmp bp, bx
cmp eax, 0x1000000
jae 0xf29bb6
mov edi, dword [ebp - 4]
cmc
movzx edi, byte [edi]
stc
test cx, 0x6a46
shl esi, 8
cmp di, 0x5123
shl eax, 8
or esi, edi
cmovnp di, si
inc edi
inc dword [ebp - 4]
btc edi, 0x41
mov edi, eax
cmc
shr edi, 0xb
test bp, dx
imul edi, edx
cmc
cmp esi, edi
jae 0xbc161f
mov eax, edi
mov edi, 0x800
sub edi, edx
shr edi, 5
add edi, edx
mov word [ebx + ecx], di
jmp 0xbc164f
sub eax, edi
sub esi, edi
shrd di, ax, 0x48
and edi, 0x1c043e60
mov di, 0x297a
mov edi, edx
shr edi, 5
clc
sub edx, edi
stc
cmp dword [ebp - 0x3c], 0
mov word [ecx + ebx*2 + 0x180], dx
jne 0xf2a1c8
cmp dword [ebp - 0x10], 0
je 0xbc9c98
movzx edx, word [ecx + ebx*2 + 0x198]
stc
cmp eax, 0x1000000
jae 0xf2a1f4
mov edi, dword [ebp - 4]
clc
cmp edi, 0x2dbd088e
movzx edi, byte [edi]
shl esi, 8
shl eax, 8
or esi, edi
inc dword [ebp - 4]
mov edi, eax
shr edi, 0xb
clc
imul edi, edx
mov dword [ebp - 0x4c], edi
cmp esi, edi
jae 0xbc40f2
mov eax, edi
or edi, edx
cmovge edi, esp
mov edi, 0x800
test cx, 0x14fe
stc
cmp bp, 0xe14
sub edi, edx
cmp si, di
shr edi, 5
cmp di, sp
stc
test cl, 0x24
add edi, edx
shl dh, 0x5f
lea edx, [ebx + 0xf]
cmp cl, 0xd8
test dh, 0x5e
shl edx, 4
cmc
stc
add edx, dword [ebp - 0x1c]
stc
mov word [ecx + ebx*2 + 0x198], di
sbb edi, 0x6d5943da
adc edi, 0x6717f17
lea edx, [ecx + edx*2]
mov edi, eax
cmp esi, ebp
mov dword [ebp - 8], edx
cmp si, si
movzx edx, word [edx]
cmp ch, 0x34
cmp edi, 0x1000000
jae 0xf2a29e
shl edi, 8
mov eax, edi
adc di, 0x33c6
mov edi, dword [ebp - 4]
stc
cmp eax, ebp
movzx edi, byte [edi]
clc
shl esi, 8
test sp, ax
test ax, 0x2cb1
or esi, edi
dec di
inc dword [ebp - 4]
mov edi, eax
test edi, 0x1f9c03f4
shr edi, 0xb
cmp cx, sp
imul edi, edx
test edx, ecx
cmp bl, bl
cmp esi, edi
jae 0xfd41b4
mov ecx, 0x800
sub eax, 0x72fa7740
sar ax, cl
add al, 0x17
sub ecx, edx
shr ax, cl
shr ah, 0x64
mov ax, 0x6ccd
shr ecx, 5
bsf eax, ebx
test dx, 0x43dd
sbb eax, 0x3ceb07ed
lea ecx, [ecx + edx]
adc edx, 0x451631e9
shr al, cl
mov edx, dword [ebp - 8]
sbb eax, esi
bts ax, cx
cmp si, 0x7490
mov word [edx], cx
stc
sub al, ch
mov ecx, dword [ebp - 0x18]
bts eax, edi
mov eax, edi
cmovbe di, di
bts edi, ebp
mov edi, dword [ebp - 0xc]
stc
cmp edi, ecx
sbb edx, edx
stc
and edx, dword [ebp - 0x24]
inc dword [ebp - 0x10]
stc
clc
sub edx, ecx
shl ecx, cl
movsx ecx, ax
btr ecx, edx
mov ecx, dword [ebp - 0x34]
stc
clc
add edx, edi
mov dl, byte [edx + ecx]
mov byte [edi + ecx], dl
inc edi
cmc
cmp ebx, 7
sbb ecx, ecx
cmp esi, edx
stc
test esi, 0x3e3803ab
and ecx, 0xfffffffe
test bp, sp
add ecx, 0xb
mov dword [ebp - 0x14], ecx
jmp 0xf255aa
sub eax, edi
sub esi, edi
cmc
mov edi, ecx
shr edi, 5
cmp bl, dl
sub ecx, edi
and di, 0x5c51
mov edi, dword [ebp - 0x28]
mov word [edi + edx*2], cx
rcl cx, cl
and cx, di
sbb cl, cl
lea edx, [edx + edx + 1]
setl ch
bt ecx, esi
mov ecx, dword [ebp - 0x1c]
test bp, 0x1b9a
cmp ecx, ebp
cmp edx, ecx
jb 0xfd3900
mov edi, dword [ebp - 8]
sub edi, ecx
cmp ecx, 0xa5553b6
test esi, 0x11fa215b
lea edx, [edx + edi]
cmp bh, 0x4d
cmp cx, bp
cmc
mov dword [ebp - 0x28], edx
test esi, ebx
cmp esi, 0x6f596349
stc
cmp ebx, 0xc
jb 0xbd215e
mov ecx, edx
test edi, 0x18087bbe
cmp edx, 4
jb 0xf2aa62
mov ecx, 3
cmp edx, ebx
and dh, bh
mov edx, dword [ebp - 0x20]
test sp, 0x3e89
stc
shl ecx, 7
cmc
lea ecx, [ecx + edx + 0x360]
movzx edx, word [ecx + 2]
cmp eax, 0x1000000
jae 0xf2aaaa
mov edi, dword [ebp - 4]
btc bx, 0x63
sal bh, 0x86
movzx ebx, byte [edi]
clc
shl esi, 8
test dh, 0x5c
clc
shl eax, 8
test ah, 0xd5
or esi, ebx
inc edi
cmp ebp, eax
stc
mov dword [ebp - 4], edi
mov edi, eax
clc
stc
shr edi, 0xb
test si, sp
cmp bh, 0x1b
imul edi, edx
cmc
cmp esi, edi
jae 0xf28b00
mov eax, edi
bt di, di
mov edi, 0x800
cmc
sub edi, edx
cmc
shr edi, 5
add edi, edx
cdq
mov word [ecx + 2], di
cmovae dx, cx
movsx edx, si
setns dl
mov edx, 2
jmp 0xf28b36
sub eax, edi
cmp bx, 0x17e
sub esi, edi
test di, 0x482a
xor edi, ebp
mov edi, edx
shr edi, 5
cmp si, 0x283a
sub edx, edi
cmp esi, esi
stc
test cx, dx
mov word [ecx], dx
shld edx, edi, 0xb9
or dx, di
movzx edx, word [ecx + 2]
cmp bp, 0x277d
cmp eax, 0x1000000
jae 0xfd2729
mov edi, dword [ebp - 4]
movzx edi, byte [edi]
test cl, 0x84
clc
shl esi, 8
shl eax, 8
or esi, edi
inc dword [ebp - 4]
rcl edi, 0xc6
mov edi, eax
test bp, 0x78be
clc
shr edi, 0xb
cmp ax, bp
imul edi, edx
test di, sp
clc
cmp esi, edi
jae 0xfd38b2
mov eax, edi
mov edi, 0x800
test esp, ebx
stc
sub edi, edx
shr edi, 5
clc
test edx, edx
lea edi, [edi + edx]
mov edx, dword [ebp - 0x1c]
clc
cmp esi, esi
mov word [ecx + 2], di
cmc
shl edx, 4
bswap di
lea edi, [edx + ecx + 0x104]
mov ecx, 8
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c], ecx
jmp 0xfd38ef
mov ecx, dword [ebp - 0xc]
clc
cmp ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0x100
sbb edx, edx
clc
cmp bh, 0x2d
and edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x18]
stc
add edx, dword [edi + 0x14]
cmp ebx, 0xa
inc edi
movzx edi, di
movzx edi, byte [edx + ecx]
cmovns cx, dx
xchg ecx, ecx
movsx ecx, cx
sbb edx, edx
and edx, 0xfffffffd
mov ecx, esp
test di, ax
shld cx, dx, 0xcd
add edx, 6
bts cx, si
sar ch, cl
sub ebx, edx
not ch
mov cl, 0x7f
mov dword [ebp - 0x14], ebx
sete ch
mov cl, al
mov ecx, 1
jmp 0xf28236
sub eax, edi
clc
stc
sub esi, edi
btc di, 0xc7
mov edi, edx
shr edi, 5
stc
sub edx, edi
shl di, 0x5b
mov word [ecx + 2], dx
ror edi, 0x7d
ror dl, cl
lea edi, [ecx + 0x204]
mov dword [ebp - 8], 0x10
rol edx, cl
cmp dh, 0xcf
mov dword [ebp - 0x1c], 0x100
mov ch, dh
shl dl, cl
mov dword [ebp - 0x28], edi
bsf ecx, ecx
mov edx, 1
or cl, dl
nop
sal ch, 0x94
movzx ecx, word [edi + edx*2]
cmp bx, cx
stc
cmp eax, 0x1000000
jae 0xfd3939
mov edi, dword [ebp - 4]
cmp ebp, ebp
movzx edi, byte [edi]
shl esi, 8
cmp sp, 0x6445
shl eax, 8
test di, 0x2218
or esi, edi
mov di, 0x1686
inc dword [ebp - 4]
test ebx, ebp
rol edi, 0x3e
mov edi, eax
shr edi, 0xb
clc
imul edi, ecx
stc
cmp bl, al
clc
cmp esi, edi
jae 0xf2a9da
mov eax, edi
or di, 0x2e44
dec di
cmc
mov edi, 0x800
test dh, bh
sub edi, ecx
shr edi, 5
cmp edi, edi
test edi, 0x744944e1
stc
add edi, ecx
mov ecx, edi
shrd edi, eax, 0xc3
mov edi, dword [ebp - 0x28]
test dh, 0x1a
stc
mov word [edi + edx*2], cx
add edx, edx
jmp 0xf2aa06
sub eax, edi
sub esi, edi
xor edi, 0x62213ca3
not edi
add di, cx
mov edi, edx
test bh, 0xa5
shr edi, 5
cmp al, ah
sub edx, edi
mov edi, dword [ebp - 8]
mov word [edi], dx
jmp 0xbcf0d9
sub eax, ebx
cmp ebp, 0x6e297eab
sub esi, ebx
cmp bl, 0xf4
mov ebx, edi
cmp bl, 0x64
clc
shr ebx, 5
clc
test edi, 0x489d201c
sub edi, ebx
mov ebx, dword [ebp - 0x44]
cmp edi, 0x335a24d9
mov word [ebx], di
cmp cl, 0xbf
lea ecx, [ecx + ecx + 1]
test ebp, eax
and dword [ebp - 0x1c], edx
cmp ax, 0x5260
cmp ecx, 0x100
jb 0xf2822a
mov edx, dword [ebp - 0xc]
mov di, 0x6e
mov edi, dword [ebp - 0x34]
mov byte [edx + edi], cl
inc edx
inc dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
jmp 0xf255b1
sub eax, ecx
sub esi, ecx
cmp esi, ebp
mov ecx, edx
cmp esi, 0x168c28dd
test ecx, edi
shr ecx, 5
sub edx, ecx
add cl, 0x9d
bsf ecx, esi
movzx ecx, bx
mov ecx, dword [ebp - 8]
cmc
or ebx, dword [ebp - 0x38]
mov word [ecx + edi*2], dx
test bx, di
cmc
lea edi, [edi + edi + 1]
cmp di, cx
cmc
shl dword [ebp - 0x38], 1
sub dword [ebp - 0x44], 1
jne 0xbcf22b
jmp 0xf2908c
sub eax, edi
cmc
sub esi, edi
rcr edi, 0xab
mov edi, edx
stc
shr edi, 5
clc
cmp di, bp
sub edx, edi
xor di, dx
mov edi, dword [ebp - 0x1c]
clc
mov word [edi + ecx + 0x644], dx
shr dl, cl
add edx, edi
lea edx, [edi + 1]
test eax, ebx
test ebp, 0x3ea20aa7
or ebx, 2
lea edx, [edx + edx]
test edx, ebp
test ebx, 0x6b6726a1
cmp ebp, 0x11716f17
mov dword [ebp - 0x1c], edx
cmp ebx, 0x2a8513e8
movzx edx, word [edx + ecx + 0x644]
stc
cmp eax, 0x1000000
jae 0xfd83d6
mov edi, dword [ebp - 4]
cmp ebp, 0x7bed0b90
test ah, 0x55
movzx edi, byte [edi]
shl esi, 8
cmp bl, ah
clc
shl eax, 8
or esi, edi
bswap edi
movzx edi, dx
inc dword [ebp - 4]
shr edi, 0xd9
cmp cx, 0x76e0
btr di, sp
mov edi, eax
stc
shr edi, 0xb
stc
cmc
cmp edx, edi
imul edi, edx
clc
cmc
cmp esi, edi
jae 0xbc2daa
mov eax, edi
mov edi, 0x800
cmp eax, 0x57580b58
sub edi, edx
cmp di, dx
shr edi, 5
clc
add edi, edx
mov edx, dword [ebp - 0x1c]
mov word [edx + ecx + 0x644], di
jmp 0xbc2df0
sub eax, ebx
cmp cx, sp
sub esi, ebx
bswap bx
mov ebx, edi
stc
shr ebx, 5
stc
sub edi, ebx
clc
stc
test sp, 0x4dd7
mov word [edx + ecx*2], di
lea ecx, [ecx + ecx + 1]
cmc
cmp ecx, 0x100
jb 0xbd0d1f
jmp 0xfd5c40