Function at 0x87c99d
Capabilities:
Encrypt data using speck

Disassembly:
sub edx, ebx
add edx, 0x67907d6f
push ebx
mov ebx, 0x2a7d5a45
add edx, 0x15076d83
add edx, ebx
sub edx, 0x15076d83
pop ebx
lea edi, [edi + 0x144]
sub edi, 0x53975935
sub edi, 0x4b700d0b
add edi, edx
add edi, 0x4b700d0b
sub esp, 4
mov dword [esp], edx
mov edx, 0x53975935
add edi, edx
jmp 0x822985
mov dl, ah
jmp 0x8772c0
mov edi, 0x41a805b2
xor ebx, edi
pop edi
mov ebp, 0x38f32944
shl ebp, 6
inc ebp
sub ebp, 0x7cf1edd9
add ebx, ebp
xor ebp, 0x38177642
and eax, ebx
push ecx
mov ecx, 0x450
add ecx, 0x3046606d
add ecx, edi
sub ecx, 0x3046606d
push ebx
mov ebx, 0
add ebx, ecx
xor dword [ebx], eax
pop ebx
mov ecx, dword [esp]
add esp, 4
mov ebp, 0x2f5c51e8
push 0x463c
mov dword [esp], esi
mov esi, 0x6bb23054
xor ebp, esi
pop esi
sub ebp, 0x705f1626
jmp 0x871c46
pop bx
mov cl, dh
jmp 0x854cb3
sub dword [esp + 4], edx
mov edx, dword [esp]
add esp, 4
mov ebp, dword [esp]
add esp, 4
add ebp, 0x566c4e3c
mov ebx, 0x6b717c6f
xor ebx, 0x11bf470e
push eax
mov eax, 0x620141e0
add ebx, eax
jmp 0x81f87a
pop ecx
add ecx, 0x50a2681f
jmp 0x8927aa
push 0x626779e0
pop eax
and eax, 0x58b936ec
add eax, 0x67c12d46
and eax, 0x70293362
sub eax, 0xbdfcc24
mov ebx, eax
sub eax, edi
xor eax, ebp
xor eax, edi
dec ebx
add ebx, 0x7cba5465
shr ebx, 5
xor ebx, 0x487d4df
mov edx, ebx
xor ebx, 0x4b881966
push ecx
jmp 0x858746
cmp al, 8
je 0x8038f7
cmp al, 9
je 0x8038f7
cmp al, 0xa
je 0x8038f7
cmp al, 0xb
jne 0x8d82e3
or dword [edi + 0x548], 0x10
and dword [edi + 0x548], 0xfffffff3
cmp al, 8
jne 0x88cb5c
or dword [edi + 0x548], 0
jmp 0x8d669a
inc ebx
sub ebx, 0xcb12d01
jmp 0x82b25c
push dword [edi + 0x548]
jmp 0x81ba4a
sub ecx, 0x40ffb4a
add eax, ecx
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], esi
push edx
push esp
pop edx
add edx, 4
sub edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
jmp 0x86ff0d
mov eax, dword [edx]
pop edx
sub esp, 4
mov dword [esp], edi
mov ebp, 0x44ef4c1b
push ecx
jmp 0x82076f
mov dword [esp], ebx
jmp 0x8053fe
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
jmp 0x8ac892
or dword [edi + 0x548], 4
or dword [edi + 0x548], 1
mov eax, dword [edi + 0x334]
push eax
jmp 0x8ae05f
jne 0x8b882e
mov ebp, 0x24e6597b
push 0x14161e07
pop edx
xor edx, 0xceb566f
sub edx, 1
jmp 0x8d711f
mov ebp, ebx
sub ebp, 0xcaff0552
sub edx, ebp
jmp 0x888f0f
cmp al, 0x18
je 0x80f644
cmp al, 0x19
je 0x80f644
cmp al, 0x1a
jne 0x82872a
and dword [edi + 0x548], 0xfffffff3
cmp al, 0x18
jne 0x8a36b7
or dword [edi + 0x548], 0
jmp 0x8922cc
push ebx
mov ebx, 4
add esi, ebx
pop ebx
xchg dword [esp], esi
pop esp
push 0x776
mov dword [esp], ecx
push esp
pop ecx
add ecx, 4
add ecx, 8
xchg dword [esp], ecx
mov esp, dword [esp]
push 0xd
mov dword [esp], eax
jmp 0x8921ea
mov al, byte [ecx]
pop ecx
jmp 0x8b5c33
cmp edi, edx
jb 0x814fea
lea edi, [eax + 0x144]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
push 0x37a5776c
pop ebx
jmp 0x8ce7c9
mov dword [esp], edx
mov edx, 0x438
add edx, edi
jmp 0x84283c
rep movsb byte es:[edi], byte [esi]
sub esp, 4
mov dword [esp], ecx
mov ecx, dword [esp]
push edi
mov edi, esp
add edi, 4
jmp 0x81ca72
lodsb al, byte [esi]
mov byte fs:[edi], al
sub esp, 4
jmp 0x8445a1
mov ebx, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xor ebx, dword [esp]
jmp 0x8a0f70
add edi, 4
xchg dword [esp], edi
pop esp
mov edi, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
sub esp, 4
mov dword [esp], ebx
push dword [esp + 4]
pop ebx
pop dword [esp]
pop esp
jmp 0x89e8f9
pop eax
shr ebx, 6
add ebx, 0x440b432c
xor ebx, 0x477e81a1
and ebp, ebx
add ebx, 0x32b71d5f
sub ebx, ebp
sub ebx, 0x32b71d5f
push ecx
mov ecx, 0x72a24199
add ebx, ecx
pop ecx
or ebp, ebp
je 0x87396e
push 0x141757c6
pop eax
add eax, 0x30cc2d99
jmp 0x8aa0af
mov ecx, 0x5b4f2ce0
and ebp, ecx
pop ecx
shr ebp, 4
and ebp, 0x741934eb
and ebp, 0x1b85339c
not ebp
jmp 0x8b92b5
pop edx
lea edx, [eax + 0x144]
push 0x2df0
mov dword [esp], ecx
mov ecx, 0x70
add edx, 0x673a571d
sub edx, 0x5b8b0045
add edx, ecx
add edx, 0x5b8b0045
sub edx, 0x673a571d
pop ecx
mov ebp, 0x65025cfd
shl ebp, 8
jmp 0x865941
mov ebx, 0xffffffff
mov eax, ebx
sub edi, eax
pop eax
or ecx, ecx
jne 0x81acca
jmp 0x81ca7c
push eax
push dword [esp]
pop edi
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
push dword [esp]
pop ebx
push eax
mov eax, esp
add eax, 4
jmp 0x809c15
add ecx, 4
add ecx, 4
jmp 0x8a3c30
add edi, 4
xchg dword [esp], edi
pop esp
push eax
mov eax, esp
mov edx, 0x520712e0
neg edx
inc edx
shl edx, 6
sub edx, 0x23760a13
neg edx
xor edx, 0xd09a95e4
mov ecx, edx
add edx, 0x6806595f
not ecx
jmp 0x869ab8
cmp al, 0x1e
jne 0x8ae05d
push dword [edi + 0x70]
or dword [edi + 0x548], 0x20
jmp 0x8ae05f
neg ebx
sub ebx, 0xfdf4a860
or edx, ebx
add ebx, 0x3f25bd6
sub ebx, 0x14aa51ec
dec edx
shl edx, 3
jmp 0x8350c4
cmp eax, 0xf0000000
jb 0x877780
cmp eax, 0xf0000070
ja 0x877780
mov edx, dword [edi + 0x628]
sub edx, 0xf0000000
sub eax, 0xf0000000
add eax, dword [edi + 0x4c8]
add eax, edx
mov edx, 0x70
add edx, dword [edi + 0x4c8]
cmp eax, edx
jb 0x87778d
sub eax, 0x70
jmp 0x87778d
pop ebx
add dl, bl
add dl, 0x8f
add dl, 0xcf
sub esp, 4
jmp 0x8489c3
mov bh, al
pop eax
jmp 0x842428
mov ebp, 0x3e212179
or ebp, 0x78555995
add ebp, 0xf9867563
sub edx, ebp
add ebp, 0x2d3a3eba
jmp 0x844cbc
mov ebx, 0x63e61952
inc ebx
sub ebx, 1
shr ebx, 6
push edi
jmp 0x8001cc
sub dl, 0xcf
push ebx
push eax
mov al, 0xb3
jmp 0x8342ae
push edx
jmp 0x843f9b
add ecx, 0x3d5b5294
mov edx, ecx
pop ecx
add edx, edi
sub esp, 4
mov dword [esp], ecx
mov ecx, 0
add ecx, edx
add al, byte [ecx]
pop ecx
pop edx
push ebx
mov bh, al
push 0x229c
mov dword [esp], eax
mov ah, bh
jmp 0x7ffabb
neg bh
not bh
sub bh, 0x23
sub dl, bh
jmp 0x82f67b
sub esp, 4
mov dword [esp], ecx
pop dword [edx]
pop edx
push edx
jmp 0x803081
or dword [edi + 0x548], 4
or dword [edi + 0x548], 1
mov eax, dword [esp]
or dl, dl
je 0x843102
mov edx, dword [edi + 0x628]
sub edx, 0xf0000000
sub eax, 0xf0000000
add eax, dword [edi + 0x4c8]
add eax, edx
mov edx, 0x70
add edx, dword [edi + 0x4c8]
cmp eax, edx
jb 0x843102
sub eax, 0x70
mov eax, dword [eax]
mov dword [esp], eax
lea eax, [edi + 0x334]
push eax
jmp 0x8ae05f
mov dword [edi + 0x460], eax
jmp 0x8d0962
mov eax, 0xb9f1da2
add eax, 0xf607e478
mov ebx, eax
xor eax, 0xb312bf0
mov ecx, ebx
mov edx, 0x1a70319
jmp 0x8c5e88
mov dword [esp], ebx
mov ebx, 1
jmp 0x8b2604
sub ebp, 0xc91246b
mov esi, edx
xor edx, 0x54a64584
jmp 0x8675d6
pop ecx
or ebx, ebx
je 0x824e3d
lea edi, [edi + 0x70]
jmp 0x824e55
pop edx
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x460
jmp 0x8b75bf
mov dword [esp], edi
mov edi, 1
add eax, 0x54bc41b8
sub eax, edi
sub eax, 0x54bc41b8
pop edi
or eax, eax
jne 0x859f26
push edx
pushfd
jmp 0x879ae4
or dword [edi + 0x548], 4
mov eax, dword [esp]
push eax
jmp 0x8ae05f
mov ebp, 0x2aba1217
neg ebp
mov ebx, 0x3c102ec4
sub ebx, 0x5fb31378
add ebx, 0x2203cc50
xor ebp, ebx
xor ebx, eax
jmp 0x8c5ebf
cmp al, 0x20
je 0x849cea
cmp al, 0x21
je 0x849cea
cmp al, 0x22
je 0x849cea
cmp al, 0x23
jne 0x80f62c
and dword [edi + 0x548], 0xfffffff3
cmp al, 0x20
jne 0x866eed
or dword [edi + 0x548], 0
jmp 0x8494fe
or ebx, 0x402567f4
dec ebx
xor ebx, 0x7ca04239
neg ebx
sub ebx, 0x37e950a8
add eax, 0x60b62c34
add eax, ebx
sub eax, 0x60b62c34
xor ebx, 0x5da242d7
add ebx, ebx
xor edx, eax
xor eax, eax
push ebx
jmp 0x8ac46e
mov ecx, edx
add edx, 0x427f0de0
sub edx, ebp
sub edx, 0x427f0de0
sub edx, 0x3657544a
xor edx, edi
add ecx, ebp
xor ebp, 0x25092795
jmp 0x8b885a
sub ebp, 4
sub esp, 4
mov dword [esp], ebp
push dword [esp + 4]
pop ebp
jmp 0x8ddfcf
xor dword [edi + 0x548], esi
jmp 0x8bea2c
sub edx, 0x525c4a46
add ebx, edx
xor edx, 0x71ca5798
sub edx, 0x2eb56c1a
add edx, edi
add edx, 0x2eb56c1a
sub esp, 4
mov dword [esp], edx
mov edx, 0x13
sub ecx, 0x52d01ae6
sub ecx, edx
add ecx, 0x52d01ae6
mov edx, dword [esp]
add esp, 4
jmp 0x836b4c
pop edx
pop edx
push edx
push ecx
push 0x4cc5437b
pop ecx
add ecx, 0x59c75ef4
dec ecx
add ecx, 0x1c180f32
jmp 0x840e8b
pop edx
and al, cl
pop ecx
popfd
push ebp
mov ebp, esp
add ebp, 4
jmp 0x84ff82
mov ebx, 0x179e3dfb
jmp 0x8b8aa1
out 0x40, eax
mov ebx, 0xa42f27
jmp 0x80400d
mov ecx, 0x1c4041e7
add ebx, ecx
pop ecx
add edx, esi
jmp 0x808102
ror edx, 4
cmp bl, cl
jbe 0x83ba3a
push bx
jmp 0x887e2d
cmp ebx, 1
jmp 0x80d4bd
add esp, 4
jmp 0x84986c
not ebp
and ebp, 0x478965b9
xor ebp, 0x55b50870
xor ebp, 0x1ee21284
or ebp, 0x388b5df9
sub ebp, 0x3edf5fef
jmp 0x8b2bdb
cmp al, 0x21
jne 0x8494f7
or dword [edi + 0x548], 2
jmp 0x8494fe
and eax, esi
pop esi
or eax, eax
je 0x86761a
push ebx
mov ebx, 0x1f462769
mov eax, ebx
pop ebx
sub eax, 0x1f462769
mov ebp, eax
mov dword [edi + 0x450], ebp
xor eax, 0x35861019
mov edx, 0x48e5453f
neg edx
inc edx
or edx, 0x1ad60758
add edx, 0x516583da
xor eax, edx
sub edx, ebx
add edx, 0x427205dd
sub esp, 4
jmp 0x8b1810
push 0x80
mov ecx, dword [esp]
push edi
push esp
pop edi
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
jmp 0x88efe3
cmp al, 5
jne 0x80be1d
or dword [edi + 0x548], 2
jmp 0x80be24
dec ecx
inc ecx
dec ecx
add ecx, 0x79b04f87
jmp 0x8054d5
sub edx, 0x67907d6f
jmp 0x7fdb4e
add dl, ah
pop eax
jmp 0x82f684
cmp al, 0xd
jne 0x8430ba
or dword [edi + 0x548], 2
jmp 0x8430c1
mov dword [esp], edi
lea esi, [esp + 0x10]
or ebx, ebx
jne 0x860149
sub esp, 4
mov dword [esp], esi
mov ebp, 0x1681181
dec ebp
and ebp, 0x40b711d7
sub ebp, 0x399a5731
inc ebp
add ebp, 0x397a45b1
push ebp
pop esi
add ebp, eax
xor ebp, eax
mov ecx, esi
pop esi
jmp 0x8b885a
mov ecx, 1
add ecx, 0x7d574404
push edx
mov edx, 0x233442f5
sub ecx, edx
pop edx
add ecx, esi
add ecx, 0x233442f5
sub ecx, 0x7d574404
jmp 0x813521
sub ebp, 0x68fe246b
add ebp, 0xf779eccd
add edx, ebp
add ebp, 0x10846118
sub edx, 4
xchg dword [esp], edx
pop esp
jmp 0x8096de
shr ebp, 1
push ebx
mov ebx, 0xf6b58d2
jmp 0x8a2369
add esp, 4
pop ebx
and dl, 0x80
pushfd
push ecx
push edx
mov dh, 0x71
jmp 0x8ac1ac
sub eax, esi
pop esi
add eax, edx
push edx
add dword [esp], 0xfb66581
mov ebp, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], esi
mov esi, 0xfb66581
sub ebp, esi
jmp 0x8d6c81
cmp al, 0x10
je 0x875a17
cmp al, 0x11
jne 0x849cca
or dl, dl
je 0x888e59
mov eax, dword [esp]
cmp eax, 0xf0000000
jb 0x888e4b
cmp eax, 0xf0000070
ja 0x888e4b
mov edx, dword [edi + 0x628]
sub edx, 0xf0000000
sub eax, 0xf0000000
add eax, dword [edi + 0x4c8]
add eax, edx
mov edx, 0x70
add edx, dword [edi + 0x4c8]
cmp eax, edx
jb 0x888e56
sub eax, 0x70
jmp 0x888e56
mov eax, dword [esp]
jmp 0x872d39
pushfd
sub eax, 0x80000000
popfd
add eax, dword [edi + 0x364]
mov dword [esp], eax
lea eax, [edi + 0x334]
push eax
jmp 0x8ae05f
sub edx, 0x70107788
add edx, 0x4db150d4
add edx, eax
mov ebx, 0x18b05626
jmp 0x80f3ba
cmp al, 4
je 0x87ad4c
cmp al, 5
je 0x87ad4c
cmp al, 6
je 0x87ad4c
cmp al, 7
jne 0x8038d7
and dword [edi + 0x548], 0xfffffff3
cmp al, 4
jne 0x868ee5
or dword [edi + 0x548], 0
jmp 0x80be24
mov edi, ebp
xor ebp, ecx
and eax, edi
pop edi
shr eax, 2
shl eax, 3
or eax, eax
je 0x8a3c55
push dword [edi + 0x628]
mov ebx, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
push eax
mov eax, 4
add ebp, eax
pop eax
xchg dword [esp], ebp
pop esp
sub esp, 4
jmp 0x89a134
push 0x31fa
mov dword [esp], ecx
mov ecx, 0x434
add ecx, edi
push eax
mov eax, 0
add eax, 0x117011c6
add eax, ecx
sub eax, 0x117011c6
mov bl, byte [eax]
pop eax
pop ecx
push 4
push dword [esp]
mov eax, dword [esp]
add esp, 4
add esp, 4
jmp 0x867f65
jb 0x896cee
push dword [edi + 0x628]
xor dword [esp], 0x9a269a6
pop eax
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], esi
jmp 0x8b1da5
cmp al, 1
jne 0x88eae7
or dword [edi + 0x548], 1
and dword [edi + 0x548], 0xfffffff3
or dword [edi + 0x548], 4
lea eax, [edi + 0x334]
push eax
jmp 0x8ae05f
mov dword [esp], ebx
push dword [esp]
pop eax
add esp, 4
mov ebx, 0xf0000000
mov ebp, 0x42270f5c
shr ebp, 7
sub ebp, 0x673e440f
inc ebp
push ecx
mov ecx, 0x7f87ae03
sub ebp, ecx
jmp 0x8d8785
push eax
mov al, 0xc2
mov bh, al
pop eax
sub dl, bh
pop bx
sub dl, bl
push eax
mov ah, 0xc2
jmp 0x86ad9c
add eax, 0x4aba6e7c
dec eax
add eax, 0xcd7c0898
add esi, eax
sub esi, 0x57d60f36
push 0x4c10
mov dword [esp], edx
mov eax, 0x38d7617c
mov edx, 0xc7289e84
add edx, eax
sub eax, 0x57f13192
add edx, 0x46d31491
add edx, esi
sub edx, 0x46d31491
mov esi, dword [edx]
pop edx
jmp esi
sub eax, 0x80000000
add eax, dword [edi + 0x364]
mov dword [esp], eax
mov eax, dword [esp]
push eax
jmp 0x8ae05f
add edx, 0x70107788
popfd
mov dword [edi + 0x548], 0x48cd5dd7
add dword [edi + 0x548], 0x1bb52193
jmp 0x8c3da4
push edx
mov edx, 0
add edx, eax
mov ebx, dword [edx]
pop edx
mov eax, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
push esi
push 0x5ea771f
pop ebp
add ebp, 0xfa1588e7
mov eax, ebp
mov ecx, eax
jmp 0x8a4f90
cmp al, 9
jne 0x8d6693
or dword [edi + 0x548], 2
jmp 0x8d669a
cmp al, 2
je 0x88eaf7
cmp al, 3
jne 0x87ad2c
or dword [edi + 0x548], 1
and dword [edi + 0x548], 0xfffffff3
or dword [edi + 0x548], 4
or dl, dl
je 0x877790
mov eax, dword [esp]
cmp eax, 0xf0000080
jb 0x82ec7b
cmp eax, 0xf000008a
ja 0x82ec7b
lea edx, [edi + 0xe4]
sub eax, 0xf0000080
add eax, edx
jmp 0x87778d
jmp 0x8489d8
add ecx, 0x16dcd5fc
mov ebx, ecx
jmp 0x84b612
mov eax, 0x438
add eax, 0x262997
add eax, edi
sub eax, 0x262997
mov edx, dword [eax]
mov eax, dword [esp]
add esp, 4
shl edx, 2
push ebx
mov ecx, 0x4ac
mov ebx, ecx
sub ebx, 0xb5049ce
add ebx, edi
add ebx, 0xb5049ce
mov ebp, dword [ebx]
mov ebx, dword [esp]
add esp, 4
shl ebp, 2
push edx
mov eax, 0x4d8
mov edx, eax
sub edx, 0x7c68767e
add edx, edi
push ebx
mov ebx, 0x7c68767e
jmp 0x8a0a85
or dword [edi + 0x548], 4
or dword [edi + 0x548], 8
push 0
jmp 0x8ae05f
sub ebx, esi
pop esi
sub ebx, 0x869743e
add ecx, eax
pop eax
or ecx, ecx
jne 0x814fdc
mov edi, dword [eax + 0x4c8]
lea esi, [eax + 0x144]
mov ecx, 0xe
imul ecx, ecx, 8
rep movsb byte es:[edi], byte [esi]
push dword [esp]
pop esi
push ecx
jmp 0x8a8022
add esp, 4
mov ecx, dword [esp]
add esp, 4
jmp 0x8b789d
sub ebx, 0x65d3179d
add ebx, 0x19be5c0d
push edi
push esp
pop edi
add edi, 4
sub edi, 4
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
pop esp
mov dword [esp], esi
push dword [edi + 0x4c8]
push eax
mov eax, 0x5c832ae6
add dword [esp + 4], eax
pop eax
jmp 0x8bd5a7
mov dword [esp], ecx
mov ecx, 0x628
sub ecx, 0x5697732b
add ecx, edi
add ecx, 0x5697732b
add dword [ecx], eax
mov ecx, dword [esp]
add esp, 4
cmp dword [edi + 0x628], 0xf0000070
jmp 0x87fb0b
push dword [ecx]
mov edx, dword [esp]
jmp 0x89464d
mov esi, dword [esp]
sub esp, 4
mov dword [esp], esi
push esp
pop esi
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
push esi
mov esi, esp
push ebp
mov ebp, 4
add esi, ebp
jmp 0x8d52d2
add edx, ebx
pop ebx
mov esi, dword [edx]
pop edx
add esi, 0x5d3f5ce6
add esi, 0x78571ee9
sub esi, 0x5f366fe5
add esi, edx
add esi, 0x5f366fe5
sub esi, 0x78571ee9
jmp 0x85576a
xor dword [esp], ebx
jmp 0x8ba152
or ebp, ebx
pop ebx
inc ebp
xor ebp, 0x6f6ffd23
and ecx, ebp
sub esp, 4
jmp 0x815366
cmp al, 0x19
jne 0x8922c5
or dword [edi + 0x548], 2
jmp 0x8922cc
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
pop esp
mov edx, eax
push 0x7df0
mov dword [esp], edx
sub dword [esp], 0x2cde1467
pop edi
push ecx
mov ecx, 0x2cde1467
add edi, ecx
pop ecx
push 0x69d3
mov dword [esp], esi
mov eax, dword [esp]
add esp, 4
push dword [esi + 5]
push ebx
push 0x13066f9f
pop ebx
add dword [esp + 4], ebx
pop ebx
pop edx
mov ecx, 0x381a6e73
shr ecx, 4
shl ecx, 8
shr ecx, 5
or ecx, 0x7fdc133f
xor ecx, 0x6cdb58a0
sub edx, ecx
xor ecx, 0x5ac23c8a
xor ecx, esi
jmp 0x87d100
xor ebp, ebx
add ebx, 0x65d3179d
sub ebx, eax
jmp 0x896ce2
mov esi, ecx
and ebx, esi
pop esi
shr ebx, 1
push dword [esp]
push dword [esp]
pop eax
push edi
mov edi, esp
add edi, 4
jmp 0x82823b
xor dword [edi + 0x548], 0x489979a5
sub dword [edi + 0x548], 1
not dword [edi + 0x548]
push esi
mov esi, 0xd3e4f936
jmp 0x8504de
mov ecx, esp
jmp 0x824fd2
push dword [esi]
jmp 0x8e0831
and eax, 0x14da0557
inc eax
sub eax, 0x4c20558
jmp 0x843652
shr dh, 8
shl dh, 7
add dh, 0xe2
push ecx
mov cl, dh
dec cl
mov dh, cl
pop ecx
dec dh
push bx
mov bl, 0x9f
add dh, bl
jmp 0x8011c7
mov ebx, 0xfc
sub edx, ebx
mov ebx, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
jmp 0x83fdbe
pop esp
popfd
or ebx, ebx
je 0x815d52
jmp 0x823b2b
push 0
pushfd
mov eax, 0x43dc4676
popfd
push ecx
mov ecx, 0xa
add ecx, esi
jmp 0x89db0e
mov dword [esp], ecx
push dword [esp]
pop eax
add esp, 4
push edx
push 0x450
pop edx
add edx, 0x2acb7d3d
add edx, edi
sub edx, 0x2acb7d3d
push eax
mov eax, 0
add eax, edx
xor ecx, dword [eax]
pop eax
pop edx
mov ebx, 0x3e90a61
shl ebx, 4
add ebx, 0xc16f5aae
xor ecx, ebx
mov edx, 0x12000593
xchg edx, ecx
not ecx
xchg edx, ecx
neg edx
xor edx, 0x65f27c74
jmp 0x850988
mov esi, 0x9a269a6
xor eax, esi
pop esi
sub eax, 0xf0000070
add eax, 0xf0000000
push 0x1ffd
mov dword [esp], eax
pop dword [edi + 0x628]
sub ebx, 0xf0000070
push ebx
not dword [esp]
pop ebx
push esi
mov esi, 0xffffffff
sub ebx, esi
pop esi
sub esp, 4
jmp 0x88776a
sub ecx, ebx
jmp 0x8e25cd
push ebp
sub dword [esp], 0x50a2681f
jmp 0x802cae
push ebx
mov ebx, 0x434
push edx
mov edx, 0x53030287
add ebx, edx
pop edx
add ebx, edi
sub ebx, 0x53030287
xor al, byte [ebx]
mov ebx, dword [esp]
add esp, 4
push edx
push eax
mov al, 0xfb
dec al
add al, 0x99
dec al
dec al
shl al, 5
jmp 0x8be798
push ebx
mov ebx, 0x460
add ebx, edi
push 0x4def
mov dword [esp], ecx
mov ecx, 0
add ecx, ebx
xor edx, dword [ecx]
pop ecx
mov ebx, dword [esp]
add esp, 4
mov eax, 0x668409e
jmp 0x8d3594
add ecx, edi
push eax
mov eax, 0
add eax, ecx
xor dword [eax], ebp
pop eax
mov ecx, dword [esp]
jmp 0x862b09
mov ecx, 0x61734873
or ecx, 0x513829b2
push eax
mov eax, 0x9f835fb
and ecx, eax
pop eax
sub ecx, 0xbe43b282
push eax
mov eax, 0xac47807
and ecx, eax
pop eax
add ecx, 0xfdfb98fe
and edx, ecx
xor ecx, 0x4fa87d7d
push dword [esi]
push edx
mov edx, 0x566c4e3c
jmp 0x8015b8
cmp ebx, 2
jne 0x8b885a
push eax
mov ebp, 0x4e83a34
not ebp
push eax
mov ecx, 0x47d4441a
mov eax, 0xbcc381d5
xor eax, ecx
xor ebp, eax
pop eax
mov eax, ebp
add ebp, 0x5fa77eda
mov ecx, eax
pop eax
test dword [edi + 0x548], 0x40
je 0x8c1e10
push edi
push ebx
mov ebx, 0xffffffff
mov edi, ebx
mov ebx, dword [esp]
add esp, 4
sub ebx, edi
jmp 0x8baff1
add dl, 0x73
add al, 0xaf
add al, dl
push edx
mov dl, 0xaf
sub al, dl
jmp 0x853d47
add ebx, 0x75df3c0c
and ebx, 0x7ea3a17
xor ebx, 0x585766e1
sub esi, ebx
sub ebx, edi
xor ebx, 0x5089555c
jmp 0x8a9074
add ebp, 0x309d
jmp 0x87c97f
xor ebx, dword [esp]
pop esp
push ecx
mov edx, 0x1e747351
xor edx, 0x78b814ef
push 0x3c147b0b
pop ebp
sub ebp, 0x23531642
add ebp, 0x80723399
add edx, ebp
mov ecx, edx
and ebx, ecx
jmp 0x846448
pop edi
jmp 0x8c1e12
mov esi, dword [esp]
add esp, 4
push ebx
mov ebx, 0x5c832ae6
sub esi, ebx
pop ebx
push 0x6358
mov dword [esp], edi
mov eax, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push dword [edi + 0x628]
push dword [esp]
pop edx
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
sub edx, 0x2a7d5a45
jmp 0x869d21
add al, 0x60
mov dl, al
pop eax
shl dl, 1
xor dl, 0xfc
jmp 0x8b8948
pop esi
push ecx
jmp 0x870be9
xor ebx, ebx
pushfd
push edx
push esp
pop edx
mov ebp, 0x718437a2
jmp 0x87147f
inc dword [edi + 0x548]
jmp 0x8a6dc5
sub edx, ecx
xor ecx, 0x4369596e
and ebp, edx
jmp 0x846b0b
push eax
mov eax, 0x2b250a8a
xor ebp, eax
pop eax
and edx, ebp
push 0x4bec
mov dword [esp], edx
pop dword [edi + 0x4ac]
push eax
mov eax, 0x548
add eax, edi
jmp 0x88a0bd
not ebx
shr ebx, 3
add ebx, 0xe6f4aeed
mov eax, ebx
push esi
mov esi, 0x62490a68
jmp 0x89279e
add eax, esi
add eax, 0x60e13940
sub eax, 0x14277e38
add eax, ebx
add eax, 0x14277e38
push esi
mov esi, 0x60e13940
jmp 0x873969
cmp al, 0x50
jne 0x8d3440
or dword [edi + 0x548], 0x80
pop eax
or al, al
jne 0x883b9b
push 0
jmp 0x8ae05f
add eax, 0x5498202b
shl eax, 6
add eax, 0x7ca854c3
push 0x61997c3e
jmp 0x8da9a4
mov ebp, dword [esp]
add esp, 4
jmp 0x811107
or dword [edi + 0x548], 4
mov eax, dword [esp]
or dl, dl
je 0x8d66d6
mov edx, dword [edi + 0x628]
sub edx, 0xf0000000
pushfd
sub eax, 0xf0000000
popfd
add eax, dword [edi + 0x4c8]
add eax, edx
mov edx, 0x70
add edx, dword [edi + 0x4c8]
cmp eax, edx
jb 0x8d66d6
sub eax, 0x70
push eax
jmp 0x8ae05f
pop esi
jmp 0x8b6200
shl edx, 6
sub edx, 0x64387339
jmp 0x84bc0e
cmp al, 0xc
je 0x8d8303
cmp al, 0xd
je 0x8d8303
cmp al, 0xe
je 0x8d8303
cmp al, 0xf
jne 0x875a07
and dword [edi + 0x548], 0xfffffff3
cmp al, 0xc
jne 0x86fb78
or dword [edi + 0x548], 0
jmp 0x8430c1
pop ecx
sub ebx, ebp
jmp 0x8a4f6b
pop ecx
jmp 0x88ff2f
pop dword [esp]
pop esp
mov dword [esp], eax
mov al, byte [esi + 4]
xor al, byte [edi + 0x434]
add al, 0x1a
add al, byte [edi + 0x434]
test al, 0x80
je 0x8de007
push edx
and al, 0x7f
mov edx, dword [esp + 8]
sub edx, dword [edi + 0x56c]
add edx, dword [edi + 0x4ec]
mov dword [esp + 8], edx
pop edx
cmp al, 0x30
jne 0x8d342e
or dword [edi + 0x548], 0x40
jmp 0x8d3440
xor dword [esp], 0x15173120
mov esi, dword [esp]
add esp, 4
push ecx
mov ebx, 0x15173120
mov ecx, ebx
xor esi, ecx
pop ecx
add esi, 0x57d60f36
sub esi, 0x32ca0328
add esi, ebp
push ebx
mov ebx, 0x58541d56
mov eax, ebx
pop ebx
xor eax, 0x6d73057e
shr eax, 1
inc eax
jmp 0x8885e1
mov ebx, dword [esp]
add esp, 4
push 0x45b
mov dword [esp], eax
jmp 0x823b21