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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x188
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], ecx
mov esi, dword [ebx + 4]
xor edx, edx
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 1
mov ecx, dword [edx + esi]
movzx eax, word [ecx + 8]
cmp ax, 0x4e
je 0x409e89
cmp ax, 0x4f
je 0x409e80
cmp ax, 0x47
je 0x409e89
cmp ax, 0x48
je 0x409e80
movzx ecx, word [ecx + 8]
cmp cx, 0x41
je 0x409d1b
cmp cx, 0x52
je 0x409d1b
cmp cx, 0x53
je 0x409d1b
cmp cx, 0x54
je 0x409d1b
cmp cx, 0x55
je 0x409d1b
cmp cx, 0x56
je 0x409d1b
cmp ax, 0x7f
je 0x4423ad
add edx, 4
jmp 0x409cb5
test edi, edi
jne 0x409d0c
mov eax, dword [esi]
mov ecx, 1
mov dword [ebp - 0xc], ecx
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x78], 0
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], eax
cmp dword [0x4c7280], eax
je 0x40a064
cmp byte [0x4c7289], al
jne 0x4423e9
mov esi, dword [0x4c7284]
cmp dword [esi], 0
je 0x40a064
mov eax, dword [0x4c7440]
mov byte [ebp - 5], 0
test al, 1
je 0x4423f6
mov dword [0x4c7460], 0
mov dword [0x4c745c], 0
mov dword [ebp - 0x48], 0x4c7444
mov dword [ebp - 0x68], 0x4c7444
jmp 0x409da0
mov ebx, dword [esi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebx + 4]
test edx, edx
je 0x44241a
test ecx, ecx
je 0x442422
cmp edx, ecx
jb 0x40a5b0
mov ecx, dword [ebx]
mov edi, edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
test edi, edi
je 0x409de4
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x409de8
add edx, 2
add ecx, 2
dec edi
jne 0x409dd3
xor eax, eax
jmp 0x409df4
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x409e8f
jle 0x409ee6
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x40a47e
mov ebx, dword [ecx + 4]
cmp ebx, edx
ja 0x40a4ed
mov edx, dword [edi]
mov edi, dword [ecx]
mov dword [ebp - 0x70], ebx
test ebx, ebx
je 0x409e43
lea esp, [esp]
mov ax, word [edi]
cmp ax, word [edx]
jne 0x409e4a
add edi, 2
add edx, 2
dec dword [ebp - 0x70]
jne 0x409e30
cmp ebx, dword [ebp - 0x20]
jb 0x409e4c
jmp 0x409e66
jae 0x409e66
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x18]
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov dword [ecx + 0x18], eax
mov dword [esi], ecx
cmp dword [ecx + 0x1c], 0
je 0x40a47e
mov ecx, dword [ebp - 0x68]
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov edi, dword [esi]
mov dword [ebp - 0x68], edi
mov eax, dword [edi + 0x1c]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
jmp 0x409da0
dec edi
add edx, 4
jmp 0x409cb5
inc edi
jmp 0x409d16
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x40a47e
mov eax, dword [ecx + 4]
cmp edx, eax
ja 0x40a4f4
cmp dword [ebp - 0x20], 0
mov ebx, edx
mov edx, dword [ecx]
mov edi, dword [edi]
jbe 0x409ed8
jmp 0x409ec0
mov ax, word [edi]
cmp ax, word [edx]
jne 0x40a157
add edi, 2
add edx, 2
dec ebx
jne 0x409ec0
mov eax, dword [ecx + 4]
cmp dword [ebp - 0x20], eax
jb 0x40a159
jmp 0x40a173
mov dl, 1
mov eax, dword [esi]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c7460]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c745c]
mov dword [ecx + 0x1c], eax
test dl, dl
je 0x40a061
mov esi, dword [esi]
test esi, esi
je 0x40a061
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
and eax, 0xff00
mov dword [ebp - 0x54], eax
test esi, esi
je 0x40a061
mov dword [ebp - 0x48], esi
test esi, esi
je 0x40a737
test eax, 0x100
jne 0x442471
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
je 0x40a1c0
mov eax, dword [edi + 4]
mov eax, dword [eax + edx*4]
movzx edi, word [eax + 8]
cmp di, 0x35
je 0x4426cd
mov eax, dword [esi + 0xc]
cmp eax, 8
je 0x4426e4
cmp eax, 0xc
je 0x4426e4
cmp eax, 0xf
je 0x4426e4
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4]
movzx ecx, word [eax + 8]
movsx edi, word [eax + 8]
cmp cx, 0x41
jne 0x40a5fd
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x64]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0xc]
inc edx
push eax
push ebx
mov dword [ebp - 0xc], edx
call fcn.004053b0
test eax, eax
js case.default.0x40a618
cmp byte [ebp - 0x15], 0
jne 0x40a337
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ecx + eax*4]
cmp word [eax + 8], 0x7f
jne 0x442a1a
test esi, esi
je 0x40a73f
cmp edi, 0x41
jne 0x40a60c
lea eax, [ebp - 0x64]
cmp esi, eax
je case.default.0x40a618
cmp dword [esi + 0xc], 4
je 0x40a62f
mov edi, dword [esi + 8]
test edi, edi
jne 0x40a664
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x40a705
lea eax, [ebp - 0x64]
mov dword [esi + 0xc], 1
push eax
mov ecx, esi
mov dword [esi], 0
call fcn.00404e60
mov esi, dword [ebp - 0x5c]
test esi, esi
jne 0x40a5d7
mov eax, dword [ebp - 0x58]
cmp eax, 5
jge 0x40a6d8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x14]
mov ebx, dword [0x4c7270]
mov dword [ebp - 0x20], ebx
test ebx, ebx
je 0x40a72d
mov eax, dword [0x4c7440]
mov byte [ebp - 5], 0
test al, 1
je 0x44242f
mov dword [0x4c7460], 0
mov dword [0x4c745c], 0
mov dword [ebp - 0x68], 0x4c7444
mov dword [ebp - 0x48], 0x4c7444
mov edi, dword [edi + 4]
mov ecx, dword [ebx + 4]
test edi, edi
je 0x44245c
test ecx, ecx
je 0x442464
mov eax, dword [ebp - 0x14]
cmp edi, ecx
jb 0x40a18d
mov ecx, dword [ebx]
mov esi, edi
mov edx, dword [eax]
test esi, esi
je 0x40a0e8
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40a1ac
add edx, 2
add ecx, 2
dec esi
jne 0x40a0d3
xor eax, eax
test eax, eax
js 0x40a486
jg 0x40a523
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4c7270]
mov ecx, dword [ebp - 0x68]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c7270]
mov eax, dword [0x4c7460]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c7270]
mov eax, dword [0x4c745c]
mov dword [ecx + 0x1c], eax
je 0x40a72d
mov esi, dword [0x4c7270]
test esi, esi
je 0x40a72d
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
and eax, 0xff00
jmp 0x409f3a
jae 0x40a173
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x1c]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov dword [esi], ecx
cmp dword [ecx + 0x18], 0
je 0x40a47e
mov ecx, dword [ebp - 0x48]
mov eax, dword [esi]
mov edi, dword [ebp - 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 0x18]
mov dword [esi], eax
jmp 0x409da0
mov edx, dword [ebx]
mov esi, dword [eax]
test ecx, ecx
je 0x40a0e8
lea esp, [esp]
mov ax, word [esi]
cmp ax, word [edx]
je 0x40a652
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x40a0ea
mov eax, dword [esi + 0xc]
cmp eax, 5
jne 0x44269a
mov eax, edx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x50], eax
mov eax, dword [ecx + edx*4 - 4]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x48], ebx
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
jne 0x40a292
mov eax, dword [ecx + edx*4 + 4]
inc edx
mov ecx, dword [ebp - 0x10]
push 0xffffffffffffffff
mov dword [ebp - 0xc], edx
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.004053b0
test eax, eax
js 0x40a790
mov edi, dword [ebp - 0x28]
cmp edi, 1
jne 0x442490
mov ebx, dword [ebp - 0x34]
mov eax, ebx
test eax, eax
js 0x40a77c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x4f
jne 0x442713
inc edx
mov dword [ebp - 0xc], edx
cmp edi, 1
jne 0x44252e
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x184], ebx
mov ebx, eax
mov ecx, dword [edi + 4]
inc ebx
mov dword [ebp - 0x48], ebx
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
je 0x40a207
cmp dword [esi + 0xc], 5
jne 0x40a775
mov edx, dword [esi]
mov eax, dword [edx]
xor ecx, ecx
mov dword [eax + 0x210], 0
test ebx, ebx
jle 0x40a2d8
mov esi, dword [edx]
mov edi, dword [esi + 0x210]
cmp edi, 0x40
jge 0x40a2d3
mov eax, dword [ebp + ecx*4 - 0x184]
mov dword [esi + edi*4 + 0x110], eax
mov eax, dword [edx]
inc dword [eax + 0x210]
inc ecx
cmp ecx, ebx
jl 0x40a2b0
push 0
push 1
push edx
call fcn.00404230
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x48], esi
test esi, esi
je 0x40a786
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x4425d9
mov eax, dword [ebp - 0x28]
cmp eax, 5
jge 0x4425eb
mov edi, dword [ebp + 8]
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x15], 1
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
jne 0x409f67
jmp 0x40a1c0
mov ecx, dword [ebx + 4]
xor esi, esi
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 1
mov eax, dword [ecx + edx*4 - 4]
mov dword [ebp - 0x20], esi
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
jne 0x40a3f9
mov eax, dword [ecx + edx*4 + 4]
inc edx
mov ecx, dword [ebp - 0x10]
push 0xffffffffffffffff
mov dword [ebp - 0x54], edx
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call fcn.004053b0
test eax, eax
js 0x40a79f
mov esi, dword [ebp - 0x38]
cmp esi, 1
jne 0x4427e0
mov ebx, dword [ebp - 0x44]
mov eax, ebx
test eax, eax
js 0x44272e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x54]
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4]
cmp word [eax + 8], 0x4f
jne 0x442929
inc edx
mov dword [ebp - 0x50], edx
cmp esi, 1
jne 0x442884
mov esi, dword [ebp - 0x20]
mov dword [ebp + esi*4 - 0x184], ebx
inc esi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x20], esi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x4e
je 0x40a370
mov eax, dword [ebp - 0x78]
cmp dword [eax + 0xc], 5
jne 0x40a798
mov edx, dword [eax]
mov eax, dword [edx]
xor ecx, ecx
mov dword [eax + 0x210], 0
test esi, esi
jle 0x40a44b
mov eax, dword [ebp - 0x20]
lea ecx, [ecx]
mov esi, dword [edx]
mov ebx, dword [esi + 0x210]
cmp ebx, 0x40
jge 0x40a446
mov eax, dword [ebp + ecx*4 - 0x184]
mov dword [esi + ebx*4 + 0x110], eax
mov eax, dword [edx]
inc dword [eax + 0x210]
mov eax, dword [ebp - 0x20]
inc ecx
cmp ecx, eax
jl 0x40a420
push 0
push 2
push edx
call fcn.00404230
mov esi, eax
add esp, 0xc
test esi, esi
je 0x442947
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jne 0x442959
mov eax, dword [ebp - 0x38]
cmp eax, 5
jl 0x409fd9
jmp 0x44296b
mov dl, byte [ebp - 5]
jmp 0x409ee8
mov esi, dword [ebx + 0x18]
lea eax, [ebx + 0x18]
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x40a0fc
mov eax, dword [esi + 4]
cmp edi, eax
ja 0x40a69b
mov edx, dword [ebp - 0x14]
mov ebx, edi
mov ecx, dword [esi]
mov edx, dword [edx]
test edi, edi
je 0x40a4c4
nop
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40a4fe
add edx, 2
add ecx, 2
dec ebx
jne 0x40a4b0
mov eax, dword [esi + 4]
cmp edi, eax
jb 0x40a500
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x14]
mov dword [ecx + 0x18], ebx
mov eax, dword [0x4c7270]
mov dword [ebp - 0x68], eax
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x20], ebx
mov dword [0x4c7270], ebx
jmp 0x40a0a8
mov ebx, edx
jmp 0x409e1e
mov edx, eax
mov dword [ebp - 0x20], eax
jmp 0x409eab
jae 0x40a4c8
mov ecx, dword [ebp - 0x1c]
mov ebx, esi
mov eax, dword [ebx + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4c7270]
mov dword [ebx + 0x1c], eax
mov dword [0x4c7270], ebx
cmp dword [ebx + 0x18], 0
jne 0x40a4cb
jmp 0x40a0fc
lea eax, [ebx + 0x1c]
mov ebx, dword [eax]
mov dword [ebp - 0x70], eax
test ebx, ebx
je 0x40a76d
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1c], eax
cmp eax, edi
ja 0x40a6a2
mov edx, dword [ebp - 0x14]
mov esi, eax
mov ecx, dword [edx]
mov edx, dword [ebx]
test eax, eax
je 0x40a564
mov edi, edi
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40a589
add edx, 2
add ecx, 2
dec esi
jne 0x40a550
mov eax, dword [ebp - 0x1c]
cmp eax, edi
jae 0x40a58b
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebx + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4c7270]
mov dword [ebx + 0x18], eax
mov dword [0x4c7270], ebx
cmp dword [ebx + 0x1c], 0
jne 0x40a58e
jmp 0x40a0fc
jb 0x40a568
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x14]
mov dword [ecx + 0x1c], ebx
mov eax, dword [0x4c7270]
mov dword [ebp - 0x48], eax
mov ebx, dword [eax + 0x1c]
mov dword [ebp - 0x20], ebx
mov dword [0x4c7270], ebx
jmp 0x40a0a8
mov edx, dword [ebx]
mov edi, dword [edi]
test ecx, ecx
je 0x409de4
lea esp, [esp]
mov ax, word [edi]
cmp ax, word [edx]
je 0x40a6c6
movzx eax, ax
cmp ax, word [edx]
jmp 0x409dee
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x40a6ac
push esi
call fcn.00420f8c
add esp, 4
mov dword [ebp - 0x5c], 0
jmp 0x40a04c
cmp cx, 0x52
je 0x409fb4
jmp 0x4427a1
add edi, 0xffffffae
cmp edi, 4
ja case.default.0x40a618
jmp dword [edi*4 + 0x40a7a8]
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.00404aa0
jmp case.default.0x40a618
cmp dword [ebp - 0x58], 4
jne 0x40a012
mov ecx, dword [esi + 8]
mov esi, dword [ebp - 0x5c]
cmp ecx, esi
je case.default.0x40a618
push esi
call fcn.00411bcc
jmp case.default.0x40a618
add esi, 2
add edx, 2
dec ecx
jne 0x40a1a0
jmp 0x40a0e8
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
jne 0x40a686
push dword [edi]
call fcn.00420f8c
add esp, 4
push dword [edi + 0xc]
call fcn.00420f8c
add esp, 4
push edi
call fcn.00420f8c
add esp, 4
mov dword [esi + 8], 0
jmp 0x40a01d
mov edi, eax
jmp 0x40a4a2
mov eax, edi
mov dword [ebp - 0x1c], edi
jmp 0x40a541
push dword [esi]
call fcn.00420f8c
add esp, 4
push dword [esi + 0xc]
call fcn.00420f8c
add esp, 4
jmp 0x40a5e8
add edi, 2
add edx, 2
dec ecx
jne 0x40a5c0
jmp 0x409de4
add eax, 0xfffffffb
cmp eax, 0xa
ja case.0x40a6e4.6
jmp dword [eax*4 + 0x40a7bc]
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je case.0x40a6e4.6
push ecx
call fcn.004041c4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
sub eax, 5
cmp eax, 0xa
ja case.0x40a711.6
jmp dword [eax*4 + 0x40a7e8]
mov ecx, dword [esi]
test ecx, ecx
je case.0x40a711.6
push ecx
call fcn.004041c4
jmp case.0x40a711.6
mov eax, dword [ebp - 0x54]
xor esi, esi
jmp 0x409f3a
mov edx, dword [ebp - 0xc]
jmp 0x409f99
mov edx, dword [ebp - 0x10]
cmp byte [edx + 0xff], 0
jne 0x442a2e
cmp edi, 0x41
jne 0x442a2e
push 0
push 0
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x14]
call fcn.004039be
jmp case.default.0x40a618
mov ebx, dword [ebp - 0x20]
jmp 0x40a0fc
xor edx, edx
jmp 0x40a29e
push dword [ebp - 0x54]
push 0x7b
jmp 0x442721
push dword [ebp - 0x1c]
push 0x7a
jmp 0x442721
lea ecx, [ebp - 0x34]
jmp 0x44273e
xor edx, edx
jmp 0x40a408
lea ecx, [ebp - 0x44]
jmp 0x44273e
shl ecx, cl
int3
int 0xc4
mov al, 0xe3
cmp al, 0x8b
iretd
add eax, 0x89b6208
invalid
jns 0x44245e
int 0x98
xchg ebp, eax
jbe 0x4423e5
lcall [edx - 0x14]
pop edx
in al, dx
jecxz 0x442434
ror byte [ecx + 0x68], 1
cmp dl, byte [esi + 0xa]
fiadd word [eax - 0xa]
cmp esi, ebx
cmp dword [eax - 0x5f], ecx
and ch, dh
add dl, cl
add byte [esp + ebx], cl
or al, 0x1c
add ebx, 0x59904c1f
std
sbb eax, ebp
adc dword [eax - 0x15], ebp
jge 0x4424a7
fdivr dword [esi - 0x24]
jmp 0xb4d6d3eb
pushfd
cmp al, 0xee
retf 0x94b1
aaa
stosb byte es:[edi], al
wait
mov ah, byte [eax + 0x2a4de52]
test eax, 0x44346b84
inc esp
cmp byte [eax + ebp*2 - 0x70], bh
mov esp, 0xd137e80d
and bh, byte [ecx]
and eax, 0xb5da3bd9
cmp dword [0xb5da3bd9], esp
jno 0x44251b
lodsb al, byte [esi]
mov word [edi], cs
jae 0x44249a
inc ebp
jne 0x4424ca
sbb al, 0xea
add byte [edx - 0x7ac66e0d], bh
inc ecx
jns 0x442544
jnp 0x442531
inc ebp
invalid
cmp eax, 0xf0e1a28
jecxz 0x442530
push eax
sub cl, bh
add byte [esi], bl
movsb byte es:[edi], byte [esi]
in al, 0x8d
mov ebp, 0x6ea697
add byte [0x2003fff7], dh
push edx
pop ss
cmp dl, bh
fcom qword [ebp + 0xa000000]
mov eax, dword [0xffacb662]
or ecx, dword [ecx + 0x58]
neg dword [edx - 0x2ab6ebdf]
outsb dx, byte [esi]
loopne 0x442584
mov al, 0x58
daa
push eax
sti
mov al, 0x8d
movsd dword es:[edi], dword [esi]
push edi
cmpsd dword [esi], dword es:[edi]
cmp dl, 0x1b
and al, bh
mov edi, 0x722e0889
retf 0x8c8d
lea esp, [ebp - 0x57d58a9]
sbb esp, dword [edx]
invalid
je 0x442541
jb 0x4424b2
cmp byte [edi - 0x55], 0xa0
and ecx, dword [edi]
mov dh, 0xdc
jg 0x4424df
mov al, byte [0xdcb60f23]
lodsb al, byte [esi]
adc esp, dword [esi]
pop ecx
out dx, al
adc al, 0x36
pop ss
call 0x178c8d52
dec eax
pop ss
adc eax, 0xef3bedd7
in eax, dx
cmp ebp, edi
in eax, 0x4e
aad 0xcb
push 0xc140062a
lahf
mov esp, 0x22bbf7f8
scasb al, byte es:[edi]
jmp 0xb5e3cab9
cld
movsd dword es:[edi], dword [esi]
sbb bl, byte [ebx + 0x3c]
dec esp
cmp eax, 0x13ab7625
wait
imul esp, dword [esi + 8], 0xffffffd3
push 0x75
xor al, byte [ecx - 0x2b]
in eax, dx
cmp ebp, edi
push ds
rcl byte [edi - 0x7c], cl
sal dword [eax - 0x3b46fd10], 1
xor dword [ecx - 0x5b], esp
loopne 0x442613
dec edi
sub edi, ebp
jg 0x442548
fcomi st(6)
push dword [ebx - 0x43603ec0]
clc
jg 0x4425c9
cmp byte [ebx + 0x7a], cl
fmulp st(0)
salc
sbb eax, 0xeb7b5336
pop ebp
xchg edx, eax
xchg edx, eax
call 0x8150aacf
cwde
and al, 0xae
xor esp, 0x4d02608
iretd
add cl, cl
jle 0x44260b
sbb al, 0x8b
inc esi
invalid
or dword [eax + 0x4b830479], edx
add byte [ebx], bl
pop eax
adc eax, dword [ebx]
mov dh, 0x82
lodsb al, byte [esi]
xlatb
ja 0x4425c8
lodsb al, byte [esi]
mov eax, dword [edx + 0x7f]
adc bh, 0x25
sbb eax, 0x425ed512
inc edx
jns 0x442637
pop ss
mov bl, 0xc
call 0x858ed68a
xchg ebx, esp
imul ebp, dword [edi + esi*2 - 0x2f72f611], 0xda8c931e
and eax, 0x49eb0c6d
jecxz 0x44267e
lodsb al, byte [esi]
ja 0x442607
or dword [ebp - 0x736ce130], ecx
fisub dword [0x49eb0c6d]
invalid
cmpsd dword [esi], dword es:[edi]
jno 0x442629
pop ecx
bound ebx, qword [eax - 0x30]
je 0x442661
pop eax
sal byte [esp + esi + 0x4f], 1
dec edi
xlatb
inc byte [esi + ebx]
call 0x2a2566d1
push ebp
cld
jno 0x442645
or al, byte [eax + 0x7f]
insb byte es:[edi], dx
inc eax
jg 0x4426aa
popfd
mov byte [ecx], bl
jmp dword [esi]
imul eax, dword [eax + edi*4 + 0x45f5ace1], 0x1030d554
dec esp
inc ebp
loop 0x4426d0
lds ebx, [0x23cc2ccb]
mov ecx, 0x15deff87
cmpsd dword [esi], dword es:[edi]
jnp 0x44263a
fmul dword [ebx - 0x6aaa199b]
mov esp, dword [ebp - 0x1a]
push ebp
xchg ebp, eax
mov al, byte [0x303211cb]
bound ebx, qword [edi + 5]
mov esp, dword [edx]
aaa
xor ecx, dword [ebp - 0x51]
sar esp, 0x4e
push cs
js 0x44263b
inc ecx
out dx, eax
xor eax, 0x174a997f
jg 0x442619
dec edx
pop ss
int 0xb1
invalid
ja 0x4426ae
and dl, dl
inc eax
cdq
mov dh, 0x4d
and eax, 0x57b812
inc edi
scasb al, byte es:[edi]
test byte [esi], bh
xchg edi, eax
xchg edi, eax
inc ebx
invalid
cmpsd dword [esi], dword es:[edi]
xor eax, 0xc924ab27
stosd dword es:[edi], eax
and al, 0xc9
push edi
mov al, byte [0xc20d3711]
lea ecx, [ebp + 0x57576d0d]
out dx, al
sbb al, 0x5c
call dword [ecx - 0x73]
cmp al, 0xd4
lea edi, [esp + edx*8]
int1
jmp dword [eax + ecx*4 - 0x6e6d1350]
push cs
add byte [esi + 8], ch
xor eax, 0x575523a8
test al, 0x23
push ebp
push edi
pushal
sbb eax, 0x935a1f39
xchg ebx, eax
mov eax, dword [0x5636068e]
pushfd
sbb al, 0xf
add ecx, ecx
jle 0x44275d
cmp eax, 0x438a110
cmp eax, 0x438a110
jmp 0xce189b7f
mov byte [ebp], dh
mov edx, 0x9c048de8
sbb eax, 0xdd4b2c20
mov edx, 0x2b1b57c7
push 0x45
lea esi, [edi + 0x2f0b02fd]
push ds
dec ecx
add byte [ebx - 0x54450f00], al
jmp 0xb3ba0fdc
int1
mov edx, 0xe877e9ab
jne 0x442718
dec esp
push ss
push 0x23e81566
arpl dx, bx
add byte [eax], al
add byte [edx], cl
mov eax, dword [0x3ef9c251]
stc
das
sub ebp, ecx
cwde
enter 0xffffffffffffe8b6, 0xffffffffffffff93
sbb eax, 0xdd29082a
popfd
sub dword [edx - 0x65ec4018], 0x1b284df5
std
stosd dword es:[edi], eax
inc ebx
invalid
test dword [eax - 0x3965303d], ecx
fmul dword [eax]
push edi
retf 0x5e8d
push edi
nop
xchg ebp, eax
add ah, ch
invalid
mov dword [ecx + edi*8 - 0x1ce12401], ecx
ret 0xf74d
rol dword [esp + ecx + 0x4c0000], cl
sbb dword [eax + 0x69], edx
and dword [ebx - 0x52f5c69], 0xfffffff2
mov dword [0xfad0a397], eax
sub dword [ebx + 1], edx
sub dword [ebx + 1], edx
push ebp
dec edx
sbb ebp, edx
xor byte [edx + 0x75], bl
sar dword [esi + 0x6f], cl
push ds
rol dword [ebp - 1], cl
fdiv qword [edx + 0x74]
jnp 0x442963
sub al, 0x39
mov ah, 0x4c
dec eax
sbb al, 0x94
add ecx, dword [edi - 0x2d]
mov bl, 0xab
fdiv st(7), st(0)
mov cl, byte [ebp + 0x7ff4d2fb]
iretd
sal dword [ebx - 0x75002355], cl
invalid
jg 0x442934
out dx, eax
idiv byte [eax - 0x20f920ad]
dec dword [ecx + 0x4c]
insb byte es:[edi], dx
cmpsd dword [esi], dword es:[edi]
dec ebp
loope 0x44293a
invalid
in eax, 0xdf
fnstenv [edx + 0x5175a62b]
xchg ebp, eax
outsb dx, byte [esi]
xchg ebp, eax
sbb ah, byte [edi]
or edi, edx
and byte [edi - 0x5734ffcd], ch
add al, 0xe7
xlatb
sub byte [ebx - 0x3c], 0x4a
add byte [eax - 0x6d], al
ficomp dword [edi + 0x55]
inc edx
cwde
test cl, 0x75
mov dword [esi], 0xfc2e191a
lsl eax, eax
dec edx
dec ebp
and byte [ecx - 0x3e], cl
popal
mov al, 0xa
mov word [ecx + 0xe], fs
cmp ecx, dword [eax + 0xc90b4d6]
push 0x44
dec ebp
xor dword [ebx], ebx
fidiv word [edi + 0x5c]
jae 0x442a09
rol bh, 1
jns 0x4429e8
or al, 0x6a
push eax
add byte [eax], 0x4c
add byte [ecx], bl
push eax
sti
xor byte [esi], ah
arpl word [ebx - 0x786f02f], si
jne 0x4429d2
mov byte [0x20a158d], al
invalid
in al, 0x59
sal dword [edi], 0xb8
jno 0x442a48
mov eax, 0x84ec5971
popal
sbb dword [ebx], 0x7583d062
aad 0xfc
in al, dx
test byte [ecx - 0x7f], ah
sbb esp, dword [edx - 0x30]
xor dword [ebp - 0x2b], 0xfffffffc
sub eax, 0xdf46c142
aad 0xcd
invalid
aaa
xchg edx, eax
xchg esp, eax
mov ecx, 0x3041a848
or byte [ebp - 0xd], cl
pushfd
js 0x4429f0
adc esi, esi
mov eax, 0xa36f0bef
lahf
push edi
xor al, 0
push 0xffffffffffffffff
lodsb al, byte [esi]
inc edi
inc eax
add bl, dl
cmp cl, bl
xchg esi, eax
add al, 0x7f
mov esp, 0x348b3c18
jg 0x4429ec
sbb byte [ebx + ecx*4], bh
xor al, 0xb0
xchg byte [eax], dl
mov eax, dword [0xa58240a]
mov al, 0x86
adc byte [ecx + 0xa58240a], ah
scasd eax, dword es:[edi]
sub dword [esi + ebp*2 + 0x2bb191fc], 0x25390ca4
invalid
movsb byte es:[edi], byte [esi]
or al, 0x39
invalid
sub esp, dword [esp + ecx - 0x3af6dac7]
or ebp, eax
mov al, byte [0x39aa3711]
aas
dec ebx
into
test al, 0xb7
mov bh, 0xa
mov eax, fs
out 0x25, eax
daa
pop ds
mov bh, 0xa
mov eax, fs
out 0x25, eax
daa
pop ds
push edi
and al, 0x68
inc eax
dec ecx
push edi
jp 0x442a33
iretd
iretd
mov dword [0x99f162e9], eax
adc byte [edx + 0x43], bh
sub byte [edi + 0x29], 0x97
je 0x442a34
mov ebx, 0x8b66d987
jne 0x442a28
xchg ecx, ebx
mov si, word [ebp - 0x51]
add dword [eax], eax
int3
dec esi
ljmp 0x8537
stc
stc
std
push dword [eax*4 + 0x17539b7d]
push dword [edi]
cmpsb byte [esi], byte es:[edi]
sbb al, 0xf3
call 0x4a435495
call 0x4a435495
int1
inc ebp
adc dword [edi], 0x2eec51ee
int3
adc al, 0xa8
mov bh, 0xdc
push edx
mov ebx, 0x537015a9
jo 0x442b15
out dx, al
jp 0x442af5
outsd dx, dword [esi]
salc
inc esp
wait
jae 0x442ac0
hlt
dec ebp
test dword [eax + 0x78], 0x8e175b90
pushfd
sal dx, 0x6b
adc ebx, dword [edi + 0x7e]
nop
or eax, 0xcc56e0ad
int3
js 0x442b30
int3
xor edx, dword [esi + 0x34705506]
enter 0x5a5, 0xffffffffffffff87
lcall 0x35e8, 0x21b6939a
aad 0x6f
add ch, dh
xor eax, 0xf5006fd5
setb byte [eax + 0x5121f977]
test edx, esp
or eax, 0x6a3c0850
jne 0x442b3c
inc ecx
dec ebx
cmp dword [eax], eax
xor byte [ebp + edi + 0x25], cl
push esp
sbb eax, 0x11b21947
sbb dword [edx + 0x7db35a11], esi
pop edx
mov bl, 0x7d
pop ebp
invalid
mov eax, 0xc143455
push ebx
inc edx
push edx
invalid
dec ecx
ret 0x3801
sbb dword [esi - 0xe], ebp
jl 0x442b0a
push es
and byte [edi - 0x36e9097b], bh
mov esi, es
mov al, cl
mov dword [edx - 0x7212f1c4], ecx
lea ecx, [ebp + 0x3c]
das
lea ecx, [ebp + 0x3c]
das
cmc
jmp 0x442b56