Function at 0x10012ca0
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10051bf0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xfd0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov al, byte [0x10067170]
mov byte [ebp - 0xb9], al
mov ecx, dword [0x10067134]
mov byte [ebp - 0x15], cl
mov edx, 0xffffe399
mov word [ebp - 0x1c], dx
mov byte [ebp - 0x13], 0xbf
movsx eax, word [0x10067198]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, 0xde21
mov word [ebp - 0x28], dx
mov byte [ebp - 0x11], 0x63
mov al, byte [0x1006719c]
mov byte [ebp - 0x16], al
mov ecx, dword [0x10067158]
mov dword [ebp - 0x30], ecx
mov dl, byte [0x10067158]
mov byte [ebp - 0x12], dl
mov ax, word [0x10067168]
mov word [ebp - 0x2c], ax
mov ecx, 0x5f
mov word [ebp - 0x24], cx
mov edx, dword [0x10067128]
mov dword [ebp - 0x4c], edx
xor eax, eax
mov dword [ebp - 0x5c], 0xea
mov dword [ebp - 0x58], eax
mov eax, dword [0x1006719c]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov cx, word [0x1006712c]
mov byte [ebp - 0x14], cl
xor edx, edx
mov dword [ebp - 0x64], 0x48
mov dword [ebp - 0x60], edx
mov eax, 0xfb9e
mov word [ebp - 0x20], ax
movzx eax, word [0x10067144]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [0x1006716c]
xor edx, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
movzx eax, word [0x10067154]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x10067150]
mov dword [ebp - 0x48], ecx
mov dx, word [0x10067154]
mov word [ebp - 0x7d8], dx
xor eax, eax
mov dword [ebp - 0xde0], 0xbc08
mov dword [ebp - 0xddc], eax
mov dword [ebp - 0xd4c], 0x78
xor ecx, ecx
mov dword [ebp - 0xde8], 0xa966
mov dword [ebp - 0xde4], ecx
xor edx, edx
mov dword [ebp - 0xdf0], 0x81af
mov dword [ebp - 0xdec], edx
mov dword [ebp - 0xd50], 0xc
mov eax, dword [0x1006719c]
mov dword [ebp - 0xd54], eax
movsx eax, byte [0x10067026]
cdq
mov dword [ebp - 0xdf8], eax
mov dword [ebp - 0xdf4], edx
movzx ecx, byte [0x1006704f]
test ecx, ecx
je 0x10013310
mov edx, dword [0x10067160]
or edx, dword [0x10067164]
jne 0x10012e56
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10012e56
mov dword [ebp - 0x52c], 0
jmp 0x10012e60
mov dword [ebp - 0x52c], 1
mov ecx, dword [ebp - 0x52c]
not ecx
test ecx, ecx
jne 0x10012e9d
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
mov dword [ebp - 0x7fc], edx
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7fc]
or ecx, dword [ebp - 0x7f8]
jne 0x10012e9d
mov dword [ebp - 0x530], 0
jmp 0x10012ea7
mov dword [ebp - 0x530], 1
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], edx
mov edx, dword [0x10067164]
cmp edx, dword [ebp - 0x800]
jg 0x10012ee1
jl 0x10012ed5
mov eax, dword [0x10067160]
cmp eax, dword [ebp - 0x804]
ja 0x10012ee1
mov dword [ebp - 0x534], 1
jmp 0x10012eeb
mov dword [ebp - 0x534], 0
mov ecx, dword [ebp - 0x530]
cmp ecx, dword [ebp - 0x534]
jge 0x100132ca
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
movzx eax, byte [0x10067063]
not eax
cdq
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x808], edx
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x810], esi
mov edx, dword [ebp - 0x80c]
cmp edx, dword [ebp - 0x814]
jne 0x10012f53
mov eax, dword [ebp - 0x808]
cmp eax, dword [ebp - 0x810]
jne 0x10012f53
mov dword [ebp - 0x538], 1
jmp 0x10012f5d
mov dword [ebp - 0x538], 0
movzx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x81c], eax
mov dword [ebp - 0x818], edx
mov ecx, dword [0x1006715c]
cmp ecx, dword [ebp - 0x818]
ja 0x10012f98
jb 0x10012f8c
mov edx, dword [0x10067158]
cmp edx, dword [ebp - 0x81c]
jae 0x10012f98
mov dword [ebp - 0x53c], 1
jmp 0x10012fa2
mov dword [ebp - 0x53c], 0
mov eax, dword [ebp - 0x538]
cmp eax, dword [ebp - 0x53c]
jg 0x10012fbc
mov dword [ebp - 0x540], 1
jmp 0x10012fc6
mov dword [ebp - 0x540], 0
mov ecx, dword [0x10067150]
cmp dword [ebp - 0x540], ecx
jge 0x1001326e
movzx edx, word [ebp - 0x2c]
movsx eax, byte [ebp - 0x15]
cmp eax, edx
jle 0x10012ff0
mov dword [ebp - 0x544], 1
jmp 0x10012ffa
mov dword [ebp - 0x544], 0
movsx ecx, byte [ebp - 0x15]
cmp ecx, 0x35
jle 0x1001300f
mov dword [ebp - 0x548], 1
jmp 0x10013019
mov dword [ebp - 0x548], 0
mov edx, dword [ebp - 0x544]
cmp edx, dword [ebp - 0x548]
jne 0x100130e4
movsx eax, word [0x1006712c]
shl eax, 8
mov dword [0x1006719c], eax
movzx ecx, word [ebp - 0x28]
add ecx, dword [0x10067134]
xor edx, edx
mov eax, dword [0x1006716c]
xor esi, esi
or eax, dword [ebp - 0x6c]
or esi, dword [ebp - 0x68]
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x820], edx
mov ecx, dword [ebp - 0x824]
or ecx, dword [ebp - 0x820]
jne 0x1001308a
xor edx, edx
mov dword [ebp - 0x82c], 1
mov dword [ebp - 0x828], edx
jmp 0x10013095
xorps xmm0, xmm0
movlpd qword [ebp - 0x82c], xmm0
movsx eax, byte [0x10067027]
cdq
mov ecx, dword [0x1006711c]
not ecx
add ecx, 0xc2984459
sub ecx, eax
add ecx, dword [ebp - 0x82c]
mov word [ebp - 0x20], cx
mov edx, dword [0x10067134]
add edx, dword [ebp - 0x6c]
mov eax, dword [0x10067134]
sub eax, edx
mov dword [0x10067134], eax
mov ecx, 1
imul edx, ecx, 0xa
mov al, byte [0x10067144]
mov byte [edx + 0x10096a68], al
jmp 0x1001326c
mov ecx, dword [0x10067160]
or ecx, dword [0x10067164]
je 0x10013183
movzx edx, word [0x10067144]
test edx, edx
je 0x10013114
movzx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], edx
jmp 0x10013126
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], ecx
mov dl, byte [ebp - 0x5c0]
mov byte [ebp - 0x13], dl
movzx eax, byte [str.OrOutput_of_signing]
test eax, eax
je 0x10013146
movsx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x54c], ecx
jmp 0x10013153
movzx edx, word [0x10067190]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x54c]
mov dword [0x1006719c], eax
mov ecx, dword [0x1006716c]
add ecx, 0x5b55e8d6
mov dword [0x1006719c], ecx
mov dx, word [0x10067c3c]
mov word [0x10067144], dx
jmp 0x1001326c
movsx eax, byte [0x10067026]
test eax, eax
je 0x10013196
movzx ecx, byte [ebp - 0x16]
test ecx, ecx
jne 0x100131f1
mov edx, dword [ebp - 0x30]
sub edx, 0x81b8
mov word [0x1006712c], dx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
push 0
push 0x71d7
push ecx
push eax
call fcn.100409b0
mov dword [0x1006716c], eax
xor edx, edx
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
and eax, dword [0x1006716c]
and ecx, edx
mov dword [0x10067178], eax
mov dword [0x1006717c], ecx
movzx eax, word [0x10067154]
cdq
mov edx, dword [ebp - 0x5c]
sub edx, eax
mov byte [ebp - 0x15], dl
jmp 0x1001326c
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x4c]
test eax, eax
jne 0x10013208
mov dword [ebp - 0x550], 1
jmp 0x10013212
mov dword [ebp - 0x550], 0
movzx ecx, byte [0x10067063]
movsx edx, word [ebp - 0x24]
not edx
cmp edx, ecx
jl 0x1001322f
mov dword [ebp - 0x184], 1
jmp 0x10013239
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x184]
jge 0x1001326c
mov ecx, 0xfa37
mov word [ebp - 0x28], cx
movzx edx, word [ebp - 0x2c]
imul edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
movzx eax, word [0x10067154]
cdq
add eax, 0xe74c5731
mov word [ebp - 0x24], ax
jmp 0x100132c8
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x834]
or edx, dword [ebp - 0x830]
je 0x100132c8
movzx eax, byte [0x1006706f]
movsx ecx, byte [ebp - 0x14]
imul ecx, eax
movsx edx, byte [ebp - 0x14]
imul edx, ecx
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, 0xa1ade
mov dword [0x10067180], 0xa4be7e70
mov dword [0x10067184], ecx
mov byte [0x1006704f], 1
jmp 0x1001330e
xor edx, edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
add eax, dword [ebp - 0x44]
adc ecx, edx
mov edx, dword [0x10067120]
mov esi, dword [0x10067124]
add edx, eax
adc esi, ecx
mov dword [0x10067120], edx
mov dword [0x10067124], esi
mov eax, dword [0x10067c3c]
mov dword [0x10067128], eax
mov ecx, dword [0x10067160]
add ecx, 1
mov byte [ebp - 0x16], cl
jmp 0x1001334e
mov edx, dword [0x1006716c]
add edx, 0xed
mov dword [0x10067140], edx
mov eax, dword [0x10067140]
cdq
add eax, 0xeaa94e92
mov dword [0x1006711c], eax
mov al, byte [0x10067c3c]
mov byte [0x10067027], al
xor ecx, ecx
mov dword [0x100671a8], 0xd
mov dword [0x100671ac], ecx
mov edx, dword [0x10067c3c]
mov dword [ebp - 0xcc], edx
movzx eax, word [ebp - 0x2c]
sub eax, 0x2becc7c9
cdq
mov ecx, dword [0x100671a0]
sub ecx, eax
mov eax, dword [0x100671a4]
sbb eax, edx
mov dword [0x100671a0], ecx
mov dword [0x100671a4], eax
cmp dword [0x1006711c], 0
je 0x1001339a
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], edx
jmp 0x100133ac
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x558]
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x44]
mov dword [0x10067150], edx
mov eax, dword [ebp - 0xcc]
add eax, 0x3bb
mov dword [ebp - 0x230], eax
mov dword [ebp - 0xc0], 0x1c4e
mov ecx, dword [0x10067188]
sub ecx, dword [0x10067138]
mov edx, dword [0x1006718c]
sbb edx, dword [0x1006713c]
and ecx, dword [0x10067188]
and edx, dword [0x1006718c]
mov dword [0x10067188], ecx
mov dword [0x1006718c], edx
movsx eax, byte [0x10067026]
test eax, eax
jne 0x10013429
mov dword [ebp - 0x188], 1
jmp 0x10013433
mov dword [ebp - 0x188], 0
mov ecx, dword [0x10067128]
add ecx, dword [str.Y__W1_]
mov esi, dword [ebp - 0x188]
imul esi, dword [ebp - 0x30]
add esi, ecx
not esi
movzx eax, byte [ebp - 0x16]
cdq
add eax, dword [ebp - 0x5c]
or eax, 0xdf3f7a5b
not eax
add eax, esi
mov word [0x10067190], ax
movzx edx, word [0x10067144]
imul eax, edx, 0x25577f86
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movsx eax, word [0x10067198]
test eax, eax
je 0x10013499
mov ecx, dword [0x1006711c]
xor edx, edx
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 0x5c4], edx
jmp 0x100134ab
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], ecx
mov dl, byte [ebp - 0x5c8]
mov byte [0x10067063], dl
cmp dword [ebp - 0xc0], 0x1aad
jle 0x10013618
movzx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x16]
cmp ecx, eax
je 0x100135c4
mov dword [ebp - 4], 0
movsx edx, byte [ebp - 0x14]
movzx eax, word [ebp - 0x2c]
add eax, edx
movzx ecx, word [ebp - 0x2c]
or ecx, eax
mov word [ebp - 0x2c], cx
movsx edx, byte [ebp - 0x14]
imul eax, edx, 0xdb
cdq
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
mov ax, word [0x10067144]
sub ax, 1
mov word [0x10067144], ax
jmp 0x100135b2
mov dword [ebp - 4], 0xffffffff
jmp 0x100135c2
jmp 0x10013604
movzx eax, word [ebp - 0x28]
test eax, eax
je 0x10013604
mov byte [ebp - 0x16], 0x45
movzx ecx, word [0x10067154]
sub ecx, dword [0x10067118]
movzx edx, word [0x10067154]
imul edx, ecx
mov word [0x10067154], dx
movsx eax, word [ebp - 0x1c]
sub eax, 0x60
mov byte [0x1006706f], al
movsx ecx, byte [ebp - 0x12]
xor ecx, dword [ebp - 0x44]
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0xc0]
sub edx, 1
mov dword [ebp - 0xc0], edx
jmp 0x100134b7
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0xc4], 0x2b6
jmp 0x10013642
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jle 0x10013842
movzx edx, word [ebp - 0x2c]
cmp edx, dword [0x10067194]
je 0x1001381f
mov byte [ebp - 0x12], 2
movsx eax, byte [ebp - 0x11]
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0xd58], edx
not ecx
movsx eax, word [0x1006712c]
and eax, 0x68
cdq
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [0x10067188], eax
mov dword [0x1006718c], ecx
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0xc8], dl
cmp byte [ebp - 0xc8], 0
je 0x100136d6
cmp byte [ebp - 0xc8], 1
je 0x10013740
cmp byte [ebp - 0xc8], 2
je 0x1001377a
jmp 0x1001381f
movsx eax, word [ebp - 0x24]
xor eax, 0xd1
mov dword [0x10067128], eax
mov ecx, dword [0x10067170]
add ecx, 0x91e0
mov edx, dword [0x10067174]
adc edx, 0
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov eax, dword [0x10067140]
cdq
push 0x6fef5
push 0x441fc3d4
push edx
push eax
call fcn.100409b0
mov ecx, eax
movzx eax, byte [0x10067063]
cdq
sub eax, ecx
mov byte [0x10067063], al
push 0
push 0x63
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.100409b0
mov dword [ebp - 0x44], eax
jmp 0x1001381f
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov edx, dword [ebp - 0x58]
adc edx, 0
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
movzx eax, word [ebp - 0x28]
movsx ecx, byte [ebp - 0x11]
mov edx, dword [ebp - 0x30]
sub edx, ecx
imul edx, eax
movzx eax, byte [ebp - 0x16]
imul eax, edx
mov byte [ebp - 0x14], al
movzx cx, byte [ebp - 0x16]
mov word [ebp - 0x20], cx
jmp 0x1001381f
movzx edx, word [0x10067190]
imul eax, edx, 0xe3
mov dword [0x1006711c], eax
cmp dword [ebp - 0x30], 0
jne 0x1001379e
mov dword [ebp - 0x190], 1
jmp 0x100137a8
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x5c]
or ecx, dword [ebp - 0x58]
jne 0x100137bc
mov dword [ebp - 0x194], 1
jmp 0x100137c6
mov dword [ebp - 0x194], 0
mov eax, dword [0x1006719c]
cdq
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
add ecx, eax
adc esi, edx
add ecx, dword [0x10067188]
adc esi, dword [0x1006718c]
movsx edx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x190]
sub eax, edx
or eax, dword [ebp - 0x194]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
not eax
not edx
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov eax, dword [ebp - 0x5c]
add eax, 0x80be
mov word [ebp - 0x2c], ax
mov ecx, dword [0x10067188]
add ecx, 1
mov edx, dword [0x1006718c]
adc edx, 0
mov dword [0x10067188], ecx
mov dword [0x1006718c], edx
jmp 0x10013633
mov eax, dword [ebp - 0xcc]
add eax, 0x24b
mov dword [ebp - 0xd5c], eax
cmp dword [0x1006711c], 0
je 0x10013ac3
xor ecx, ecx
mov dword [0x10067148], 3
mov dword [0x1006714c], ecx
movsx eax, word [0x1006712c]
cdq
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
and edx, ecx
and eax, esi
mov dword [0x10067178], edx
mov dword [0x1006717c], eax
xor ecx, ecx
mov dword [0x10067160], 0x4b0eb506
mov dword [0x10067164], ecx
movzx edx, word [ebp - 0x28]
add edx, 0x71b2d6a5
mov word [ebp - 0x20], dx
mov ax, word [0x10067144]
mov word [ebp - 0x28], ax
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0
jl 0x10013ac3
jg 0x10013902
cmp dword [ebp - 0x168], 0
jb 0x10013ac3
cmp dword [ebp - 0x164], 0
jg 0x10013ac3
jl 0x1001391e
cmp dword [ebp - 0x168], 3
ja 0x10013ac3
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xe00], eax
mov ecx, dword [ebp - 0xe00]
jmp dword [ecx*4 + 0x1001f350]
mov edx, dword [0x10067c3c]
mov dword [ebp - 0xd0], edx
mov byte [ebp - 0x11], 4
mov eax, dword [0x10067158]
sub eax, 0xb2639830
mov ecx, dword [0x1006715c]
sbb ecx, 0x86697
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
mov edx, dword [ebp - 0x44]
sub edx, 0xe38eb35b
mov dword [0x10067168], edx
mov eax, dword [ebp - 0xd0]
add eax, 0x207
mov dword [ebp - 0xa8], eax
movzx ecx, byte [0x1006704f]
movsx edx, byte [0x10067027]
or edx, ecx
mov dword [0x10067194], edx
movzx eax, word [0x10067190]
test eax, eax
je 0x10013b48
movzx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], edx
jmp 0x10013b5a
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x5d0], ecx
mov dword [ebp - 0x5cc], edx
mov al, byte [ebp - 0x5d0]
mov byte [str.OrOutput_of_signing], al
mov ecx, dword [ebp - 0xd0]
add ecx, 0x13e
mov dword [ebp - 0xd64], ecx
push 0x89
movzx edx, word [ebp - 0x4c]
push edx
push 0
push 0
movzx eax, word [ebp - 0x4c]
push eax
call fcn.10034ee0
cwde
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
cmp dword [0x100671a4], 0
ja 0x10013bbc
jb 0x10013bb0
cmp dword [0x100671a0], 0
ja 0x10013bbc
mov dword [ebp - 0x1a4], 1
jmp 0x10013bc6
mov dword [ebp - 0x1a4], 0
cmp dword [0x100671a4], 0
ja 0x10013be6
jb 0x10013bda
cmp dword [0x100671a0], 0x3a
ja 0x10013be6
mov dword [ebp - 0x1a8], 1
jmp 0x10013bf0
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a4]
cmp ecx, dword [ebp - 0x1a8]
jge 0x10013cae
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd68], eax
sub edx, 0x6f60206e
mov byte [0x10067063], dl
mov ecx, dword [ebp - 0x6c]
sub ecx, 0x2e
movzx eax, byte [0x10067063]
cdq
add eax, ecx
mov byte [0x10067063], al
jmp 0x10013c9e
mov dword [ebp - 4], 0xffffffff
jmp 0x10013cae
mov eax, dword [ebp - 0xd0]
add eax, 0x331
mov dword [ebp - 0xd6c], eax
push 0
push 0xadbc3f32
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call fcn.100409b0
mov ecx, dword [ebp - 0x48]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
cdq
add eax, dword [0x10067188]
adc edx, dword [0x1006718c]
mov ecx, dword [0x10067188]
sub ecx, eax
mov eax, dword [0x1006718c]
sbb eax, edx
mov dword [0x10067188], ecx
mov dword [0x1006718c], eax
movsx ecx, byte [0x10067027]
not ecx
movzx eax, word [ebp - 0x20]
add eax, ecx
cdq
push edx
push eax
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.100409b0
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], edx
mov ecx, dword [ebp - 0x844]
or ecx, dword [ebp - 0x840]
jne 0x10013d4d
mov byte [ebp - 0x75], 1
jmp 0x10013d51
mov byte [ebp - 0x75], 0
mov dl, byte [ebp - 0x75]
mov byte [ebp - 0x16], dl
mov eax, dword [0x10067c3c]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], 4
mov ecx, dword [0x1006711c]
push ecx
movzx edx, word [ebp - 0x30]
push edx
push 0
call fcn.100327b0
mov word [ebp - 0x160], ax
mov ax, word [ebp - 0x160]
mov word [0x10067190], ax
movzx ecx, word [0x10067190]
test ecx, ecx
jne 0x10013ea8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, dword [0x10067188]
adc eax, dword [0x1006718c]
mov dword [ebp - 0x84c], edx
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x84c]
or ecx, dword [ebp - 0x848]
je 0x10013e82
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 1
call fcn.100409f0
mov byte [ebp - 0x13], al
mov dx, word [0x10067c3c]
mov word [0x10067154], dx
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
jne 0x10013e01
mov dword [ebp - 0x1ac], 1
jmp 0x10013e0b
mov dword [ebp - 0x1ac], 0
mov ecx, dword [0x10067158]
or ecx, dword [0x1006715c]
jne 0x10013e2d
xor edx, edx
mov dword [ebp - 0x5d8], 1
mov dword [ebp - 0x5d4], edx
jmp 0x10013e38
xorps xmm0, xmm0
movlpd qword [ebp - 0x5d8], xmm0
push 0xeaa0c
push 0xa7f6b852
mov eax, dword [ebp - 0x5d4]
push eax
mov ecx, dword [ebp - 0x5d8]
push ecx
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
not eax
movzx edx, byte [0x1006706f]
add edx, dword [ebp - 0x1ac]
add eax, edx
not eax
cdq
add eax, ecx
adc edx, esi
mov dword [0x10067120], eax
mov dword [0x10067124], edx
jmp 0x10013ea6
mov eax, dword [0x10067170]
not eax
mov dword [0x1006719c], eax
movsx ecx, byte [ebp - 0x15]
add ecx, dword [ebp - 0x4c]
mov byte [ebp - 0x15], cl
mov dx, word [0x10067c3c]
mov word [0x10067154], dx
jmp 0x10013f03
movsx eax, word [ebp - 0x24]
test eax, eax
je 0x10013f03
movzx ecx, word [0x10067154]
shl ecx, 3
mov word [0x10067190], cx
movzx eax, word [0x10067144]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x64]
movzx eax, word [0x10067144]
cdq
sub eax, ecx
mov word [0x10067144], ax
xor edx, edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add eax, dword [0x10067134]
adc ecx, edx
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x10013f43
mov dword [ebp - 4], 0xffffffff
jmp 0x10013f53
mov eax, dword [ebp - 0xd4]
add eax, 0x259
mov dword [ebp - 0x100], eax
mov cl, byte [0x10067c3c]
mov byte [0x10067063], cl
mov eax, dword [0x10067140]
sar eax, 8
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 2
call fcn.10040ac0
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0xd4]
add edx, 0x331
mov dword [ebp - 0xd70], edx
movzx eax, byte [ebp - 0x16]
cdq
xor eax, dword [0x10067188]
mov dword [0x1006719c], eax
mov eax, dword [ebp - 0x5c]
xor eax, 0xe0
mov dword [ebp - 0x30], eax
mov ecx, 8
imul edx, ecx, 0x82c5
mov ax, word [edx + 0x10168268]
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x206
mov dword [ebp - 0xd74], ecx
mov edx, dword [0x10067c3c]
mov dword [ebp - 0xd8], edx
mov eax, 2
imul ecx, eax, 0x1414
movzx eax, word [ecx + 0x100a24a8]
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov edx, dword [0x10067c3c]
mov dword [0x10067118], edx
mov eax, dword [0x1006716c]
shl eax, 1
mov dword [0x10067194], eax
mov ecx, dword [0x10067188]
or ecx, dword [0x1006718c]
jne 0x10014045
mov dword [ebp - 0x1b0], 1
jmp 0x1001404f
mov dword [ebp - 0x1b0], 0
movsx edx, byte [ebp - 0x15]
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x1b0]
add eax, edx
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0xd8]
add ecx, 0x318
mov dword [ebp - 0x780], ecx
movsx eax, word [0x1006712c]
not eax
cdq
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x850], edx
mov edx, dword [0x1006715c]
cmp edx, dword [ebp - 0x850]
ja 0x100144c2
jb 0x100140af
mov eax, dword [0x10067158]
cmp eax, dword [ebp - 0x854]
jae 0x100144c2
movzx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x100143e3
mov byte [ebp - 0x11], 4
movsx edx, word [0x10067198]
test edx, edx
jne 0x100140de
xor eax, eax
mov dword [ebp - 0x85c], 1
mov dword [ebp - 0x858], eax
jmp 0x100140e9
xorps xmm0, xmm0
movlpd qword [ebp - 0x85c], xmm0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xd78], edx
xor ecx, dword [ebp - 0x85c]
mov word [ebp - 0x2c], cx
movsx eax, byte [ebp - 0x11]
add eax, dword [0x10067118]
imul eax, dword [ebp - 0x30]
cdq
mov dword [0x10067180], eax
mov dword [0x10067184], edx
movsx eax, byte [ebp - 0x11]
cdq
add eax, 0x27ced2f0
adc edx, 0xb299f
mov dword [0x10067160], eax
mov dword [0x10067164], edx
cmp dword [0x1006719c], 0
jne 0x10014151
xor eax, eax
mov dword [ebp - 0x5e0], 1
mov dword [ebp - 0x5dc], eax
jmp 0x1001415c
xorps xmm0, xmm0
movlpd qword [ebp - 0x5e0], xmm0
movsx eax, byte [0x10067026]
cdq
sub eax, dword [ebp - 0x5c]
mov esi, dword [0x10067134]
add esi, eax
mov ecx, dword [0x10067168]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
push edx
push ecx
push edi
push eax
call fcn.100409b0
push edx
push eax
mov ecx, dword [ebp - 0x5dc]
push ecx
mov edx, dword [ebp - 0x5e0]
push edx
call fcn.100409b0
and eax, esi
mov dword [ebp - 0x48], eax
movsx eax, byte [ebp - 0x11]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 4
ja case.default.0x100141bd
mov ecx, dword [ebp - 0x1b4]
jmp dword [ecx*4 + 0x1001f360]
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
je 0x100141db
movsx eax, word [0x1006712c]
mov dword [ebp - 0x1b8], eax
jmp 0x100141e7
mov ecx, dword [0x10067168]
mov dword [ebp - 0x1b8], ecx
mov dl, byte [ebp - 0x1b8]
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], ecx
mov edx, dword [ebp - 0x864]
or edx, dword [ebp - 0x860]
je 0x10014229
mov eax, dword [0x10067148]
mov ecx, dword [0x1006714c]
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], ecx
jmp 0x10014239
mov eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov dl, byte [ebp - 0x5e8]
mov byte [ebp - 0x13], dl
movsx eax, word [0x1006712c]
add eax, 0xce
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp case.default.0x100141bd
movsx eax, byte [ebp - 0x12]
imul ecx, eax, 0x9e64
mov byte [ebp - 0x12], cl
mov edx, 0x6f3e
mov word [ebp - 0x2c], dx
xor eax, eax
mov dword [0x10067138], 0x643f
mov dword [0x1006713c], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x44
push edx
push ecx
call fcn.100409b0
add eax, dword [0x10067158]
adc edx, dword [0x1006715c]
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
jmp case.default.0x100141bd
movsx eax, byte [ebp - 0x13]
movsx ecx, byte [0x10067027]
sub ecx, eax
mov dl, byte [0x10067027]
shl dl, cl
mov byte [0x10067027], dl
movsx eax, byte [ebp - 0x14]
imul ecx, eax, 0xa21e8a99
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x86c], edx
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x86c]
or ecx, dword [ebp - 0x868]
je 0x1001430c
mov edx, dword [0x1006716c]
xor eax, eax
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x55c], eax
jmp 0x1001431e
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x55c]
mov dword [0x10067188], eax
mov dword [0x1006718c], ecx
jmp case.default.0x100141bd
mov edx, dword [0x10067138]
sub edx, 0x5c3d26c
mov byte [0x1006704f], dl
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
sub eax, 0x6df9
sbb ecx, 0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
push 0xb0876
push 0xf0d3bcd0
push eax
push edx
call fcn.100409b0
mov byte [ebp - 0x15], al
jmp case.default.0x100141bd
mov cx, word [0x10067160]
mov word [ebp - 0x24], cx
imul edx, dword [0x10067150], 0x9354b153
xor eax, eax
mov dword [0x10067138], edx
mov dword [0x1006713c], eax
mov ecx, dword [0x10067160]
or ecx, dword [0x10067164]
je 0x100143bd
movsx edx, byte [ebp - 0x11]
mov dword [ebp - 0x1bc], edx
jmp 0x100143c8
mov eax, dword [0x10067118]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [0x10067140], ecx
movsx edx, word [ebp - 0x24]
sar edx, 2
mov dword [ebp - 0x48], edx
jmp 0x100144bd
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x870], edx
mov dword [ebp - 0x87c], ecx
mov dword [ebp - 0x878], esi
mov edx, dword [ebp - 0x870]
cmp edx, dword [ebp - 0x878]
jb 0x10014430
ja 0x10014424
mov eax, dword [ebp - 0x874]
cmp eax, dword [ebp - 0x87c]
jb 0x10014430
mov dword [ebp - 0x1c0], 1
jmp 0x1001443a
mov dword [ebp - 0x1c0], 0
movsx ecx, word [0x10067198]
movzx edx, word [ebp - 0x20]
cmp edx, ecx
jl 0x10014455
mov dword [ebp - 0x1c4], 1
jmp 0x1001445f
mov dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c0]
and eax, dword [ebp - 0x1c4]
jne 0x100144bd
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x276a696a
push edx
push ecx
call fcn.100409b0
mov byte [str.OrOutput_of_signing], al
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, eax
mov eax, dword [0x10067148]
mov edx, dword [0x1006714c]
call fcn.100409f0
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
jmp 0x10014550
movsx eax, word [ebp - 0x1c]
cdq
sub eax, 0xc23b1e43
sbb edx, 0xefd0d
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
mov edx, 2
imul eax, edx, 0xa8
movsx eax, word [eax + 0x10077508]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x44], 0
jne 0x10014508
mov dword [ebp - 0x1c8], 1
jmp 0x10014512
mov dword [ebp - 0x1c8], 0
movzx eax, word [ebp - 0x20]
imul eax, dword [ebp - 0x1c8]
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
xor ecx, dword [0x10067160]
xor edx, dword [0x10067164]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 0x15d
mov dword [ebp - 0xd7c], ecx
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov cl, 6
call fcn.10040a10
mov word [0x10067144], ax
movsx edx, byte [ebp - 0x15]
test edx, edx
je 0x10014593
movzx eax, word [0x10067154]
mov dword [ebp - 0x1cc], eax
jmp 0x1001459d
movsx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x1cc], ecx
mov eax, dword [ebp - 0x1cc]
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x100145ed
mov dword [ebp - 4], 0xffffffff
jmp 0x100145fd
mov ecx, dword [ebp - 0xd8]
add ecx, 0x49
mov dword [ebp - 0x784], ecx
movzx eax, word [ebp - 0x20]
xor eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0x884], eax
mov dword [ebp - 0x880], edx
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x880]
ja 0x10014644
jb 0x10014638
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x884]
ja 0x10014644
mov dword [ebp - 0x1d0], 1
jmp 0x1001464e
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1d0]
not ecx
test ecx, ecx
je 0x100146a4
cmp dword [0x10067134], 0
jne 0x100146a4
movsx edx, byte [ebp - 0x13]
movzx eax, word [0x10067154]
add eax, edx
mov word [0x10067154], ax
movsx eax, byte [ebp - 0x12]
shl eax, 4
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movzx eax, word [ebp - 0x20]
cdq
push 0xef3ac
push 0x1db43ab2
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x48], eax
jmp 0x1001471a
movsx ecx, byte [0x10067026]
test ecx, ecx
je 0x1001471a
mov edx, dword [0x10067180]
sub edx, 0xa6
mov eax, dword [0x10067184]
sbb eax, 0
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov ecx, dword [0x10067180]
or ecx, dword [0x10067184]
je 0x100146eb
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5f0], edx
mov dword [ebp - 0x5ec], eax
jmp 0x10014703
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x5ec], edx
mov al, byte [ebp - 0x5f0]
mov byte [ebp - 0x13], al
mov ecx, dword [0x10067c3c]
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov eax, dword [0x10067c3c]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], 0xaf9
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10014743
mov dword [ebp - 0x1d4], 1
jmp 0x1001474d
mov dword [ebp - 0x1d4], 0
movsx edx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x1d4]
sub eax, edx
jne 0x10014767
mov dword [ebp - 0x1dc], 1
jmp 0x10014771
mov dword [ebp - 0x1dc], 0
movsx ecx, word [0x1006712c]
test ecx, ecx
jne 0x10014788
mov dword [ebp - 0x1d8], 1
jmp 0x10014792
mov dword [ebp - 0x1d8], 0
movzx eax, byte [0x1006706f]
not eax
imul eax, dword [ebp - 0x1d8]
and eax, dword [ebp - 0x1dc]
cdq
mov ecx, eax
movsx eax, word [0x1006712c]
cdq
sub eax, dword [0x100671a0]
xor eax, ecx
mov dword [str.Y__W1_], eax
mov edx, dword [ebp - 0x5c]
add edx, 0x2c
mov word [0x1006712c], dx
movzx eax, word [ebp - 0x20]
cdq
push edx
push eax
mov eax, dword [0x10067174]
push eax
mov ecx, dword [0x10067170]
push ecx
call fcn.100409b0
add eax, dword [0x10067170]
adc edx, dword [0x10067174]
mov dword [0x10067170], eax
mov dword [0x10067174], edx
cmp dword [ebp - 0xdc], 0x916
jle 0x10014873
movzx edx, byte [0x10067063]
movzx eax, word [ebp - 0x28]
add eax, edx
not eax
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov eax, dword [0x10067160]
sub eax, 0x8f22b13
mov ecx, dword [0x10067164]
sbb ecx, 0
mov dword [0x10067188], eax
mov dword [0x1006718c], ecx
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov edx, dword [ebp - 0xdc]
sub edx, 1
mov dword [ebp - 0xdc], edx
jmp 0x100147fd
mov eax, dword [ebp - 0xe0]
add eax, 0x1c1
mov dword [ebp - 0x410], eax
movzx eax, byte [0x1006706f]
cdq
push 0x167f0
push 0x602733e4
push edx
push eax
call fcn.100409b0
mov byte [0x10067027], al
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x48]
xor ecx, dword [0x10067138]
sub ecx, eax
mov byte [ebp - 0x11], cl
cmp dword [ebp - 0x4c], 0
je 0x100148cf
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5f8], edx
mov dword [ebp - 0x5f4], eax
jmp 0x100148e1
mov eax, dword [0x10067128]
cdq
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], edx
mov ecx, dword [ebp - 0x5f8]
mov dword [0x10067134], ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x3b6
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
xor esi, esi
mov dword [ebp - 0x88c], edx
mov dword [ebp - 0x888], esi
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x890], ecx
mov eax, dword [ebp - 0x888]
cmp eax, dword [ebp - 0x890]
jg 0x10014b43
jl 0x10014948
mov ecx, dword [ebp - 0x88c]
cmp ecx, dword [ebp - 0x894]
jae 0x10014b43
movsx edx, word [0x1006712c]
movsx eax, word [0x1006712c]
cmp eax, edx
jl 0x10014966
mov dword [ebp - 0x1e0], 1
jmp 0x10014970
mov dword [ebp - 0x1e0], 0
movsx ecx, word [0x1006712c]
cmp ecx, 0x5e
jl 0x10014988
mov dword [ebp - 0x1e4], 1
jmp 0x10014992
mov dword [ebp - 0x1e4], 0
mov edx, dword [ebp - 0x1e0]
cmp edx, dword [ebp - 0x1e4]
jg 0x10014b41
cmp dword [ebp - 0x30], 0
je 0x10014b41
mov dword [0x10067140], 1
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x74]
adc edx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
push 0x153e5
push 0xaca23a70
push ecx
push eax
call fcn.100409b0
mov word [ebp - 0x24], ax
mov eax, dword [0x10067118]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
mov eax, dword [0x10067118]
cdq
xor eax, ecx
mov dword [0x10067118], eax
movsx edx, byte [ebp - 0x11]
imul eax, edx, 0x32
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov eax, dword [0x10067140]
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0
je 0x10014a37
cmp dword [ebp - 0x1e8], 1
je 0x10014ab4
jmp 0x10014b41
mov cx, word [0x10067c3c]
mov word [ebp - 0x2c], cx
movzx edx, word [ebp - 0x28]
sub edx, 0x7ec2a7a7
mov dword [ebp - 0x48], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
not eax
not ecx
mov edx, dword [ebp - 0x48]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx edx, byte [ebp - 0x12]
movsx eax, byte [ebp - 0x11]
sub eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
movzx eax, word [0x10067190]
cdq
sub eax, ecx
not eax
mov word [ebp - 0x20], ax
movsx eax, byte [ebp - 0x15]
cdq
push 0x64717
push 0x393b0867
push edx
push eax
call fcn.100409b0
mov byte [ebp - 0x15], al
jmp 0x10014b41
mov edx, dword [ebp - 0x64]
sub edx, 0xdf
mov byte [str.OrOutput_of_signing], dl
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x10014adf
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], edx
jmp 0x10014af6
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], ecx
mov edx, dword [ebp - 0x568]
mov eax, dword [ebp - 0x564]
mov dword [0x10067120], edx
mov dword [0x10067124], eax
movzx ecx, byte [str.OrOutput_of_signing]
movzx edx, word [ebp - 0x2c]
sub edx, ecx
mov word [ebp - 0x2c], dx
imul eax, dword [str.Y__W1_], 0xbd597e57
xor ecx, ecx
add eax, dword [0x10067170]
adc ecx, dword [0x10067174]
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
jmp 0x10014baf
mov edx, dword [0x10067158]
or edx, dword [0x1006715c]
je 0x10014baf
push 0
push 0x688276bb
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.100409b0
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xd80], eax
mov word [0x1006712c], dx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x5c]
adc edx, dword [ebp - 0x58]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
mov eax, dword [0x10067168]
xor ecx, ecx
mov edx, dword [0x100671a4]
push edx
mov edx, dword [0x100671a0]
push edx
push ecx
push eax
call fcn.100409b0
mov dword [0x10067168], eax
mov eax, dword [ebp - 0xe0]
add eax, 0x25b
mov dword [ebp - 0x414], eax
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x89c]
or eax, dword [ebp - 0x898]
je 0x10014c13
movsx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
sub edx, ecx
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x10067180]
sub ecx, 0x94
mov dword [ebp - 0x30], ecx
movsx edx, byte [ebp - 0x12]
and edx, dword [0x10067134]
mov byte [ebp - 0x12], dl
mov dword [ebp - 0x30], 2
mov eax, dword [0x10067180]
add eax, 1
mov ecx, dword [0x10067184]
adc ecx, 0
mov dword [0x10067180], eax
mov dword [0x10067184], ecx
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [0x10067188]
add ecx, dword [0x10067160]
movzx eax, byte [ebp - 0x16]
not eax
cdq
add eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xe4], 0
je 0x10014c8a
cmp dword [ebp - 0xe4], 1
je 0x10014d0c
cmp dword [ebp - 0xe4], 2
je 0x10014d45
jmp 0x10014d86
movsx eax, word [ebp - 0x24]
movsx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
sub ecx, eax
sbb esi, edx
mov dword [0x10067120], ecx
mov dword [0x10067124], esi
movzx eax, byte [0x1006704f]
cdq
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
sub ecx, eax
sbb esi, edx
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
movsx eax, word [ebp - 0x24]
cdq
push edx
push eax
mov edx, dword [0x100671a4]
push edx
mov eax, dword [0x100671a0]
push eax
call fcn.100409b0
not eax
not edx
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
jmp 0x10014d86
mov edx, dword [0x1006716c]
shl edx, 3
mov dword [ebp - 0x44], edx
movsx eax, byte [ebp - 0x14]
sub eax, 0xc89d
mov byte [0x10067063], al
movsx eax, byte [0x10067026]
add eax, 0x8c81
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x48]
sub ecx, 0x2a
mov word [ebp - 0x24], cx
jmp 0x10014d86
mov dword [ebp - 0x48], 0x732119da
movsx edx, word [ebp - 0x1c]
imul edx, dword [ebp - 0x44]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
movsx eax, word [ebp - 0x24]
sub eax, dword [0x10067128]
mov word [ebp - 0x24], ax
mov eax, dword [0x10067170]
mov edx, dword [0x10067174]
mov cl, 1
call fcn.10040a10
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8a0], edx
mov ecx, dword [ebp - 0x8a0]
cmp ecx, dword [ebp - 0x58]
ja 0x10014de1
jb 0x10014daf
mov edx, dword [ebp - 0x8a4]
cmp edx, dword [ebp - 0x5c]
jae 0x10014de1
movzx eax, byte [ebp - 0x16]
cdq
push 0x2c881
push 0x41a75b25
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x20]
imul ecx, eax, 0x927a
movzx edx, word [ebp - 0x28]
and edx, ecx
mov word [ebp - 0x28], dx
jmp 0x10014e3c
mov eax, dword [0x10067148]
mov ecx, dword [0x1006714c]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0x8ac]
cmp edx, dword [0x100671a0]
jne 0x10014e14
mov eax, dword [ebp - 0x8a8]
cmp eax, dword [0x100671a4]
je 0x10014e3c
mov cl, byte [ebp - 0x11]
sub cl, 1
mov byte [ebp - 0x11], cl
mov dl, byte [0x10067c3c]
mov byte [0x10067027], dl
movsx eax, byte [ebp - 0x13]
sub eax, 0x327f864b
movsx ecx, word [ebp - 0x1c]
sub ecx, eax
mov word [ebp - 0x1c], cx
movsx edx, byte [ebp - 0x14]
mov eax, dword [0x10067140]
sub eax, edx
mov dword [0x1006711c], eax
mov ecx, 0xffffc85e
mov word [ebp - 0x1c], cx
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
sub edx, 1
sbb eax, 0
mov dword [0x10067148], edx
mov dword [0x1006714c], eax
mov ecx, dword [ebp - 0x6c]
mov dword [0x10067194], ecx
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0xe8], 0x25
movsx edx, byte [ebp - 0x15]
add edx, 0xa0de
mov byte [0x10067027], dl
movzx eax, byte [str.OrOutput_of_signing]
xor eax, 0x2e
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [0x1006712c]
movsx ecx, word [ebp - 0x24]
not ecx
sub ecx, eax
mov word [0x10067144], cx
mov eax, dword [ebp - 0x30]
cdq
push 0xe32f4
push 0xc2eb9c96
push edx
push eax
call fcn.100409b0
mov dword [0x10067140], eax
mov edx, dword [0x10067c3c]
mov dword [0x10067140], edx
movsx eax, word [ebp - 0x24]
sub eax, 0x5c
mov word [ebp - 0x2c], ax
movzx eax, byte [0x1006704f]
cdq
mov ecx, 8
imul edx, ecx, 0x6f
and eax, dword [edx + 0x100b61a0]
mov byte [0x1006704f], al
mov eax, dword [ebp - 0x30]
cdq
mov ecx, eax
add ecx, 0x41724e1a
mov eax, dword [ebp - 0x30]
cdq
sub eax, ecx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
cmp dword [ebp - 0xe8], 0x124f
jl 0x10014edf
mov dword [ebp - 0x394], 0
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x8b4]
or edx, dword [ebp - 0x8b0]
je 0x10014f75
jmp 0x1001501a
cmp dword [0x10067140], 0
jne 0x10014f8a
mov dword [ebp - 0x1ec], 1
jmp 0x10014f94
mov dword [ebp - 0x1ec], 0
movsx eax, byte [0x10067027]
cmp dword [ebp - 0x1ec], eax
jg 0x1001501a
movzx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x10014fc4
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov dword [ebp - 0x600], edx
mov dword [ebp - 0x5fc], eax
jmp 0x10014fd6
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x48], eax
movsx ecx, word [0x1006712c]
xor ecx, dword [str.Y__W1_]
mov word [0x1006712c], cx
mov edx, dword [str.Y__W1_]
add edx, 1
mov dword [str.Y__W1_], edx
movzx eax, byte [0x1006706f]
movsx ecx, word [ebp - 0x1c]
sub ecx, eax
movsx edx, word [ebp - 0x1c]
imul edx, ecx
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x4c]
not eax
cdq
mov ecx, dword [0x10067180]
not ecx
mov esi, dword [0x10067184]
not esi
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x24]
cdq
mov edi, dword [0x100671a0]
sub edi, eax
mov eax, dword [0x100671a4]
sbb eax, edx
push esi
push ecx
push eax
push edi
call fcn.100409b0
mov ecx, dword [0x1006714c]
mov esi, dword [0x1006716c]
xor edi, edi
sub esi, dword [0x10067148]
sbb edi, ecx
mov ecx, dword [0x10067194]
xor ebx, ebx
add ecx, esi
adc ebx, edi
sub ecx, eax
sbb ebx, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ebx
movsx edx, byte [ebp - 0x15]
add edx, dword [0x10067194]
mov dword [0x10067134], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x8bc]
or edx, dword [ebp - 0x8b8]
je 0x100150db
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
jmp 0x100150ef
movsx eax, byte [0x10067026]
cdq
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
mov edx, dword [ebp - 0x570]
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
jmp 0x10015139
mov dword [ebp - 4], 0xffffffff
jmp 0x10015149
movsx eax, byte [0x10067026]
cdq
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c0], edx
mov eax, dword [ebp - 0x8c0]
cmp eax, dword [0x1006715c]
ja 0x100151b0
jb 0x1001517b
mov ecx, dword [ebp - 0x8c4]
cmp ecx, dword [0x10067158]
jae 0x100151b0
mov eax, dword [0x10067128]
cdq
sub eax, 0x32a25be6
mov byte [ebp - 0x16], al
mov edx, 0x7ed4
mov word [0x10067190], dx
mov eax, dword [ebp - 0x64]
sub eax, 0x83eefc6a
mov byte [ebp - 0x12], al
movsx eax, byte [ebp - 0x13]
add eax, 0x22fa
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x228], 0
movzx ecx, word [0x10067154]
cmp dword [0x10067168], ecx
je 0x100151d5
mov dword [ebp - 0x1f4], 1
jmp 0x100151df
mov dword [ebp - 0x1f4], 0
cmp dword [ebp - 0x48], 0
jne 0x100151ff
mov edx, dword [0x10067160]
or edx, dword [0x10067164]
jne 0x100151ff
mov dword [ebp - 0x1f0], 0
jmp 0x10015209
mov dword [ebp - 0x1f0], 1
cmp dword [ebp - 0x1f0], 0
jg 0x1001521e
mov dword [ebp - 0x1f8], 1
jmp 0x10015228
mov dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x1f4]
imul eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x1f8]
jge 0x100152ea
movzx ecx, byte [ebp - 0x16]
not ecx
movzx edx, byte [0x1006706f]
not edx
sub edx, ecx
sub edx, dword [0x10067118]
jne 0x10015263
mov dword [ebp - 0x1fc], 1
jmp 0x1001526d
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
mov dword [str.Y__W1_], eax
mov cx, word [ebp - 0x20]
add cx, 1
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x64]
or edx, dword [ebp - 0x60]
jne 0x100152a0
xor eax, eax
mov dword [ebp - 0x8cc], 1
mov dword [ebp - 0x8c8], eax
jmp 0x100152ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x8cc], xmm0
mov ecx, dword [0x10067194]
mov esi, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xd84], edx
mov eax, dword [0x10067118]
cdq
sub eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x8cc]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
xor edx, edx
mov dword [0x10067188], 0x83
mov dword [0x1006718c], edx
mov dword [ebp - 0x7e8], 0
mov eax, dword [0x1006719c]
add eax, 0x62de02de
cdq
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
add ecx, eax
adc esi, edx
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
mov byte [ebp - 0x14], 0xe
movzx eax, byte [ebp - 0x16]
sub eax, 0x2bd4
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x390], 0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
cmp dword [0x10067140], 0
je 0x10015372
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x200], edx
jmp 0x1001537c
movsx eax, byte [ebp - 0x13]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [0x1006704f]
sub eax, 0xcf
cdq
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov byte [ebp - 0x12], 0x46
mov dword [ebp - 0x798], 0
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [0x1006716c]
jbe 0x100153c6
mov dword [ebp - 0x204], 1
jmp 0x100153d0
mov dword [ebp - 0x204], 0
cmp dword [ebp - 0x30], 0x12
jle 0x100153e2
mov dword [ebp - 0x208], 1
jmp 0x100153ec
mov dword [ebp - 0x208], 0
mov edx, dword [ebp - 0x204]
cmp edx, dword [ebp - 0x208]
jne 0x100156e3
movsx eax, byte [ebp - 0x13]
cmp dword [0x10067134], eax
jae 0x10015416
mov dword [ebp - 0x20c], 1
jmp 0x10015420
mov dword [ebp - 0x20c], 0
cmp dword [0x10067134], 0x64
jae 0x10015435
mov dword [ebp - 0x210], 1
jmp 0x1001543f
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [ebp - 0x210]
jle 0x1001557f
movsx edx, byte [0x10067027]
test edx, edx
je 0x100154ef
mov dword [ebp - 4], 0xa
movsx eax, byte [ebp - 0x12]
imul eax, dword [0x1006711c]
mov ecx, dword [0x10067134]
xor ecx, eax
mov byte [0x1006704f], cl
movzx edx, word [0x10067190]
mov eax, dword [0x10067150]
sub eax, edx
mov dword [0x10067150], eax
jmp 0x100154da
mov dword [ebp - 4], 0xffffffff
jmp 0x100154ea
jmp 0x1001557a
movzx eax, byte [0x1006704f]
cmp eax, dword [0x10067128]
jl 0x1001550a
mov dword [ebp - 0x218], 1
jmp 0x10015514
mov dword [ebp - 0x218], 0
cmp dword [ebp - 0x30], 0
jne 0x10015526
mov dword [ebp - 0x214], 1
jmp 0x10015530
mov dword [ebp - 0x214], 0
movzx ecx, byte [0x1006704f]
imul ecx, dword [ebp - 0x214]
cmp dword [ebp - 0x218], ecx
jge 0x1001557a
mov edx, dword [0x10067194]
sub edx, 0x1e4d695b
mov dword [0x10067194], edx
mov eax, dword [0x10067150]
sub eax, 0x469e
mov dword [ebp - 0x30], eax
mov eax, dword [0x10067188]
mov edx, dword [0x1006718c]
mov cl, 1
call fcn.100409f0
mov byte [ebp - 0x11], al
jmp 0x100156e1
mov ecx, dword [ebp - 0x64]
not ecx
mov edx, dword [ebp - 0x60]
not edx
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x8d4]
jne 0x100155af
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x8d0]
je 0x10015666
mov dl, byte [0x10067c3c]
mov byte [str.OrOutput_of_signing], dl
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x100155cf
mov dword [ebp - 0x21c], 1
jmp 0x100155d9
mov dword [ebp - 0x21c], 0
mov eax, dword [0x10067118]
cdq
add eax, dword [ebp - 0x5c]
adc edx, dword [ebp - 0x58]
mov ecx, dword [0x10067194]
or ecx, dword [ebp - 0x21c]
mov esi, ecx
xor edi, edi
and esi, eax
and edi, edx
mov ecx, dword [0x10067188]
and ecx, dword [0x10067170]
mov ebx, dword [0x1006718c]
and ebx, dword [0x10067174]
movzx eax, word [0x10067190]
cdq
push ebx
push ecx
push edx
push eax
call fcn.100409b0
push edi
push esi
push edx
push eax
call fcn.100409b0
mov dword [0x10067128], eax
movzx edx, byte [0x10067063]
test edx, edx
je 0x10015647
movzx eax, word [ebp - 0x28]
mov dword [ebp - 0x220], eax
jmp 0x10015651
movsx ecx, byte [ebp - 0x14]
mov dword [ebp - 0x220], ecx
mov dl, byte [ebp - 0x220]
mov byte [ebp - 0x13], dl
mov eax, dword [0x10067c3c]
mov dword [0x10067168], eax
jmp 0x100156e1
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8dc]
or eax, dword [ebp - 0x8d8]
jne 0x100156a6
mov ecx, dword [0x10067170]
or ecx, dword [0x10067174]
jne 0x100156a6
mov dword [ebp - 0x224], 1
jmp 0x100156b0
mov dword [ebp - 0x224], 0
mov edx, dword [ebp - 0x224]
cmp edx, dword [ebp - 0x30]
jge 0x100156e1
movzx eax, word [ebp - 0x2c]
movsx ecx, word [0x10067198]
not ecx
xor eax, ecx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [ebp - 0x14]
and eax, 0x5672e22e
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
jmp 0x10015749
movzx edx, byte [0x1006704f]
test edx, edx
jne 0x10015749
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10015710
mov ecx, dword [0x10067170]
mov edx, dword [0x10067174]
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], edx
jmp 0x10015720
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edx
mov eax, dword [ebp - 0x608]
mov dword [0x10067140], eax
mov cx, word [0x10067170]
mov word [0x1006712c], cx
movzx edx, word [ebp - 0x20]
sub edx, 0x994d
mov byte [0x10067026], dl
mov dword [ebp - 0x4a4], 0
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x64]
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xd88], eax
xor edx, 0xf8cd50e5
mov dword [ebp - 0x48], edx
mov ecx, dword [0x10067138]
not ecx
mov edx, dword [0x1006713c]
not edx
mov eax, dword [ebp - 0x64]
not eax
mov esi, dword [ebp - 0x60]
not esi
xor eax, ecx
xor esi, edx
not eax
not esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], esi
mov eax, dword [0x10067180]
mov edx, dword [0x10067184]
mov cl, 5
call fcn.100409f0
mov dword [0x10067118], eax
mov dword [ebp - 0x7bc], 0
xor ecx, ecx
mov byte [ebp - 0x7e], cl
lea edx, [ebp - 0xf60]
push edx
lea ecx, [ebp - 0x7e]
call fcn.10002760
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0
jmp 0x100157fa
mov eax, dword [ebp - 0x8c]
add eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x1e
jae 0x1001585c
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x90]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x7dc]
movzx ecx, word [eax]
xor ecx, edx
mov word [ebp - 0x15e], cx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x7e0]
mov ax, word [ebp - 0x15e]
mov word [edx], ax
jmp 0x100157eb
mov ecx, 0x1e
shl ecx, 1
mov edx, dword [ebp - 0x90]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x7e4], eax
xor ecx, ecx
mov edx, dword [ebp - 0x7e4]
mov word [edx], cx
mov eax, dword [ebp - 0x90]
add eax, 2
mov dword [ebp - 0x7ec], eax
lea ecx, [ebp - 0x7e8]
push ecx
lea edx, [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x7ec]
push eax
call fcn.1000a640
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
not ecx
not edx
mov dword [ebp - 0x8e4], ecx
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x8e4]
or eax, dword [ebp - 0x8e0]
je 0x10015a12
mov dword [ebp - 0xec], 0x2461
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x1c]
add eax, 0x716b
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x1c]
sub ecx, 0xbda3
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0xec], 0x23bc
jle 0x10015a10
xor edx, edx
mov dword [0x100671a8], 1
mov dword [0x100671ac], edx
xor eax, eax
mov dword [ebp - 0x64], 0xd887358e
mov dword [ebp - 0x60], eax
mov cx, word [0x10067c3c]
mov word [ebp - 0x28], cx
mov dword [ebp - 0x48], 2
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x578]
or ecx, dword [ebp - 0x574]
je 0x1001597a
cmp dword [ebp - 0x578], 1
jne 0x10015975
cmp dword [ebp - 0x574], 0
je 0x100159c5
jmp 0x100159fc
movsx edx, word [ebp - 0x1c]
add edx, dword [0x10067194]
mov dword [0x10067194], edx
mov eax, dword [0x10067178]
mov edx, dword [0x1006717c]
mov cl, 7
call fcn.10040ac0
mov dword [str.Y__W1_], eax
xor eax, eax
mov dword [0x10067148], 0x77cff24e
mov dword [0x1006714c], eax
mov eax, dword [0x10067140]
cdq
add eax, dword [0x10067188]
mov dword [0x10067140], eax
jmp 0x100159fc
movsx ecx, byte [ebp - 0x12]
movzx edx, byte [0x1006706f]
xor edx, ecx
mov byte [0x1006706f], dl
movzx eax, byte [0x10067063]
imul ecx, eax, 0xf6
mov word [ebp - 0x2c], cx
mov edx, dword [0x10067128]
imul edx, dword [0x10067140]
mov dword [0x10067128], edx
mov eax, dword [ebp - 0xec]
sub eax, 1
mov dword [ebp - 0xec], eax
jmp 0x100158fe
jmp 0x10015a81
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x10015a41
movsx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e8], edx
mov edx, dword [ebp - 0x8ec]
cmp edx, dword [ebp - 0x64]
jne 0x10015a41
mov eax, dword [ebp - 0x8e8]
cmp eax, dword [ebp - 0x60]
je 0x10015a81
mov cl, byte [ebp - 0x6c]
mov byte [ebp - 0x14], cl
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
not ecx
not esi
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x5c]
and edx, dword [0x10067158]
mov eax, dword [ebp - 0x58]
and eax, dword [0x1006715c]
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x228]
push edx
call fcn.10027f20
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
push 0x14
push 0x100533f8
call fcn.1001f660
push 0x40
mov edx, dword [ebp - 0xf4]
push edx
lea eax, [ebp - 0xea0]
push eax
call fcn.10022000
mov eax, dword [0x1006719c]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
xor ecx, eax
xor esi, edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0xf4
mov edx, dword [ebp - 0x4c]
sub edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, 0x2c0a
mov word [ebp - 0x24], ax
mov ecx, 0x3dd
sub ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x230]
sub edx, dword [ebp - 0x230]
cmp edx, ecx
je 0x10018a76
mov eax, 0xffffff3d
test eax, eax
je 0x10015b6e
movzx ecx, word [0x10067154]
sub ecx, 0x73c9
mov byte [ebp - 0x11], cl
mov edx, dword [0x10067194]
xor eax, eax
and edx, dword [ebp - 0x6c]
and eax, dword [ebp - 0x68]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov cx, word [0x10067c3c]
mov word [0x1006712c], cx
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x5947
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov byte [0x1006706f], 1
mov eax, dword [ebp - 0x48]
xor eax, 0xe844
mov word [ebp - 0x2c], ax
mov ecx, dword [0x10067138]
add ecx, 0xf0
mov byte [str.OrOutput_of_signing], cl
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
mov dword [ebp - 0xd8c], eax
and edx, 0x29389147
mov word [ebp - 0x20], dx
mov ecx, 2
imul edx, ecx, 0x8547
mov ax, word [0x1006719c]
mov word [edx + 0x100a24a8], ax
mov cl, byte [0x1006706f]
mov byte [ebp - 0x234], cl
cmp byte [ebp - 0x234], 0
je 0x10015be9
cmp byte [ebp - 0x234], 1
je 0x10015c20
jmp 0x10015c76
mov edx, dword [ebp - 0x44]
xor eax, eax
push 0xf38cc
push 0x55f97a3a
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xd90], edx
mov dword [ebp - 0x44], ecx
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
jmp 0x10015c76
mov dl, byte [0x10067c3c]
mov byte [0x1006706f], dl
movsx eax, byte [ebp - 0x14]
add eax, dword [0x10067134]
mov byte [ebp - 0x14], al
mov ecx, 1
imul edx, ecx, 0xa0
movsx ax, byte [edx + 0x100a2078]
mov word [0x10067154], ax
movzx ecx, word [ebp - 0x2c]
movsx edx, byte [ebp - 0x11]
imul edx, ecx
not edx
movzx eax, byte [0x10067063]
imul eax, dword [0x10067118]
sub eax, edx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx ecx, word [ebp - 0xea0]
cmp ecx, 0x5a4d
jne 0x10018a76
mov dword [ebp - 4], 0xc
movzx edx, word [ebp - 0x20]
sar edx, 2
mov byte [0x1006704f], dl
movsx eax, word [0x1006712c]
imul eax, eax, 0x396f
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, dword [0x10067180]
adc edx, dword [0x10067184]
mov dword [ebp - 0x8f4], ecx
mov dword [ebp - 0x8f0], edx
mov eax, dword [ebp - 0x8f4]
or eax, dword [ebp - 0x8f0]
jne 0x10015ce9
mov dword [ebp - 0x238], 1
jmp 0x10015cf3
mov dword [ebp - 0x238], 0
movzx ecx, byte [str.OrOutput_of_signing]
test ecx, ecx
jne 0x10015d12
xor edx, edx
mov dword [ebp - 0x610], 1
mov dword [ebp - 0x60c], edx
jmp 0x10015d1d
xorps xmm0, xmm0
movlpd qword [ebp - 0x610], xmm0
mov eax, dword [0x10067188]
xor eax, 0xa0fc
mov ecx, dword [0x1006718c]
xor ecx, 0
mov edx, dword [ebp - 0x610]
sub edx, eax
mov eax, dword [ebp - 0x60c]
sbb eax, ecx
mov ecx, dword [0x1006716c]
not ecx
sub ecx, dword [ebp - 0x238]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd94], eax
not edx
add edx, 0xbbe3
mov word [ebp - 0x28], dx
jmp 0x10015dd5
mov dword [ebp - 4], 0xffffffff
jmp 0x10015de5
xor eax, eax
mov dword [ebp - 0x74], 3
mov dword [ebp - 0x70], eax
movzx ecx, word [0x10067190]
add ecx, 0xb1
mov edx, dword [0x1006716c]
sub edx, ecx
mov dword [0x1006716c], edx
mov eax, 2
imul ecx, eax, 0xaf
movsx edx, word [ecx + 0x10077508]
add edx, dword [str.Y__W1_]
mov dword [str.Y__W1_], edx
movsx eax, byte [ebp - 0x15]
cdq
sub eax, 0xbd11294a
mov byte [0x10067027], al
mov ax, word [0x10067118]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], edx
cmp dword [ebp - 0x614], 0
ja 0x10015f86
jb 0x10015e71
cmp dword [ebp - 0x618], 3
ja 0x10015f86
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xe08], eax
mov ecx, dword [ebp - 0xe08]
jmp dword [ecx*4 + 0x1001f374]
mov eax, dword [0x10067c3c]
mov dword [ebp - 0xf0], eax
mov ecx, 1
imul edx, ecx, 0x4ec6
movsx eax, byte [edx + 0x100e6d80]
cdq
xor eax, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov eax, 1
imul ecx, eax, 0xb6
movsx edx, byte [ecx + 0x100a2078]
mov eax, dword [0x1006716c]
sub eax, edx
mov dword [0x1006716c], eax
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
movzx eax, byte [0x1006706f]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x8f8], edx
mov edx, dword [ebp - 0x8fc]
or edx, dword [ebp - 0x8f8]
jne 0x10016014
xor eax, eax
mov dword [ebp - 0x904], 1
mov dword [ebp - 0x900], eax
jmp 0x1001601f
xorps xmm0, xmm0
movlpd qword [ebp - 0x904], xmm0
movzx ecx, word [ebp - 0x2c]
movzx eax, word [ebp - 0x28]
xor eax, ecx
cdq
mov edx, dword [0x100671a0]
not edx
add edx, dword [0x10067188]
add edx, eax
mov eax, dword [0x10067188]
or eax, 0xfeed5066
add eax, dword [ebp - 0x904]
sub eax, edx
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0xf0]
add ecx, 0x1c
mov dword [ebp - 0x7f4], ecx
cmp dword [0x10067168], 0
jne 0x10016074
mov dword [ebp - 0x248], 1
jmp 0x1001607e
mov dword [ebp - 0x248], 0
mov edx, dword [ebp - 0x44]
not edx
imul edx, dword [0x10067194]
test edx, edx
jne 0x1001609a
mov dword [ebp - 0x240], 1
jmp 0x100160a4
mov dword [ebp - 0x240], 0
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x90c], eax
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x90c]
jne 0x100160d7
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x908]
jne 0x100160d7
mov dword [ebp - 0x244], 1
jmp 0x100160e1
mov dword [ebp - 0x244], 0
mov edx, dword [ebp - 0x240]
cmp edx, dword [ebp - 0x244]
je 0x100160fb
mov dword [ebp - 0x24c], 1
jmp 0x10016105
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x24c]
jle 0x10016432
push 0
push 0x37
push 0
push 0xb8
mov ecx, dword [0x10067168]
xor edx, edx
push edx
push ecx
push 0
push 0
mov eax, dword [ebp - 0x30]
cdq
push edx
push eax
call fcn.100354c0
mov byte [ebp - 0x12], al
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x910], edx
mov eax, dword [ebp - 0x914]
cmp eax, dword [0x10067170]
jne 0x10016177
mov ecx, dword [ebp - 0x910]
cmp ecx, dword [0x10067174]
jne 0x10016177
mov dword [ebp - 0x254], 1
jmp 0x10016181
mov dword [ebp - 0x254], 0
movsx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x91c], eax
mov dword [ebp - 0x918], edx
mov edx, dword [0x10067184]
cmp edx, dword [ebp - 0x918]
jg 0x100161bb
jl 0x100161af
mov eax, dword [0x10067180]
cmp eax, dword [ebp - 0x91c]
ja 0x100161bb
mov dword [ebp - 0x250], 1
jmp 0x100161c5
mov dword [ebp - 0x250], 0
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100161e1
xor edx, edx
mov dword [ebp - 0x620], 1
mov dword [ebp - 0x61c], edx
jmp 0x100161ec
xorps xmm0, xmm0
movlpd qword [ebp - 0x620], xmm0
movzx esi, byte [ebp - 0x16]
add esi, dword [0x10067194]
xor edi, edi
mov eax, dword [0x1006718c]
push eax
mov ecx, dword [0x10067188]
push ecx
mov edx, dword [ebp - 0x61c]
push edx
mov eax, dword [ebp - 0x620]
push eax
call fcn.100409b0
mov dword [ebp - 0x924], eax
mov dword [ebp - 0x920], edx
mov dword [ebp - 0x92c], esi
mov dword [ebp - 0x928], edi
mov ecx, dword [ebp - 0x920]
cmp ecx, dword [ebp - 0x928]
jl 0x1001625a
jg 0x1001624e
mov edx, dword [ebp - 0x924]
cmp edx, dword [ebp - 0x92c]
jbe 0x1001625a
mov dword [ebp - 0x258], 1
jmp 0x10016264
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x250]
not eax
mov ecx, dword [ebp - 0x254]
sub ecx, eax
cmp ecx, dword [ebp - 0x258]
jl 0x1001642d
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movzx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x934], eax
mov dword [ebp - 0x930], edx
mov dword [ebp - 0x93c], ecx
mov dword [ebp - 0x938], esi
mov edx, dword [ebp - 0x934]
cmp edx, dword [ebp - 0x93c]
jne 0x100162bf
mov eax, dword [ebp - 0x930]
cmp eax, dword [ebp - 0x938]
je 0x100162cb
mov dword [ebp - 0x25c], 1
jmp 0x100162d5
mov dword [ebp - 0x25c], 0
movzx ecx, byte [ebp - 0x16]
cmp ecx, 0x1b
je 0x100162ea
mov dword [ebp - 0x260], 1
jmp 0x100162f4
mov dword [ebp - 0x260], 0
mov edx, dword [ebp - 0x25c]
cmp edx, dword [ebp - 0x260]
je 0x100163b7
mov eax, 0x67e3
mov word [ebp - 0x20], ax
mov eax, dword [0x10067138]
mov edx, dword [0x1006713c]
mov cl, 4
call fcn.100409f0
mov dword [0x10067194], eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov eax, dword [0x10067118]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x944], eax
mov dword [ebp - 0x940], edx
mov edx, dword [ebp - 0x944]
or edx, dword [ebp - 0x940]
jne 0x1001635c
mov dword [ebp - 0x264], 1
jmp 0x10016366
mov dword [ebp - 0x264], 0
movsx eax, byte [ebp - 0x11]
imul eax, dword [0x10067194]
test eax, eax
jne 0x10016381
mov dword [ebp - 0x268], 1
jmp 0x1001638b
mov dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x264]
imul eax, dword [ebp - 0x268]
cdq
push 0x351b2
push 0x5bdacec5
push edx
push eax
call fcn.100409b0
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
jmp 0x1001642d
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0x60]
je 0x1001642d
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x100163db
xor eax, eax
mov dword [ebp - 0x628], 1
mov dword [ebp - 0x624], eax
jmp 0x100163e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x628], xmm0
mov ecx, dword [ebp - 0x628]
mov edx, dword [ebp - 0x624]
mov dword [0x10067170], ecx
mov dword [0x10067174], edx
mov al, byte [ebp - 0x11]
sub al, 1
mov byte [ebp - 0x11], al
movzx ecx, word [ebp - 0x20]
and ecx, dword [0x10067150]
mov word [ebp - 0x20], cx
movzx edx, word [ebp - 0x2c]
mov eax, dword [0x1006716c]
sub eax, edx
mov ecx, dword [0x1006716c]
sub ecx, eax
mov dword [0x1006716c], ecx
jmp 0x100164f9
mov edx, dword [ebp - 0x6c]
cmp edx, dword [0x10067170]
jne 0x10016454
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x10067174]
jne 0x10016454
mov dword [ebp - 0x26c], 1
jmp 0x1001645e
mov dword [ebp - 0x26c], 0
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x94c], ecx
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x94c]
or eax, dword [ebp - 0x948]
je 0x100164b0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x954], ecx
mov dword [ebp - 0x950], edx
mov eax, dword [ebp - 0x954]
or eax, dword [ebp - 0x950]
je 0x100164b0
mov dword [ebp - 0x270], 1
jmp 0x100164ba
mov dword [ebp - 0x270], 0
mov ecx, dword [ebp - 0x26c]
sub ecx, dword [ebp - 0x270]
je 0x100164f9
movzx edx, word [ebp - 0x20]
and edx, dword [0x10067128]
mov dword [0x10067128], edx
movzx eax, word [ebp - 0x28]
sub eax, dword [0x10067168]
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [str.OrOutput_of_signing]
sub edx, ecx
mov byte [str.OrOutput_of_signing], dl
mov eax, dword [ebp - 0xf0]
add eax, 0x2c9
mov dword [ebp - 0x76c], eax
push 0xffffffffffffffe8
push 0xffffffffffffff93
movzx ecx, byte [0x10067118]
push ecx
movzx edx, byte [ebp - 0x64]
push edx
call fcn.10031120
cbw
mov word [ebp - 0x20], ax
mov ecx, dword [0x10067194]
sub ecx, dword [ebp - 0x48]
je 0x100165ad
movzx eax, byte [0x1006706f]
cdq
push edx
push eax
mov edx, dword [0x10067164]
push edx
mov eax, dword [0x10067160]
push eax
call fcn.100409b0
or eax, dword [0x10067160]
or edx, dword [0x10067164]
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
sub ecx, 0x5f5c575d
sbb edx, 0
mov eax, dword [0x10067178]
mov esi, dword [0x1006717c]
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [0x10067178], eax
mov dword [0x1006717c], edx
movsx eax, byte [ebp - 0x14]
cdq
add eax, 0xfd7a8223
mov dword [0x1006716c], eax
mov dword [ebp - 0x4c], 8
jmp 0x100166b9
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x95c], ecx
mov dword [ebp - 0x958], edx
mov eax, dword [ebp - 0x95c]
or eax, dword [ebp - 0x958]
je 0x10016605
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x964], ecx
mov dword [ebp - 0x960], edx
mov eax, dword [ebp - 0x964]
or eax, dword [ebp - 0x960]
je 0x10016605
mov dword [ebp - 0x274], 1
jmp 0x1001660f
mov dword [ebp - 0x274], 0
movzx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1001662c
mov edx, 8
test edx, edx
je 0x1001662c
mov dword [ebp - 0x278], 0
jmp 0x10016636
mov dword [ebp - 0x278], 1
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x278]
jl 0x10016650
mov dword [ebp - 0x27c], 1
jmp 0x1001665a
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x27c]
not ecx
test ecx, ecx
je 0x100166b9
mov edx, dword [0x10067194]
sub edx, 0x20
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0x60]
jne 0x1001668b
mov dword [ebp - 0x280], 1
jmp 0x10016695
mov dword [ebp - 0x280], 0
mov edx, dword [0x10067150]
sub edx, dword [ebp - 0x280]
mov byte [0x1006704f], dl
movsx eax, byte [ebp - 0x12]
add eax, dword [str.Y__W1_]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0xf0]
add edx, 0x1ba
mov dword [ebp - 0x284], edx
mov eax, dword [0x10067140]
sub eax, 1
mov dword [0x10067140], eax
mov cl, byte [0x10067118]
mov byte [0x1006706f], cl
xor edx, edx
mov dword [0x100671a8], 0x3457ff2f
mov dword [0x100671ac], edx
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x7f4]
imul ecx, dword [ebp - 0x76c], 0x32
cmp ecx, eax
je 0x10018a76
mov edx, dword [ebp - 0x44]
add edx, 0x26
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [0x10067194]
sub ecx, 1
mov dword [0x10067194], ecx
movzx eax, word [ebp - 0x28]
cdq
add eax, 0x7dab4c17
adc edx, 0x25463
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov dword [0x1006716c], 4
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
mov eax, dword [0x10067150]
cdq
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
add ecx, eax
adc esi, edx
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
xor edx, edx
mov ecx, dword [0x10067188]
sub ecx, dword [ebp - 0x48]
mov esi, dword [0x1006718c]
sbb esi, edx
movzx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
imul eax, dword [ebp - 0x4c], 0x1af7db98
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov edx, dword [0x1006716c]
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 4
ja case.default.0x100167d8
mov eax, dword [ebp - 0x288]
jmp dword [eax*4 + 0x1001f384]
movsx ecx, byte [ebp - 0x12]
movzx edx, byte [0x1006704f]
add edx, ecx
mov byte [0x1006704f], dl
mov eax, dword [0x10067c3c]
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 0x12]
movsx edx, word [ebp - 0x24]
sub edx, ecx
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov edx, dword [ebp - 0x58]
push edx
mov edx, dword [ebp - 0x5c]
push edx
push ecx
push eax
call fcn.100409b0
mov dword [0x10067150], eax
jmp case.default.0x100167d8
mov eax, 2
imul ecx, eax, 0x11
movsx edx, word [ecx + 0x101681b8]
movsx eax, word [ebp - 0x1c]
imul eax, edx
mov word [ebp - 0x1c], ax
mov ecx, dword [0x10067194]
add ecx, 0x18
xor edx, edx
mov dword [0x10067148], ecx
mov dword [0x1006714c], edx
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x1001686a
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x28c], ecx
jmp 0x10016876
mov edx, dword [0x10067194]
mov dword [ebp - 0x28c], edx
mov ax, word [ebp - 0x28c]
mov word [ebp - 0x1c], ax
jmp case.default.0x100167d8
cmp dword [ebp - 0x30], 0
je 0x10016897
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x290], ecx
jmp 0x100168a0
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x290], edx
mov al, byte [ebp - 0x290]
mov byte [0x10067063], al
movzx ecx, word [ebp - 0x28]
sar ecx, 6
mov dword [0x10067118], ecx
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xd9c], edx
mov eax, dword [ebp - 0x4c]
cdq
mov esi, eax
add esi, ecx
mov eax, dword [ebp - 0x4c]
cdq
sub eax, esi
mov dword [ebp - 0x4c], eax
jmp case.default.0x100167d8
mov eax, dword [0x10067134]
xor ecx, ecx
sub eax, dword [ebp - 0x5c]
sbb ecx, dword [ebp - 0x58]
mov edx, dword [0x10067134]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov dword [0x10067134], eax
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0xda0], edx
sub ecx, 0xeea497b6
movzx eax, word [ebp - 0x28]
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
mov eax, dword [0x10067c3c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xda4], edx
movsx eax, byte [ebp - 0x12]
cdq
mov esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xda8], edx
mov eax, dword [0x10067140]
cdq
mov edi, eax
xor edi, ecx
add edi, esi
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x10067158]
not ecx
sub ecx, eax
xor ecx, dword [0x10067138]
xor ecx, edi
not ecx
mov byte [0x10067026], cl
jmp case.default.0x100167d8
movsx edx, byte [0x10067026]
test edx, edx
jne 0x10016992
mov eax, 1
mov word [ebp - 0x80], ax
jmp 0x10016998
xor ecx, ecx
mov word [ebp - 0x80], cx
mov dx, word [ebp - 0x80]
mov word [0x10067198], dx
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
movsx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
or ecx, eax
or esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0xf4]
push edx
call fcn.10012a40
mov dword [ebp - 0xb0], eax
mov dword [ebp - 4], 0xe
movzx eax, word [0x10067190]
cdq
xor eax, 0x53cc6f74
xor edx, 0xbc3c1
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
mov eax, dword [ebp - 0x30]
add eax, 0x7b2d2a1f
mov dword [0x1006716c], eax
movzx ecx, byte [0x1006704f]
movzx edx, byte [0x1006706f]
imul edx, ecx
movzx eax, byte [0x1006706f]
add eax, edx
mov byte [0x1006706f], al
mov ecx, dword [ebp - 0x5c]
or ecx, dword [ebp - 0x58]
je 0x10016a5d
movzx edx, byte [0x10067063]
mov dword [ebp - 0x294], edx
jmp 0x10016a67
movzx eax, word [ebp - 0x20]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x4c], ecx
jmp 0x10016ae8
mov dword [ebp - 4], 0xffffffff
jmp 0x10016af8
mov edx, dword [ebp - 0xa8]
add edx, 0x147
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
xor ecx, dword [ebp - 0xa8]
lea eax, [ecx + eax + 0x3c]
cmp eax, edx
je 0x100178b3
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
movzx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
movzx eax, byte [0x1006706f]
test eax, eax
jne 0x10016b58
xor ecx, ecx
mov dword [ebp - 0x96c], 1
mov dword [ebp - 0x968], ecx
jmp 0x10016b63
xorps xmm0, xmm0
movlpd qword [ebp - 0x96c], xmm0
mov edx, dword [ebp - 0x96c]
add edx, dword [0x10067138]
mov byte [ebp - 0x14], dl
mov dword [ebp - 4], 0x10
push 0xffffffffffffffd2
push 0
movzx eax, byte [ebp - 0x2c]
push eax
movzx ecx, byte [0x10067168]
push ecx
call fcn.10031120
mov byte [ebp - 0x7d], al
movsx eax, byte [ebp - 0x7d]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x974], edx
mov dword [ebp - 0x970], eax
cmp dword [ebp - 0x970], 0
jl 0x10016c6a
jg 0x10016bcb
cmp dword [ebp - 0x974], 0
jb 0x10016c6a
mov dword [ebp - 0xf8], 0
jmp 0x10016be6
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0x110
jge 0x10016c68
movzx edx, byte [0x10067063]
imul edx, dword [0x10067118]
movzx eax, byte [0x10067063]
add eax, edx
mov byte [0x10067063], al
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xdac], edx
mov eax, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xdb0], edx
sub eax, dword [ebp - 0x6c]
not eax
add eax, ecx
mov ecx, dword [ebp - 0x44]
not ecx
and ecx, 0x707676d1
sub ecx, eax
not ecx
mov dword [0x10067134], ecx
mov edx, dword [0x10067180]
add edx, 1
mov eax, dword [0x10067184]
adc eax, 0
mov dword [0x10067180], edx
mov dword [0x10067184], eax
jmp 0x10016bd7
jmp 0x10016ca9
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x15]
cdq
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x50]
add edi, eax
adc ebx, edx
sub edi, ecx
sbb ebx, esi
mov dword [0x10067120], edi
mov dword [0x10067124], ebx
mov edx, dword [0x1006716c]
add edx, 1
mov dword [0x1006716c], edx
movsx ax, byte [ebp - 0x11]
mov word [ebp - 0x20], ax
jmp 0x10016d03
mov dword [ebp - 4], 0xffffffff
jmp 0x10016d13
mov edx, dword [0x10067c3c]
mov dword [ebp - 0xfc], edx
movsx eax, byte [ebp - 0x13]
imul eax, dword [ebp - 0x44]
movsx ecx, byte [ebp - 0x13]
sub ecx, eax
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
je 0x10016d43
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x29c], eax
jmp 0x10016d50
movzx ecx, word [0x10067190]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x29c]
mov dword [0x10067150], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x71d2b6c9
mov dword [0x10067168], eax
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov eax, dword [ebp - 0x4c]
cdq
sub eax, ecx
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0xfc]
add edx, 0x23e
mov dword [ebp - 0xdb4], edx
mov dword [ebp - 4], 0x12
jmp 0x10016de4
mov dword [ebp - 4], 0xffffffff
jmp 0x10016df4
mov edx, dword [ebp - 0xfc]
add edx, 0xbe
mov dword [ebp - 0xdb8], edx
movzx eax, byte [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xdbc], edx
movzx eax, cl
push eax
push 0xffffffffffffffa9
push 0
call fcn.10032de0
movsx eax, al
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx ecx, word [0x1006712c]
cmp dword [ebp - 0x4c], ecx
jge 0x10016e46
mov dword [ebp - 0x2a0], 1
jmp 0x10016e50
mov dword [ebp - 0x2a0], 0
movsx edx, byte [ebp - 0x12]
cmp dword [ebp - 0x2a0], edx
jl 0x10016efd
mov dword [ebp - 4], 0x14
mov eax, dword [0x10067180]
sub eax, 0xcd2aa8f4
mov byte [str.OrOutput_of_signing], al
mov ecx, 0xa4
mov word [0x10067154], cx
mov edx, dword [0x10067194]
shr edx, 8
mov byte [ebp - 0x12], dl
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0xdc0], ecx
sub eax, 0x7940d65c
mov byte [ebp - 0x16], al
jmp 0x10016ee8
mov dword [ebp - 4], 0xffffffff
jmp 0x10016ef8
jmp 0x10016f7e
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x1459
push edx
push ecx
call fcn.100409b0
mov dword [ebp - 0x97c], eax
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x97c]
or eax, dword [ebp - 0x978]
je 0x10016f7e
movsx eax, byte [0x10067026]
cdq
mov ecx, eax
sub ecx, 0xb3a37c17
movsx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
push 0xd60be
push 0x39009a4b
push eax
push edx
call fcn.100409b0
mov byte [0x1006704f], al
mov ecx, dword [0x100671a0]
add ecx, 0x10
mov edx, dword [0x1006716c]
sub edx, ecx
mov dword [0x1006716c], edx
mov eax, dword [ebp - 0xfc]
add eax, 0x2eb
mov dword [ebp - 0xac], eax
mov ecx, dword [0x10067194]
xor edx, edx
add ecx, 0x57229254
adc edx, 0xbc78c
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x3f2e833a
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov eax, dword [0x10067138]
mov edx, dword [0x1006713c]
mov cl, 8
call fcn.100409f0
mov dword [0x10067160], eax
mov dword [0x10067164], edx
cmp dword [ebp - 0xb0], 0
jne 0x1001765f
movsx edx, byte [0x10067026]
movsx eax, byte [0x10067026]
cmp eax, edx
je 0x10017001
mov dword [ebp - 0x2a4], 1
jmp 0x1001700b
mov dword [ebp - 0x2a4], 0
movsx ecx, byte [0x10067026]
cmp ecx, 0x3b
je 0x10017023
mov dword [ebp - 0x2a8], 1
jmp 0x1001702d
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x2a8]
jge 0x10017280
xor eax, eax
mov dword [0x100671a8], 4
mov dword [0x100671ac], eax
movzx eax, word [ebp - 0x20]
cdq
add eax, dword [0x10067158]
adc edx, dword [0x1006715c]
add eax, dword [0x10067158]
adc edx, dword [0x1006715c]
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
mov ecx, dword [0x10067158]
or ecx, dword [0x1006715c]
je 0x10017095
movzx edx, byte [str.OrOutput_of_signing]
mov dword [ebp - 0x2ac], edx
jmp 0x100170a2
movsx eax, word [0x1006712c]
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x4c], ecx
movzx eax, word [0x10067154]
cdq
add eax, 0xb4c65c4d
mov edx, dword [0x10067194]
sub edx, eax
mov dword [0x10067194], edx
mov eax, dword [ebp - 0x64]
add eax, 0x18
mov dword [0x10067134], eax
mov ecx, dword [0x100671a8]
mov edx, dword [0x100671ac]
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], edx
cmp dword [ebp - 0x16c], 0
jl 0x1001727e
jg 0x10017105
cmp dword [ebp - 0x170], 0
jb 0x1001727e
cmp dword [ebp - 0x16c], 0
jg 0x1001727e
jl 0x10017121
cmp dword [ebp - 0x170], 4
ja 0x1001727e
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0xe10], eax
mov ecx, dword [ebp - 0xe10]
jmp dword [ecx*4 + 0x1001f398]
jmp 0x100172cb
mov eax, dword [ebp - 0x48]
xor ecx, ecx
sub eax, 0x9d717ec9
sbb ecx, 0x56846
mov dword [0x10067178], eax
mov dword [0x1006717c], ecx
movzx eax, byte [0x1006706f]
cdq
push 0x5f470
push 0xcf4d754d
push edx
push eax
call fcn.100409b0
mov dword [0x1006716c], eax
mov edx, dword [0x1006716c]
xor edx, 0x1ce59451
mov byte [str.OrOutput_of_signing], dl
movsx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 0x28]
cmp ecx, eax
jge 0x100172e3
mov dword [ebp - 0x2b0], 1
jmp 0x100172ed
mov dword [ebp - 0x2b0], 0
movzx edx, word [ebp - 0x28]
cmp edx, 0x5c
jge 0x10017302
mov dword [ebp - 0x2b4], 1
jmp 0x1001730c
mov dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x2b4]
jne 0x10017521
movzx ecx, byte [0x10067168]
push ecx
push 0
movzx edx, byte [str.OrOutput_of_signing]
push edx
push 0
call fcn.10032de0
movsx eax, al
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x984], eax
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x984]
or edx, dword [ebp - 0x980]
je 0x100174b2
movsx eax, word [0x10067198]
cdq
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
mov dword [ebp - 0x98c], ecx
mov dword [ebp - 0x988], esi
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], edx
mov edx, dword [ebp - 0x988]
cmp edx, dword [ebp - 0x990]
jb 0x100173c5
ja 0x100173b9
mov eax, dword [ebp - 0x98c]
cmp eax, dword [ebp - 0x994]
jb 0x100173c5
mov dword [ebp - 0x2b8], 1
jmp 0x100173cf
mov dword [ebp - 0x2b8], 0
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x99c], ecx
mov dword [ebp - 0x998], edx
cmp dword [ebp - 0x998], 0
ja 0x100173f9
cmp dword [ebp - 0x99c], 0x12
jb 0x10017405
mov dword [ebp - 0x2bc], 1
jmp 0x1001740f
mov dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x2b8]
cmp eax, dword [ebp - 0x2bc]
jne 0x100174b0
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
movzx eax, word [0x10067144]
cdq
mov edi, dword [0x100671a0]
not edi
mov ebx, dword [0x100671a4]
not ebx
sub edi, eax
sbb ebx, edx
sub edi, ecx
sbb ebx, esi
mov edx, dword [0x10067134]
not edx
xor ecx, ecx
sub ecx, edx
xor esi, esi
mov eax, dword [0x10067128]
cdq
sub eax, 0x53db6928
sbb edx, 0xde585
not eax
not edx
add eax, ecx
adc edx, esi
xor eax, edi
xor edx, ebx
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
movsx edx, byte [ebp - 0x12]
imul eax, edx, 0x5fd3
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov eax, dword [0x100671a8]
mov ecx, dword [0x100671ac]
mov dword [ebp - 0xdcc], ecx
add eax, dword [ebp - 0x6c]
mov byte [ebp - 0x12], al
jmp 0x1001751c
movzx edx, byte [0x10067063]
not edx
test edx, edx
jne 0x100174d1
cmp dword [ebp - 0x30], 0
jne 0x100174d1
mov dword [ebp - 0x2c0], 0
jmp 0x100174db
mov dword [ebp - 0x2c0], 1
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [0x10067128]
je 0x1001751c
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
and ecx, 0x433f
and edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [0x1006719c]
sub eax, 0x87dd
cdq
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov al, byte [0x10067170]
mov byte [ebp - 0x13], al
jmp 0x1001763a
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x58]
mov dword [ebp - 0x9a4], ecx
mov dword [ebp - 0x9a0], edx
mov eax, dword [ebp - 0x9a4]
or eax, dword [ebp - 0x9a0]
je 0x1001758e
imul eax, dword [0x10067150], 0x7c
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
movsx ecx, word [0x10067198]
add ecx, 0x3b53
movsx edx, word [0x1006712c]
or edx, ecx
mov word [0x1006712c], dx
imul eax, dword [0x10067134], 0xb120
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
jmp 0x1001763a
cmp dword [0x10067150], 0x6c2fde12
je 0x100175a6
mov dword [ebp - 0x2c4], 1
jmp 0x100175b0
mov dword [ebp - 0x2c4], 0
mov edx, dword [0x1006716c]
cmp edx, dword [ebp - 0x2c4]
je 0x1001763a
movsx eax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], ecx
movsx edx, byte [ebp - 0x12]
movsx eax, byte [ebp - 0x12]
sub eax, edx
movsx ecx, byte [ebp - 0x12]
imul ecx, eax
mov byte [ebp - 0x12], cl
mov edx, dword [0x10067118]
sub edx, dword [0x10067150]
mov dword [0x10067118], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9a8], ecx
mov edx, dword [ebp - 0x9ac]
or edx, dword [ebp - 0x9a8]
je 0x10017627
movzx eax, byte [0x1006706f]
mov dword [ebp - 0x2c8], eax
jmp 0x10017631
movzx ecx, word [ebp - 0x20]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
xor ecx, dword [ebp - 0xac]
add ecx, eax
mov dword [ebp - 0x9c], ecx
jmp 0x100178b3
xor edx, edx
mov dword [0x10067158], 3
mov dword [0x1006715c], edx
movzx eax, word [ebp - 0x20]
imul eax, eax, 0xca14
cdq
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
push 0
push 3
push edx
push ecx
call fcn.100409b0
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
mov eax, dword [0x10067158]
mov ecx, dword [0x1006715c]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 0
ja 0x1001789b
jb 0x100176d6
cmp dword [ebp - 0x630], 3
ja 0x1001789b
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0xe18], edx
mov eax, dword [ebp - 0xe18]
jmp dword [eax*4 + 0x1001f3ac]
mov edx, dword [0x1021b870]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.1000bc70
mov dword [0x1021b874], eax
push 0x68
movzx ecx, byte [ebp - 0x15]
push ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xdd8], eax
movzx ecx, dl
push ecx
call fcn.100314c0
movzx dx, al
mov word [ebp - 0x20], dx
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x100178eb
mov dword [ebp - 0x2d4], 1
jmp 0x100178f5
mov dword [ebp - 0x2d4], 0
movzx ecx, word [ebp - 0x20]
cmp ecx, 0x13
je 0x1001790a
mov dword [ebp - 0x2d8], 1
jmp 0x10017914
mov dword [ebp - 0x2d8], 0
mov edx, dword [ebp - 0x2d4]
cmp edx, dword [ebp - 0x2d8]
jg 0x1001793f
movsx eax, byte [ebp - 0x13]
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
mov eax, dword [0x10067150]
sar eax, 3
mov byte [ebp - 0x11], al
jmp 0x10017995
movzx ecx, byte [0x1006704f]
add ecx, dword [ebp - 0x30]
mov byte [0x1006704f], cl
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xe34], edx
movsx eax, word [ebp - 0x1c]
cdq
mov esi, eax
add esi, ecx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, esi
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xe38], ecx
mov word [ebp - 0x2c], ax
mov edx, dword [0x10067160]
mov eax, dword [0x10067164]
mov dword [0x10067158], edx
mov dword [0x1006715c], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x100]
imul edx, ecx, 0x302
cmp edx, dword [ebp - 0x100]
je 0x10018a76
xor eax, eax
mov dword [0x10067160], 4
mov dword [0x10067164], eax
push 0
push 0xc0cf65b5
mov ecx, dword [0x1006715c]
push ecx
mov edx, dword [0x10067158]
push edx
call fcn.100409b0
mov ecx, eax
movsx eax, byte [ebp - 0x15]
cdq
or eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
sub edx, 0x66ee
sbb eax, 0
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x10067160]
mov edx, dword [0x10067164]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0
jl 0x10017c81
jg 0x10017a38
cmp dword [ebp - 0x178], 0
jb 0x10017c81
cmp dword [ebp - 0x174], 0
jg 0x10017c81
jl 0x10017a54
cmp dword [ebp - 0x178], 4
ja 0x10017c81
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0xe20], eax
mov ecx, dword [ebp - 0xe20]
jmp dword [ecx*4 + 0x1001f3bc]
mov ecx, dword [ebp - 0x44]
xor edx, edx
push edx
push ecx
mov eax, dword [0x10067168]
xor ecx, ecx
push ecx
push eax
call fcn.10031830
mov byte [0x1006704f], al
movzx edx, byte [0x1006704f]
test edx, edx
jl 0x10017dd1
movsx eax, byte [ebp - 0x11]
cmp dword [0x10067140], eax
jle 0x10017cc2
mov dword [ebp - 0x2e4], 1
jmp 0x10017ccc
mov dword [ebp - 0x2e4], 0
cmp dword [0x10067140], 0x3e
jle 0x10017ce1
mov dword [ebp - 0x2e8], 1
jmp 0x10017ceb
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp - 0x2e4]
cmp ecx, dword [ebp - 0x2e8]
jg 0x10017d54
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x10067180]
sub ecx, eax
mov eax, dword [0x10067184]
sbb eax, edx
mov edx, dword [0x10067180]
sub edx, ecx
mov ecx, dword [0x10067184]
sbb ecx, eax
mov dword [0x10067180], edx
mov dword [0x10067184], ecx
cmp dword [ebp - 0x30], 0
je 0x10017d3b
movsx edx, byte [ebp - 0x12]
mov dword [ebp - 0x2ec], edx
jmp 0x10017d45
movzx eax, word [ebp - 0x2c]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10017dcc
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
push 0x72058
push 0xad945697
push edx
push ecx
call fcn.100409b0
mov ecx, eax
mov eax, dword [0x10067128]
cdq
sub eax, ecx
mov dword [0x10067128], eax
mov edx, dword [0x10067194]
not edx
xor eax, eax
add edx, dword [0x10067188]
adc eax, dword [0x1006718c]
not edx
not eax
push 0
push 0xb7
push eax
push edx
call fcn.100409b0
mov ecx, eax
mov esi, edx
not ecx
not esi
movsx edx, word [0x1006712c]
not edx
movzx eax, word [ebp - 0x28]
xor eax, dword [ebp - 0x30]
add eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov word [0x1006712c], ax
jmp 0x10017e99
movsx eax, byte [ebp - 0x15]
cmp eax, dword [0x10067128]
jge 0x10017de9
mov dword [ebp - 0x2f0], 1
jmp 0x10017df3
mov dword [ebp - 0x2f0], 0
mov ecx, dword [ebp - 0x2f0]
not ecx
test ecx, ecx
je 0x10017e99
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov dword [0x10067120], eax
mov dword [0x10067124], edx
movsx edx, byte [ebp - 0x13]
test edx, edx
jne 0x10017e45
xor eax, eax
mov dword [ebp - 0x9c4], 1
mov dword [ebp - 0x9c0], eax
jmp 0x10017e50
xorps xmm0, xmm0
movlpd qword [ebp - 0x9c4], xmm0
movzx eax, word [0x10067144]
cdq
mov ecx, eax
movsx eax, word [ebp - 0x24]
cdq
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0xc78], esi
add edx, eax
xor edx, ecx
and edx, dword [ebp - 0x9c4]
mov byte [ebp - 0x15], dl
movzx eax, word [ebp - 0x20]
xor eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
call fcn.100409f0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
cmp dword [0x1021b874], 0
jne 0x10017ffa
cmp dword [ebp - 0x68], 0
jl 0x10017ef7
jg 0x10017eb7
cmp dword [ebp - 0x6c], 0xbc
jb 0x10017ef7
mov cx, word [ebp - 0x2c]
sub cx, 1
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
add edx, dword [0x10067180]
adc eax, dword [0x10067184]
mov dword [0x10067180], edx
mov dword [0x10067184], eax
xor ecx, ecx
mov dword [0x10067138], 0xc158
mov dword [0x1006713c], ecx
jmp 0x10017f82
cmp dword [0x10067128], 0
je 0x10017f1d
cmp dword [0x1006711c], 0
je 0x10017f1d
movsx edx, byte [ebp - 0x14]
test edx, edx
jne 0x10017f1d
mov dword [ebp - 0x2f4], 0
jmp 0x10017f27
mov dword [ebp - 0x2f4], 1
mov eax, dword [ebp - 0x2f4]
not eax
test eax, eax
je 0x10017f82
movzx eax, word [0x10067154]
sar eax, 3
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
push edx
push ecx
mov eax, dword [0x10067184]
push eax
mov ecx, dword [0x10067180]
push ecx
call fcn.100409b0
mov ecx, eax
mov eax, dword [ebp - 0x30]
add eax, 0x8d
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
movsx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x11]
xor eax, edx
movsx ecx, byte [ebp - 0x11]
sub ecx, eax
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0xb0]
push edx
call fcn.1000bc00
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
jne 0x10017fa2
mov dword [ebp - 0x2f8], 1
jmp 0x10017fac
mov dword [ebp - 0x2f8], 0
movsx ecx, byte [ebp - 0x13]
imul ecx, dword [ebp - 0x2f8]
not ecx
mov dword [ebp - 0x4c], ecx
movzx eax, byte [str.OrOutput_of_signing]
cdq
mov ecx, eax
add ecx, dword [0x10067138]
movzx eax, byte [str.OrOutput_of_signing]
cdq
add eax, ecx
mov byte [str.OrOutput_of_signing], al
movzx edx, word [ebp - 0x28]
add edx, 0x5233a45c
mov dword [0x10067150], edx
mov dword [ebp - 0x9c], 0
jmp 0x10018a76
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x9cc], edx
mov dword [ebp - 0x9c8], esi
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], ecx
mov eax, dword [ebp - 0x9c8]
cmp eax, dword [ebp - 0x9d0]
ja 0x10018047
jb 0x1001803b
mov ecx, dword [ebp - 0x9cc]
cmp ecx, dword [ebp - 0x9d4]
ja 0x10018047
mov dword [ebp - 0x2fc], 1
jmp 0x10018051
mov dword [ebp - 0x2fc], 0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x9dc], edx
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0
ja 0x10018083
jb 0x10018077
cmp dword [ebp - 0x9dc], 0x3e
ja 0x10018083
mov dword [ebp - 0x300], 1
jmp 0x1001808d
mov dword [ebp - 0x300], 0
mov ecx, dword [ebp - 0x2fc]
cmp ecx, dword [ebp - 0x300]
jne 0x10018230
movzx edx, word [ebp - 0x28]
push edx
movzx ax, byte [0x1006706f]
movzx ecx, ax
push ecx
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov dword [ebp - 0xc7c], eax
movzx ecx, dx
push ecx
push 0x5c
push 0xe2
call fcn.10034ee0
mov word [ebp - 0x1c], ax
movsx edx, word [ebp - 0x1c]
test edx, edx
jle 0x100180e9
mov dword [ebp - 0x304], 1
jmp 0x100180f3
mov dword [ebp - 0x304], 0
movsx eax, word [ebp - 0x1c]
cmp eax, 0x47
jle 0x10018108
mov dword [ebp - 0x308], 1
jmp 0x10018112
mov dword [ebp - 0x308], 0
mov ecx, dword [ebp - 0x304]
cmp ecx, dword [ebp - 0x308]
jne 0x100181ee
mov dword [ebp - 4], 0x16
mov edx, dword [0x10067158]
not edx
mov ecx, dword [ebp - 0x44]
sub ecx, edx
movsx eax, word [ebp - 0x24]
cdq
and eax, dword [0x10067158]
add eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [0x10067c3c]
xor eax, eax
mov dword [0x10067178], edx
mov dword [0x1006717c], eax
mov cx, word [0x10067118]
mov word [0x1006712c], cx
jmp 0x100181dc
mov dword [ebp - 4], 0xffffffff
jmp 0x100181ec
jmp 0x10018230
mov edx, dword [0x10067c3c]
xor eax, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, 8
imul edx, ecx, 0x2b
mov eax, dword [edx + 0x10096d18]
mov ecx, dword [edx + 0x10096d1c]
mov dword [0x10067180], eax
mov dword [0x10067184], ecx
mov dx, word [0x10067c3c]
mov word [ebp - 0x24], dx
mov eax, dword [0x10067c3c]
mov dword [0x10067194], eax
movzx eax, byte [0x10067063]
cdq
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x9e4], ecx
mov dword [ebp - 0x9e0], esi
mov dword [ebp - 0x9ec], eax
mov dword [ebp - 0x9e8], edx
mov edx, dword [ebp - 0x9e0]
cmp edx, dword [ebp - 0x9e8]
jb 0x10018280
ja 0x10018274
mov eax, dword [ebp - 0x9e4]
cmp eax, dword [ebp - 0x9ec]
jb 0x10018280
mov dword [ebp - 0x30c], 1
jmp 0x1001828a
mov dword [ebp - 0x30c], 0
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x9f4], ecx
mov dword [ebp - 0x9f0], edx
cmp dword [ebp - 0x9f0], 0
ja 0x100182ae
cmp dword [ebp - 0x9f4], 0x3a
jb 0x100182ba
mov dword [ebp - 0x310], 1
jmp 0x100182c4
mov dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x310]
je 0x100184fd
movsx ecx, word [0x10067198]
cmp ecx, dword [0x10067150]
jge 0x1001838f
movsx edx, byte [ebp - 0x12]
movzx eax, word [0x10067144]
cmp eax, edx
jl 0x10018304
mov dword [ebp - 0x314], 1
jmp 0x1001830e
mov dword [ebp - 0x314], 0
movzx ecx, word [0x10067144]
cmp ecx, 0x49
jl 0x10018326
mov dword [ebp - 0x318], 1
jmp 0x10018330
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x314]
cmp edx, dword [ebp - 0x318]
jge 0x10018364
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [0x10067144]
sub eax, dword [ebp - 0x44]
mov word [0x10067144], ax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
jmp 0x1001838a
imul edx, dword [ebp - 0x30], 0x80cd
mov byte [ebp - 0x14], dl
movsx eax, byte [ebp - 0x13]
cdq
sub eax, dword [0x10067138]
mov byte [ebp - 0x13], al
movzx eax, byte [str.OrOutput_of_signing]
shl eax, 5
mov word [ebp - 0x2c], ax
jmp 0x100184fb
movsx ecx, word [0x10067198]
test ecx, ecx
je 0x100183f1
movzx edx, word [0x10067144]
imul edx, dword [ebp - 0x48]
mov word [0x10067144], dx
push 0
push 0xe7cf2a31
mov eax, dword [0x100671a4]
push eax
mov ecx, dword [0x100671a0]
push ecx
call fcn.100409b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [ebp - 0x1c]
add edx, dword [0x1006719c]
movzx eax, word [ebp - 0x20]
imul eax, dword [ebp - 0x44]
add eax, edx
xor ecx, ecx
mov dword [0x10067138], eax
mov dword [0x1006713c], ecx
jmp 0x100184fb
movzx edx, byte [0x1006706f]
movzx eax, word [0x10067190]
cmp eax, edx
jne 0x1001840f
mov dword [ebp - 0x31c], 1
jmp 0x10018419
mov dword [ebp - 0x31c], 0
mov ecx, dword [ebp - 0x31c]
not ecx
cmp ecx, 0x71f05d59
je 0x10018481
movzx eax, word [ebp - 0x28]
cdq
push 0x60bfc
push 0x4083fd51
push edx
push eax
call fcn.100409b0
mov dword [0x10067178], eax
mov dword [0x1006717c], edx
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
sub edx, 0x44f4
sbb eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, 0xdd735dfc
adc edx, 0
mov dword [0x10067148], ecx
mov dword [0x1006714c], edx
jmp 0x100184fb
movsx eax, byte [ebp - 0x12]
not eax
test eax, eax
je 0x100184fb
mov esi, dword [0x10067134]
add esi, dword [0x10067180]
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
push 0
push 0x1b
push edx
push ecx
call fcn.100409b0
sub eax, esi
mov ecx, 0x7d
sub ecx, eax
mov word [0x10067190], cx
mov edx, 0xc2961
mov dword [ebp - 0x54], 0x9d3b516a
mov dword [ebp - 0x50], edx
movzx eax, word [0x10067154]
sub eax, 0x69b1bb86
mov word [ebp - 0x20], ax
mov ecx, dword [0x100671a8]
mov edx, dword [0x100671ac]
mov dword [ebp - 0xc80], edx
sub ecx, 0xb0
mov dword [0x10067140], ecx
jmp 0x10018539
mov eax, dword [ebp - 0x5c]
xor eax, 0xa64c0ae4
mov byte [str.OrOutput_of_signing], al
mov dword [0x10067128], 0xb6df03da
mov ecx, dword [0x10067c3c]
xor edx, edx
mov dword [0x10067188], ecx
mov dword [0x1006718c], edx
movsx eax, word [0x1006712c]
add eax, 0x4e5f4938
mov dword [0x10067140], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 4], 0x18
cmp dword [0x10067194], 0
je 0x10018569
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x580], edx
mov dword [ebp - 0x57c], eax
jmp 0x1001857a
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], edx
mov ecx, dword [ebp - 0x580]
mov edx, dword [ebp - 0x57c]
mov dword [0x100671a8], ecx
mov dword [0x100671ac], edx
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xc84], edx
sub ecx, 0xb588
mov eax, dword [ebp - 0x4c]
cdq
add eax, ecx
mov dword [ebp - 0x4c], eax
push 0x7b17b
push 0x36040102
mov eax, dword [0x10067184]
push eax
mov ecx, dword [0x10067180]
push ecx
call fcn.100409b0
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
movzx edx, byte [0x1006706f]
add edx, 0xd5
mov word [0x10067144], dx
jmp 0x100186ae
mov dword [ebp - 4], 0xffffffff
jmp 0x100186be
mov edx, dword [ebp - 0x104]
add edx, 0x71
mov dword [ebp - 0x77c], edx
mov eax, dword [0x1006711c]
cmp eax, dword [ebp - 0x30]
jbe 0x10018793
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 1
call fcn.100409f0
mov dword [0x10067134], eax
movzx eax, byte [0x1006706f]
cdq
mov ecx, eax
mov esi, edx
movsx edx, word [ebp - 0x24]
movzx eax, byte [str.OrOutput_of_signing]
sub eax, edx
cdq
mov edi, eax
mov ebx, edx
mov eax, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x778], ecx
movzx ecx, word [0x10067154]
mov dword [ebp - 0x770], eax
mov eax, ecx
mov dword [ebp - 0x774], edx
cdq
mov ecx, dword [ebp - 0x770]
and eax, ecx
mov ecx, dword [ebp - 0x774]
and edx, ecx
sub eax, edi
sbb edx, ebx
push esi
mov ecx, dword [ebp - 0x778]
push ecx
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x44], eax
movsx eax, word [ebp - 0x1c]
sub eax, 0x2800
cdq
mov ecx, dword [0x10067180]
sub ecx, eax
mov eax, dword [0x10067184]
sbb eax, edx
mov dword [0x10067180], ecx
mov dword [0x10067184], eax
xor ecx, ecx
mov dword [0x10067120], 2
mov dword [0x10067124], ecx
jmp 0x10018816
movzx edx, word [0x10067190]
sub edx, 0x6613
mov word [ebp - 0x24], dx
mov eax, dword [0x10067188]
or eax, dword [0x1006718c]
jne 0x100187bd
mov dword [ebp - 0x320], 1
jmp 0x100187c7
mov dword [ebp - 0x320], 0
movzx ecx, word [0x10067190]
not ecx
sub ecx, dword [ebp - 0x320]
movsx eax, byte [ebp - 0x14]
sub eax, ecx
cdq
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [0x100671a0], ecx
mov dword [0x100671a4], eax
movsx ecx, word [ebp - 0x1c]
imul ecx, dword [0x1006719c]
mov dword [0x1006719c], ecx
movsx edx, word [0x1006712c]
mov eax, dword [0x10067134]
sub eax, edx
mov dword [0x10067134], eax
mov ecx, dword [ebp - 0x104]
add ecx, 0x3ac
mov dword [ebp - 0xc88], ecx
movsx eax, byte [ebp - 0x15]
xor eax, 0xe631
not eax
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
movzx edx, word [0x10067154]
imul eax, edx, 0x1b36
cdq
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
movzx eax, byte [ebp - 0x16]
add eax, 0x4c3c
cdq
mov dword [0x10067138], eax
mov dword [0x1006713c], edx
mov eax, dword [ebp - 0x104]
add eax, 0x255
mov dword [ebp - 0x32c], eax
mov ecx, dword [0x1006718c]
cmp ecx, dword [ebp - 0x58]
ja 0x100188a2
jb 0x10018896
mov edx, dword [0x10067188]
cmp edx, dword [ebp - 0x5c]
jae 0x100188a2
mov dword [ebp - 0x324], 1
jmp 0x100188ac
mov dword [ebp - 0x324], 0
cmp dword [0x1006718c], 0
jg 0x100188cc
jl 0x100188c0
cmp dword [0x10067188], 0x26
jae 0x100188cc
mov dword [ebp - 0x328], 1
jmp 0x100188d6
mov dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x324]
cmp eax, dword [ebp - 0x328]
jne 0x1001893a
movzx eax, word [ebp - 0x2c]
cdq
sub eax, 0xa5dedce5
sbb edx, 0x31c9e
push edx
push eax
mov ecx, dword [0x10067164]
push ecx
mov edx, dword [0x10067160]
push edx
call fcn.100409b0
mov dword [0x10067160], eax
mov dword [0x10067164], edx
movsx eax, byte [ebp - 0x13]
imul ecx, eax, 0xf
mov byte [0x1006706f], cl
imul edx, dword [0x1006716c], 0x4d546d40
xor eax, eax
mov dword [0x10067180], edx
mov dword [0x10067184], eax
jmp 0x10018973
mov ecx, dword [0x10067158]
or ecx, dword [0x1006715c]
je 0x10018973
movzx edx, word [ebp - 0x2c]
add edx, 0x86
mov word [ebp - 0x20], dx
mov eax, dword [0x10067128]
add eax, dword [0x10067140]
cdq
add eax, dword [0x10067188]
mov word [ebp - 0x24], ax
mov byte [str.OrOutput_of_signing], 0xfd
mov eax, dword [ebp - 0x77c]
add eax, dword [ebp - 0x32c]
cmp dword [ebp - 0x32c], eax
je 0x10018a76
mov cx, word [0x10067c3c]
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xc8c], eax
add edx, 0xa603
mov word [0x10067190], dx
mov byte [ebp - 0x14], 0xf1
call dword [0x1021b874]
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.1000bc00
push 0
push 0xdeae
mov edx, dword [0x100671a4]
push edx
mov eax, dword [0x100671a0]
push eax
call fcn.100409b0
mov ecx, eax
movzx eax, byte [0x1006706f]
cdq
sub eax, ecx
mov byte [0x1006706f], al
mov edx, dword [ebp - 0x5c]
add edx, 0x19
mov eax, dword [ebp - 0x58]
adc eax, 0
mov dword [0x10067170], edx
mov dword [0x10067174], eax
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
not ecx
not edx
sub ecx, dword [ebp - 0x5c]
sbb edx, dword [ebp - 0x58]
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa04]
or eax, dword [ebp - 0xa00]
jne 0x10018a4a
xor ecx, ecx
mov dword [ebp - 0xa0c], 1
mov dword [ebp - 0xa08], ecx
jmp 0x10018a55
xorps xmm0, xmm0
movlpd qword [ebp - 0xa0c], xmm0
mov edx, dword [0x100671a0]
not edx
and edx, dword [ebp - 0x6c]
sub edx, dword [ebp - 0xa0c]
mov dword [0x1006711c], edx
mov eax, 1
jmp 0x1001f33f
mov dword [ebp - 4], 0x1a
movzx eax, word [ebp - 0x28]
push eax
push 0
push 0x1d
call fcn.100327b0
mov word [ebp - 0x15c], ax
movzx eax, word [ebp - 0x15c]
cdq
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
mov ecx, dword [0x10067188]
or ecx, dword [0x1006718c]
jne 0x10018b5b
mov byte [ebp - 4], 0x1b
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x10067160]
sub ecx, eax
mov eax, dword [0x10067164]
sbb eax, edx
mov dword [0x10067160], ecx
mov dword [0x10067164], eax
mov ecx, dword [0x10067134]
add ecx, 0xbd78
mov dword [0x10067150], ecx
movsx edx, byte [0x10067026]
not edx
movsx eax, word [0x1006712c]
sub eax, edx
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x10018b46
mov dword [ebp - 4], 0x1a
jmp 0x10018b56
jmp 0x10018d19
mov eax, dword [ebp - 0x48]
not eax
cmp eax, 0xaa1821b
jbe 0x10018bba
movzx ecx, word [0x10067190]
movzx edx, byte [ebp - 0x16]
add edx, ecx
movzx eax, byte [ebp - 0x16]
and eax, edx
mov byte [ebp - 0x16], al
mov eax, dword [0x10067150]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x11], 0xcf
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
push 0
push 0x531b
push eax
push edx
call fcn.100409b0
mov byte [str.OrOutput_of_signing], al
jmp 0x10018d19
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa14]
or eax, dword [ebp - 0xa10]
jne 0x10018bf4
xor ecx, ecx
mov dword [ebp - 0x640], 1
mov dword [ebp - 0x63c], ecx
jmp 0x10018bff
xorps xmm0, xmm0
movlpd qword [ebp - 0x640], xmm0
cmp dword [ebp - 0x63c], 0xfcc9e
jl 0x10018c94
jg 0x10018c1d
cmp dword [ebp - 0x640], 0xfb87a089
jb 0x10018c94
mov byte [ebp - 0x12], 8
movsx edx, byte [ebp - 0x15]
test edx, edx
je 0x10018c3d
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], ecx
jmp 0x10018c4f
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1006711c]
xor eax, eax
push 0xb334e
push 0x72554dd1
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [str.Y__W1_]
imul ecx, dword [ebp - 0x44]
mov edx, dword [str.Y__W1_]
sub edx, ecx
mov dword [str.Y__W1_], edx
jmp 0x10018d19
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10018d19
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
add ecx, eax
adc esi, edx
mov dword [0x10067148], ecx
mov dword [0x1006714c], esi
movzx eax, word [ebp - 0x20]
cdq
mov edx, dword [0x10067180]
sub edx, eax
sub edx, dword [0x100671a0]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x4c], 0
je 0x10018cf6
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], edx
jmp 0x10018d0d
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], ecx
mov edx, dword [ebp - 0x650]
mov dword [0x10067150], edx
jmp 0x10018dd5
mov dword [ebp - 4], 0xffffffff
jmp 0x10018de5
mov eax, dword [ebp - 0x780]
or eax, dword [ebp - 0x784]
cmp eax, 0x1e
je 0x1001f33f
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
push 0
push 0x70a9
push edx
push ecx
call fcn.100409b0
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc94], ecx
sub eax, 0xfe15
mov edx, dword [str.Y__W1_]
and edx, eax
mov dword [str.Y__W1_], edx
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [0x10067188]
sub ecx, eax
mov eax, dword [0x1006718c]
sbb eax, edx
mov dword [0x10067188], ecx
mov dword [0x1006718c], eax
mov ecx, 2
imul edx, ecx, 0xd10a
movsx eax, word [edx + 0x10077c48]
cdq
add eax, dword [0x10067158]
adc edx, dword [0x1006715c]
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xc98], ecx
add eax, 0x8b
mov byte [0x1006706f], al
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x10018eab
movzx eax, byte [0x10067063]
mov dword [ebp - 0x334], eax
jmp 0x10018eb8
movzx ecx, word [0x10067144]
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x334]
mov dword [0x10067150], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movzx edx, word [ebp - 0xea0]
cmp edx, 0x5a4d
jne 0x10018f05
cmp dword [ebp - 0x9c], 0
jne 0x1001f33f
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10018f19
mov dword [ebp - 0x338], 1
jmp 0x10018f23
mov dword [ebp - 0x338], 0
cmp dword [ebp - 0x338], 0xa88c
jge 0x10018f3b
mov dword [ebp - 0x33c], 1
jmp 0x10018f45
mov dword [ebp - 0x33c], 0
mov ecx, dword [ebp - 0x33c]
not ecx
test ecx, ecx
je 0x100190f0
movzx edx, word [ebp - 0x2c]
imul edx, dword [0x10067168]
test edx, edx
jne 0x100190f0
push 0
movzx eax, byte [ebp - 0x20]
push eax
movzx ecx, byte [ebp - 0x11]
push ecx
push 0
call fcn.10032de0
movsx dx, al
mov word [ebp - 0x28], dx
movzx eax, word [ebp - 0x28]
test eax, eax
jle 0x10019099
mov dword [ebp - 0x108], 0x116a
mov eax, dword [0x10067140]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x20]
cdq
push 0xc9729
push 0x910acf6d
push edx
push eax
call fcn.100409b0
mov dword [0x10067180], eax
mov dword [0x10067184], edx
movzx ecx, byte [0x1006704f]
and ecx, dword [0x10067128]
mov byte [ebp - 0x13], cl
movzx eax, word [0x10067144]
cdq
mov ecx, eax
xor ecx, dword [0x100671a0]
movzx eax, byte [ebp - 0x16]
cdq
mov esi, eax
xor esi, dword [0x100671a0]
movsx eax, byte [0x10067027]
cdq
sub eax, esi
add eax, ecx
mov word [ebp - 0x28], ax
cmp dword [ebp - 0x108], 0xf84
jle 0x10019097
mov edx, dword [0x10067150]
add edx, 0x6a
mov word [ebp - 0x24], dx
mov eax, dword [0x10067160]
sub eax, 0xf33655bb
mov byte [0x10067026], al
cmp dword [0x1006711c], 0
je 0x10019063
movzx eax, byte [str.OrOutput_of_signing]
cdq
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], edx
jmp 0x1001907b
mov ecx, dword [0x100671a0]
mov edx, dword [0x100671a4]
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x658]
mov dword [0x10067140], eax
mov ecx, dword [ebp - 0x108]
sub ecx, 1
mov dword [ebp - 0x108], ecx
jmp 0x1001901c
jmp 0x100190f0
mov edx, dword [0x100671a0]
or edx, dword [0x100671a4]
jne 0x100190b0
mov eax, dword [ebp - 0x30]
not eax
test eax, eax
je 0x100190f0
mov ecx, dword [0x10067118]
sar ecx, 4
mov byte [0x10067063], cl
movzx eax, byte [0x10067063]
cdq
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
add ecx, eax
adc esi, edx
mov dword [0x10067148], ecx
mov dword [0x1006714c], esi
movsx edx, word [ebp - 0x1c]
movsx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
mov dword [ebp - 4], 0x1e
jmp 0x1001911c
mov dword [ebp - 4], 0xffffffff
jmp 0x1001912c
mov edx, dword [0x10067c3c]
mov dword [ebp - 0x10c], edx
cmp dword [0x10067194], 0
je 0x100191de
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xc9c], edx
movzx eax, word [0x10067154]
cdq
sub eax, ecx
mov byte [0x10067063], al
mov dword [0x10067118], 1
movzx eax, word [ebp - 0x28]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100671a8]
mov ecx, dword [0x100671ac]
push ecx
push eax
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.100409b0
mov ecx, eax
mov ebx, edx
sub ecx, esi
sbb ebx, edi
movzx edx, word [ebp - 0x28]
movsx eax, word [0x1006712c]
and eax, edx
movsx edx, word [0x1006712c]
sub edx, eax
mov eax, edx
cdq
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa1c]
or eax, dword [ebp - 0xa18]
jne 0x100191d2
mov byte [ebp - 0x7a], 1
jmp 0x100191d6
mov byte [ebp - 0x7a], 0
mov cl, byte [ebp - 0x7a]
mov byte [ebp - 0x11], cl
jmp 0x10019241
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x10067158]
sub ecx, eax
mov eax, dword [0x1006715c]
sbb eax, edx
mov edx, dword [0x10067158]
sub edx, ecx
mov ecx, dword [0x1006715c]
sbb ecx, eax
mov dword [0x10067158], edx
mov dword [0x1006715c], ecx
movzx eax, word [0x10067154]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
xor edx, edx
mov dword [ebp - 0x38], 0xcadc70ce
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x10c]
add eax, 0xd8
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa24]
or eax, dword [ebp - 0xa20]
je 0x1001937b
movsx ecx, word [ebp - 0x24]
cmp ecx, dword [0x1006719c]
jl 0x1001928e
mov dword [ebp - 0x340], 1
jmp 0x10019298
mov dword [ebp - 0x340], 0
movsx edx, word [ebp - 0x24]
cmp edx, 0x4e
jl 0x100192ad
mov dword [ebp - 0x344], 1
jmp 0x100192b7
mov dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x344]
jge 0x1001931d
mov ecx, dword [ebp - 0x4c]
imul ecx, dword [str.Y__W1_]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
movsx eax, word [ebp - 0x1c]
xor eax, 0x67de8a53
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
movsx edx, byte [ebp - 0x13]
xor edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0xca0], edx
movzx eax, word [0x10067190]
cdq
add eax, ecx
mov word [0x10067190], ax
jmp 0x10019376
movzx eax, byte [ebp - 0x16]
movzx ecx, word [ebp - 0x28]
imul ecx, eax
mov word [ebp - 0x28], cx
movzx edx, word [ebp - 0x20]
movsx eax, byte [ebp - 0x11]
imul eax, edx
movsx ecx, byte [ebp - 0x11]
sub ecx, eax
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xa2c], edx
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0xa2c]
or ecx, dword [ebp - 0xa28]
je 0x10019368
mov dl, byte [ebp - 0x16]
mov byte [ebp - 0x79], dl
jmp 0x10019370
mov al, byte [0x1006706f]
mov byte [ebp - 0x79], al
mov cl, byte [ebp - 0x79]
mov byte [ebp - 0x12], cl
jmp 0x100193fd
mov edx, dword [0x10067188]
or edx, dword [0x1006718c]
jne 0x10019395
mov dword [ebp - 0x348], 1
jmp 0x1001939f
mov dword [ebp - 0x348], 0
movsx eax, word [ebp - 0x1c]
not eax
cmp eax, dword [ebp - 0x348]
jl 0x100193b9
mov dword [ebp - 0x34c], 1
jmp 0x100193c3
mov dword [ebp - 0x34c], 0
movzx ecx, word [0x10067144]
not ecx
cmp ecx, dword [ebp - 0x34c]
jge 0x100193fd
movsx edx, byte [ebp - 0x13]
shl edx, 6
mov byte [0x10067027], dl
mov byte [ebp - 0x15], 0x6f
movzx eax, word [0x10067154]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov edx, dword [ebp - 0x10c]
add edx, 0x245
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 4], 0x20
mov eax, dword [ebp - 0x48]
push eax
push 0x68
push 0
mov ecx, dword [0x100671a8]
mov edx, dword [0x100671ac]
mov dword [ebp - 0xca4], edx
push ecx
call fcn.100322f0
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0x788]
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movsx eax, byte [ebp - 0x11]
test eax, eax
je 0x1001945b
jmp 0x1001964d
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0x60]
jne 0x10019535
movzx edx, byte [0x1006706f]
test edx, edx
jne 0x10019486
xor eax, eax
mov dword [ebp - 0x660], 1
mov dword [ebp - 0x65c], eax
jmp 0x10019491
xorps xmm0, xmm0
movlpd qword [ebp - 0x660], xmm0
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x65c]
jg 0x10019535
jl 0x100194b1
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x660]
jae 0x10019535
mov eax, dword [ebp - 0x6c]
add eax, 0x483d
mov dword [0x10067194], eax
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x100194da
xor edx, edx
mov dword [ebp - 0x668], 1
mov dword [ebp - 0x664], edx
jmp 0x100194e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x668], xmm0
mov eax, dword [str.Y__W1_]
xor ecx, ecx
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add edx, dword [ebp - 0x668]
adc esi, dword [ebp - 0x664]
push ecx
push eax
push esi
push edx
call fcn.100409b0
xor eax, 0x2e403e60
xor edx, 0x3830f
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [str.Y__W1_], 0x2a28068c
movsx eax, byte [ebp - 0x13]
add eax, 0x78e03154
mov dword [0x10067134], eax
jmp 0x1001964d
movsx ecx, word [0x1006712c]
test ecx, ecx
je 0x100195b1
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
xor edx, dword [0x100671a0]
xor eax, dword [0x100671a4]
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
add ecx, edx
adc esi, eax
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
mov eax, dword [0x10067120]
mov edx, dword [0x10067124]
mov cl, 6
call fcn.100409f0
mov word [0x1006712c], ax
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xca8], eax
xor edx, 0xe1b4
mov dword [0x1006719c], edx
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x30], ecx
jmp 0x1001964d
mov edx, 0xffffffa3
test edx, edx
je 0x1001964d
cmp dword [0x10067134], 0
jne 0x100195db
xor eax, eax
mov dword [ebp - 0x670], 1
mov dword [ebp - 0x66c], eax
jmp 0x100195e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x670], xmm0
mov ecx, dword [ebp - 0x670]
mov edx, dword [ebp - 0x66c]
mov dword [0x10067180], ecx
mov dword [0x10067184], edx
movsx eax, word [ebp - 0x24]
imul ecx, eax, 0x4bbb
mov word [ebp - 0x24], cx
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
add edx, 0xc88a861c
adc eax, 0x8c298
mov dword [0x100671a8], edx
mov dword [0x100671ac], eax
movsx eax, byte [ebp - 0x12]
cdq
sub eax, 0xd9668dce
sbb edx, 0xec17d
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], esi
jmp 0x1001967e
mov dword [ebp - 4], 0xffffffff
jmp 0x1001968e
mov ecx, dword [ebp - 0x10c]
add ecx, 0x1b2
mov dword [ebp - 0xcac], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xa34], edx
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa34]
or ecx, dword [ebp - 0xa30]
jne 0x100196cc
mov dword [ebp - 0x350], 1
jmp 0x100196d6
mov dword [ebp - 0x350], 0
movsx edx, byte [ebp - 0x13]
cmp dword [ebp - 0x350], edx
jle 0x10019a2c
mov dword [0x10067194], 4
cmp dword [0x1006711c], 0
je 0x10019712
mov eax, dword [0x10067160]
mov ecx, dword [0x10067164]
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], ecx
jmp 0x10019723
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
mov edx, dword [ebp - 0x588]
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
movzx ecx, word [ebp - 0x20]
sub ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x30]
jne 0x1001974d
mov dword [ebp - 0x354], 1
jmp 0x10019757
mov dword [ebp - 0x354], 0
movsx edx, word [ebp - 0x24]
movzx eax, byte [str.OrOutput_of_signing]
sub eax, edx
and eax, dword [ebp - 0x354]
not eax
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xcb0], edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
mov eax, dword [0x10067194]
mov dword [ebp - 0x358], eax
cmp dword [ebp - 0x358], 4
ja case.default.0x100197ae
mov ecx, dword [ebp - 0x358]
jmp dword [ecx*4 + 0x1001f3d0]
mov edx, dword [ebp - 0x48]
xor edx, dword [0x10067160]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
push 0
push 0x3cb4
push ecx
push eax
call fcn.100409b0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movsx eax, byte [ebp - 0x14]
add eax, 0x4c90314b
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x10067027]
cdq
xor eax, 0xa4f23420
xor edx, 0xb4db2
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp case.default.0x100197ae
mov edx, dword [0x10067138]
or edx, dword [0x1006713c]
jne 0x1001981d
mov byte [ebp - 0x78], 1
jmp 0x10019821
mov byte [ebp - 0x78], 0
mov al, byte [ebp - 0x78]
mov byte [0x1006704f], al
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10019847
movzx eax, word [0x10067190]
cdq
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], edx
jmp 0x1001985e
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
mov dword [ebp - 0x678], edx
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x678]
mov dword [ebp - 0x44], ecx
mov edx, dword [0x10067180]
sub edx, 0x752fed
mov dword [str.Y__W1_], edx
mov eax, dword [0x10067124]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, dword [0x10067120]
adc edx, eax
push 0
push 0
push edx
push ecx
call fcn.100409b0
mov ecx, eax
mov esi, edx
not ecx
not esi
movsx edx, byte [ebp - 0x11]
mov eax, dword [ebp - 0x4c]
sub eax, edx
movzx edx, word [0x10067154]
not edx
movsx edi, word [ebp - 0x24]
sub edi, edx
sub edi, eax
mov eax, edi
cdq
xor eax, ecx
xor edx, esi
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa3c]
or eax, dword [ebp - 0xa38]
jne 0x100198ee
xor ecx, ecx
mov dword [ebp - 0x680], 1
mov dword [ebp - 0x67c], ecx
jmp 0x100198f9
xorps xmm0, xmm0
movlpd qword [ebp - 0x680], xmm0
mov edx, dword [ebp - 0x680]
mov eax, dword [ebp - 0x67c]
mov dword [0x10067188], edx
mov dword [0x1006718c], eax
jmp case.default.0x100197ae
movzx ecx, byte [str.OrOutput_of_signing]
shl ecx, 2
mov dword [0x10067194], ecx
cmp dword [0x10067134], 0
jne 0x1001993a
mov dword [ebp - 0x35c], 1
jmp 0x10019944
mov dword [ebp - 0x35c], 0
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x48], edx
movsx eax, byte [0x10067026]
test eax, eax
jne 0x1001996c
xor ecx, ecx
mov dword [ebp - 0x688], 1
mov dword [ebp - 0x684], ecx
jmp 0x10019977
xorps xmm0, xmm0
movlpd qword [ebp - 0x688], xmm0
mov edx, dword [ebp - 0x48]
xor eax, eax
mov ecx, 0x26db0ed5
sub ecx, dword [ebp - 0x688]
mov esi, 0x7c2a
sbb esi, dword [ebp - 0x684]
add ecx, edx
adc esi, eax
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
movsx eax, byte [ebp - 0x15]
cdq
xor eax, edi
xor edx, ebx
add eax, ecx
adc edx, esi
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov edx, dword [0x10067158]
add edx, 0x90
mov eax, dword [0x1006715c]
adc eax, 0
mov dword [0x100671a0], edx
mov dword [0x100671a4], eax
jmp case.default.0x100197ae
mov dword [ebp - 0x4c], 0xd5
mov ecx, dword [ebp - 0x48]
add ecx, 0x20a74542
mov word [0x10067154], cx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xcb4], edx
add ecx, 0xe90dab56
movsx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
jmp case.default.0x100197ae
mov ax, word [0x10067118]
mov word [ebp - 0x28], ax
mov dword [ebp - 0x44], 8
xor ecx, ecx
mov dword [ebp - 0x64], 0xc386
mov dword [ebp - 0x60], ecx
jmp 0x10019c35
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10019a40
mov dword [ebp - 0x360], 1
jmp 0x10019a4a
mov dword [ebp - 0x360], 0
movzx eax, word [ebp - 0x2c]
cmp eax, dword [ebp - 0x360]
jl 0x10019b86
movsx ecx, word [0x10067198]
sub ecx, 0x3a
jne 0x10019a7a
xor edx, edx
mov dword [ebp - 0x690], 1
mov dword [ebp - 0x68c], edx
jmp 0x10019a85
xorps xmm0, xmm0
movlpd qword [ebp - 0x690], xmm0
mov eax, dword [ebp - 0x690]
sub eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x68c]
sbb ecx, dword [ebp - 0x58]
mov dword [ebp - 0xa44], eax
mov dword [ebp - 0xa40], ecx
mov edx, dword [ebp - 0xa44]
or edx, dword [ebp - 0xa40]
jne 0x10019abd
mov dword [ebp - 0x368], 1
jmp 0x10019ac7
mov dword [ebp - 0x368], 0
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x10019adb
mov dword [ebp - 0x364], 1
jmp 0x10019ae5
mov dword [ebp - 0x364], 0
mov ecx, dword [ebp - 0x48]
imul ecx, dword [ebp - 0x364]
movzx edx, word [ebp - 0x28]
imul edx, ecx
test edx, edx
jne 0x10019b06
mov dword [ebp - 0x36c], 1
jmp 0x10019b10
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x368]
xor eax, dword [ebp - 0x36c]
mov byte [0x1006704f], al
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
mov eax, dword [ebp - 0x4c]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
not edi
not ebx
movzx eax, byte [0x1006704f]
cdq
sub eax, dword [0x10067180]
sbb edx, dword [0x10067184]
sub eax, edi
sbb edx, ebx
mov ecx, dword [0x1006718c]
push ecx
mov ecx, dword [0x10067188]
push ecx
push edx
push eax
call fcn.100409b0
mov byte [ebp - 0x15], al
mov dl, byte [ebp - 0x14]
mov eax, 1
imul ecx, eax, 0x4713
mov byte [ecx + 0x100e6d80], dl
jmp 0x10019c35
cmp dword [0x1006719c], 0
jne 0x10019b9b
mov dword [ebp - 0x370], 1
jmp 0x10019ba5
mov dword [ebp - 0x370], 0
movsx edx, byte [ebp - 0x13]
test edx, edx
jne 0x10019bb9
mov dword [ebp - 0x374], 1
jmp 0x10019bc3
mov dword [ebp - 0x374], 0
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x374]
jle 0x10019bdd
mov dword [ebp - 0x378], 1
jmp 0x10019be7
mov dword [ebp - 0x378], 0
movsx ecx, word [ebp - 0x24]
sub ecx, dword [ebp - 0x378]
je 0x10019c35
movsx edx, byte [ebp - 0x12]
add edx, 0x52779a65
xor eax, eax
mov dword [0x10067138], edx
mov dword [0x1006713c], eax
mov ecx, dword [ebp - 0x48]
xor ecx, 0xc5
xor edx, edx
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
imul ecx, dword [ebp - 0x48], 0xb9
mov word [ebp - 0x28], cx
mov edx, dword [0x10067c3c]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x64]
sub eax, 0xb6208daf
mov ecx, dword [ebp - 0x60]
sbb ecx, 0
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
imul edx, dword [0x10067118], 0xd6a5
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x110]
add eax, 0x34d
mov dword [ebp - 0xcb8], eax
movzx ecx, word [0x10067154]
cmp dword [ebp - 0x30], ecx
jge 0x10019cfc
movzx edx, word [ebp - 0x2c]
not edx
mov byte [ebp - 0x11], dl
movzx eax, word [ebp - 0x20]
test eax, eax
jne 0x10019ca1
mov dword [ebp - 0x37c], 1
jmp 0x10019cab
mov dword [ebp - 0x37c], 0
mov ecx, dword [str.Y__W1_]
not ecx
movzx edx, byte [str.OrOutput_of_signing]
sub edx, ecx
movsx eax, byte [0x10067027]
xor eax, dword [ebp - 0x37c]
imul eax, edx
imul eax, dword [0x1006719c]
mov word [ebp - 0x2c], ax
xor ecx, ecx
mov dword [ebp - 0x54], 0x82
mov dword [ebp - 0x50], ecx
mov edx, dword [str.Y__W1_]
xor eax, eax
add edx, 0x7d655f0c
adc eax, 0x73a5b
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x110]
add ecx, 0x1c
mov dword [ebp - 0x3b8], ecx
movzx edx, word [0x10067154]
imul eax, edx, 0x2fb90be7
mov ecx, dword [0x10067150]
add ecx, eax
mov dword [0x10067150], ecx
mov edx, dword [0x1006719c]
mov dword [ebp - 0x30], edx
mov eax, dword [0x100671a0]
add eax, 0x6b995c8e
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x110]
add ecx, 0x3d5
mov dword [ebp - 0xcbc], ecx
mov eax, dword [0x10067118]
cdq
push 0xc62e3
push 0x9ddd605a
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov byte [ebp - 0x11], al
push 0
push 0x8a
mov edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call fcn.100409b0
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
sub ecx, 0x3f8f9cad
sbb edx, 0x8d0d2
mov eax, dword [0x10067168]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [0x10067168], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x114], ecx
xor edx, edx
mov dword [ebp - 0x64], 0x7463d609
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], ecx
mov edx, dword [ebp - 0xa4c]
or edx, dword [ebp - 0xa48]
jne 0x10019e04
xor eax, eax
mov dword [ebp - 0xa54], 1
mov dword [ebp - 0xa50], eax
jmp 0x10019e0f
xorps xmm0, xmm0
movlpd qword [ebp - 0xa54], xmm0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xcc4], edx
xor eax, dword [ebp - 0xa54]
xor eax, ecx
mov byte [ebp - 0x15], al
movsx eax, byte [ebp - 0x13]
movzx ecx, word [ebp - 0x2c]
add eax, ecx
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov dl, byte [0x10067027]
add dl, 1
mov byte [0x10067027], dl
mov eax, dword [ebp - 0x114]
add eax, 0x386
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 4], 0x22
movsx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], edx
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0xa5c]
jne 0x10019e96
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0xa58]
je 0x10019ea2
mov dword [ebp - 0x380], 1
jmp 0x10019eac
mov dword [ebp - 0x380], 0
cmp dword [ebp - 0x6c], 0x3d
jne 0x10019eb8
cmp dword [ebp - 0x68], 0
je 0x10019ec4
mov dword [ebp - 0x384], 1
jmp 0x10019ece
mov dword [ebp - 0x384], 0
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x384]
jl 0x10019f3a
movzx ecx, byte [ebp - 0x16]
imul edx, ecx, 0x9cb07abb
test edx, edx
jne 0x10019ef6
mov dword [ebp - 0x388], 1
jmp 0x10019f00
mov dword [ebp - 0x388], 0
movzx eax, word [0x10067144]
or eax, dword [0x1006719c]
imul eax, dword [ebp - 0x388]
sub eax, dword [0x10067118]
not eax
cdq
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov eax, dword [ebp - 0x64]
add eax, 0x5dfa6219
mov dword [0x1006719c], eax
jmp 0x1001a08b
mov ecx, 0x7920a382
or ecx, 0xf0e07
je 0x10019fe1
mov eax, dword [ebp - 0x4c]
cdq
sub eax, 0xd5ebd249
sbb edx, 0x68c0a
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movsx edx, word [ebp - 0x24]
add edx, dword [0x1006716c]
movsx eax, word [ebp - 0x24]
add eax, edx
mov word [ebp - 0x24], ax
cmp dword [ebp - 0x44], 0
je 0x10019f99
mov ecx, dword [0x10067160]
mov edx, dword [0x10067164]
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x58c], edx
jmp 0x10019fad
movzx eax, byte [str.OrOutput_of_signing]
cdq
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
mov eax, dword [ebp - 0x590]
mov ecx, dword [ebp - 0x58c]
mov dword [0x10067160], eax
mov dword [0x10067164], ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xcc8], eax
sub edx, 0x5e11
mov dword [0x10067128], edx
jmp 0x1001a08b
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0xa64], ecx
mov dword [ebp - 0xa60], edx
mov eax, dword [ebp - 0xa64]
or eax, dword [ebp - 0xa60]
je 0x1001a035
mov ecx, dword [0x10067134]
sub ecx, 1
mov dword [0x10067134], ecx
xor edx, edx
mov dword [ebp - 0x54], 0xdd
mov dword [ebp - 0x50], edx
movsx eax, byte [ebp - 0x13]
sub eax, 0x2038ca49
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
jmp 0x1001a08b
mov edx, 0x4679
test edx, edx
je 0x1001a08b
movzx eax, word [ebp - 0x28]
add eax, 0x87
mov dword [str.Y__W1_], eax
movsx ecx, byte [ebp - 0x14]
movzx edx, byte [0x10067063]
sub edx, ecx
mov byte [0x10067063], dl
movsx eax, word [0x10067198]
test eax, eax
je 0x1001a076
movzx ecx, word [ebp - 0x28]
mov dword [ebp - 0x38c], ecx
jmp 0x1001a080
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x38c]
mov dword [0x1006716c], eax
jmp 0x1001a0e2
mov dword [ebp - 4], 0xffffffff
jmp 0x1001a0f2
mov eax, dword [ebp - 0x114]
add eax, 0x259
mov dword [ebp - 0x13c], eax
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x1001a11f
xor edx, edx
mov dword [ebp - 0x698], 1
mov dword [ebp - 0x694], edx
jmp 0x1001a12a
xorps xmm0, xmm0
movlpd qword [ebp - 0x698], xmm0
movzx eax, byte [0x1006706f]
movsx ecx, word [ebp - 0x24]
not ecx
add eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x698]
sub edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x694]
sbb ebx, dword [ebp - 0x68]
movzx eax, byte [0x1006706f]
add eax, 0xc5
not eax
cdq
xor eax, edi
xor edx, ebx
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov dword [0x10067168], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 6
call fcn.10040ac0
mov word [0x10067190], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xccc], eax
sub edx, 0x2c
mov byte [ebp - 0x13], dl
mov eax, dword [0x10067138]
mov edx, dword [0x1006713c]
mov cl, 6
call fcn.10040a10
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x114]
add ecx, 0x346
mov dword [ebp - 0x7c8], ecx
xor edx, edx
mov byte [ebp - 0x7c], dl
lea eax, [ebp - 0xfa0]
push eax
lea ecx, [ebp - 0x7c]
call fcn.10003300
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jmp 0x1001a1f5
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0x1e
jae 0x1001a257
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x78c], ecx
mov edx, dword [ebp - 0x98]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x78c]
movzx edx, word [ecx]
xor edx, eax
mov word [ebp - 0x15a], dx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x790]
mov cx, word [ebp - 0x15a]
mov word [eax], cx
jmp 0x1001a1e6
mov edx, 0x1e
shl edx, 1
mov eax, dword [ebp - 0x98]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x794], ecx
xor edx, edx
mov eax, dword [ebp - 0x794]
mov word [eax], dx
mov ecx, dword [ebp - 0x98]
add ecx, 2
mov dword [ebp - 0x79c], ecx
lea edx, [ebp - 0x798]
push edx
lea eax, [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x79c]
push ecx
call fcn.1000a640
movzx edx, word [0x10067154]
add edx, dword [0x10067150]
mov byte [ebp - 0x12], dl
xor eax, eax
mov dword [ebp - 0x6c], 0x80
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [0x10067188], ecx
mov dword [0x1006718c], edx
movzx eax, word [ebp - 0x28]
sar eax, 7
mov dword [0x10067194], eax
lea ecx, [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x390]
push edx
call fcn.10027f20
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
push 0x14
push 0x10053410
call fcn.1001f660
push 0x40
mov edx, dword [ebp - 0x11c]
push edx
lea eax, [ebp - 0xee0]
push eax
call fcn.10022000
mov dword [ebp - 0x118], 0
jmp 0x1001a33f
mov ecx, dword [ebp - 0x118]
add ecx, 2
mov dword [ebp - 0x118], ecx
cmp dword [ebp - 0x118], 0x330
jge 0x1001a39e
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x2019769e
mov dword [0x10067140], eax
movsx ecx, word [ebp - 0x1c]
not ecx
sub ecx, dword [0x1006716c]
mov byte [ebp - 0x12], cl
mov edx, dword [0x10067194]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movsx eax, byte [0x10067027]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov byte [0x10067027], al
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
jmp 0x1001a330
movzx eax, word [ebp - 0xee0]
cmp eax, 0x5a4d
jne 0x1001be62
mov dword [ebp - 4], 0x24
mov ecx, dword [ebp - 0x6c]
sub ecx, 1
mov edx, dword [ebp - 0x68]
sbb edx, 0
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
push 0
push 0x693c
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.100409b0
mov dword [0x10067168], eax
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x1001a400
movzx eax, byte [0x1006706f]
cdq
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], edx
jmp 0x1001a417
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], ecx
mov edx, dword [ebp - 0x598]
mov eax, dword [ebp - 0x594]
mov dword [0x10067180], edx
mov dword [0x10067184], eax
jmp 0x1001a491
mov dword [ebp - 4], 0xffffffff
jmp 0x1001a4a1
cmp dword [0x10067194], 0
je 0x1001a576
mov ecx, dword [ebp - 0x5c]
or ecx, dword [ebp - 0x58]
je 0x1001a544
mov edx, 8
imul eax, edx, 0xd
mov ecx, dword [eax + 0x100a2260]
mov dword [0x10067150], ecx
cmp dword [0x1006711c], 0
jne 0x1001a4e3
mov dword [ebp - 0x398], 1
jmp 0x1001a4ed
mov dword [ebp - 0x398], 0
movzx edx, word [ebp - 0x28]
xor edx, dword [ebp - 0x398]
movsx esi, word [ebp - 0x24]
and esi, 0xca0e16b3
not esi
add esi, edx
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
mov eax, dword [0x10067118]
cdq
sub eax, ecx
sbb edx, edi
push 0
push 0x13cb7ef2
push edx
push eax
call fcn.100409b0
sub eax, esi
mov word [0x1006712c], ax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub edx, 0x71
sbb eax, 0
mov dword [0x10067180], edx
mov dword [0x10067184], eax
jmp 0x1001a574
mov dword [ebp - 0x4c], 0x2d05
movzx ecx, byte [0x10067063]
sub ecx, 0xb5b6
mov word [0x10067154], cx
mov edx, dword [ebp - 0x64]
add edx, 0xc392
mov eax, dword [ebp - 0x60]
adc eax, 0
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
jmp 0x1001a5b8
mov ecx, 0x3fd7
mov word [ebp - 0x1c], cx
mov edx, dword [0x10067134]
xor eax, eax
mov ecx, dword [0x10067184]
push ecx
mov ecx, dword [0x10067180]
push ecx
push eax
push edx
call fcn.100409b0
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
mov edx, 4
imul eax, edx, 0x4e
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x100b5ef0], ecx
mov edx, dword [ebp - 0x11c]
push edx
call fcn.10012a40
mov dword [ebp - 0xb4], eax
mov eax, 8
mov word [0x10067144], ax
mov cl, byte [ebp - 0x14]
mov edx, 1
imul eax, edx, 0x1b54
mov byte [eax + 0x10217e30], cl
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [0x1006706f]
add edx, ecx
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x3a0]
add eax, 0xa9
or eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [ebp - 0x3a0]
imul edx, ecx, 0x2d
cmp edx, eax
je 0x1001ac24
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0xa68], ecx
mov edx, dword [ebp - 0xa6c]
or edx, dword [ebp - 0xa68]
je 0x1001a655
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ecx
jmp 0x1001a666
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], edx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x59c]
mov dword [0x10067180], edx
mov dword [0x10067184], eax
mov cx, word [0x10067170]
mov word [ebp - 0x24], cx
mov dword [0x10067128], 0xbd013e5c
movzx eax, word [ebp - 0x28]
cdq
mov ecx, 8
imul ecx, ecx, 0xc29
mov dword [ecx + 0x10096d18], eax
mov dword [ecx + 0x10096d1c], edx
movsx edx, byte [ebp - 0x15]
xor edx, dword [str.Y__W1_]
xor eax, eax
mov ecx, dword [0x1006713c]
push ecx
mov ecx, dword [0x10067138]
push ecx
push eax
push edx
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x14]
cdq
mov edi, eax
mov ebx, edx
add edi, dword [0x10067180]
adc ebx, dword [0x10067184]
movzx eax, byte [ebp - 0x16]
cdq
sub eax, edi
sbb edx, ebx
add eax, ecx
adc edx, esi
mov dword [ebp - 0xa74], eax
mov dword [ebp - 0xa70], edx
mov edx, dword [ebp - 0xa74]
or edx, dword [ebp - 0xa70]
jne 0x1001a71b
mov dword [ebp - 0x3a4], 1
jmp 0x1001a725
mov dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x1006711c]
sub ecx, dword [ebp - 0x48]
mov dword [0x1006711c], ecx
cmp dword [ebp - 0xb4], 0
jne 0x1001a9a9
mov byte [ebp - 0x13], 2
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov ecx, dword [0x10067134]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov ecx, dword [0x10067134]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [0x10067134], eax
movzx edx, byte [str.OrOutput_of_signing]
imul eax, edx, 0x3a
mov word [ebp - 0x2c], ax
movsx ecx, word [ebp - 0x1c]
sub ecx, 0x4d848ac
mov word [ebp - 0x2c], cx
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x120], dl
cmp byte [ebp - 0x120], 0
je 0x1001a7c8
cmp byte [ebp - 0x120], 1
je 0x1001a882
cmp byte [ebp - 0x120], 2
je 0x1001a8c4
jmp 0x1001a904
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xcd0], ecx
sub eax, 0x22f5
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa7c], edx
mov dword [ebp - 0xa78], eax
mov ecx, dword [ebp - 0xa7c]
or ecx, dword [ebp - 0xa78]
jne 0x1001a809
mov dword [ebp - 0x3a8], 1
jmp 0x1001a813
mov dword [ebp - 0x3a8], 0
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1001a827
mov dword [ebp - 0x3ac], 1
jmp 0x1001a831
mov dword [ebp - 0x3ac], 0
movsx eax, byte [0x10067027]
imul eax, dword [ebp - 0x3a8]
not eax
movsx ecx, byte [ebp - 0x15]
xor ecx, eax
and ecx, dword [ebp - 0x3ac]
mov eax, ecx
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov edx, 1
imul eax, edx, 0x33
movsx eax, byte [eax + 0x100a2078]
cdq
xor eax, dword [0x10067180]
xor edx, dword [0x10067184]
mov dword [0x10067180], eax
mov dword [0x10067184], edx
jmp 0x1001a904
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0xcd4], edx
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
push 0
push 0x9b
mov eax, dword [0x100671a4]
push eax
mov ecx, dword [0x100671a0]
push ecx
call fcn.100409b0
mov dword [0x10067160], eax
mov dword [0x10067164], edx
jmp 0x1001a904
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push eax
push edx
mov ecx, dword [0x10067164]
push ecx
mov edx, dword [0x10067160]
push edx
call fcn.100409b0
add eax, dword [0x10067160]
adc edx, dword [0x10067164]
mov dword [0x10067160], eax
mov dword [0x10067164], edx
mov ax, word [ebp - 0x20]
mov word [0x10067198], ax
mov byte [ebp - 0x14], 4
mov dword [ebp - 4], 0x26
movzx ecx, byte [0x10067063]
sub ecx, 0x332d
movzx edx, byte [0x10067063]
or edx, ecx
mov byte [0x10067063], dl
mov eax, 1
imul ecx, eax, 0xd
movzx edx, byte [ecx + 0x10067c40]
mov eax, dword [0x10067118]
sub eax, edx
mov dword [0x10067118], eax
jmp 0x1001a98a
mov dword [ebp - 4], 0xffffffff
jmp 0x1001a99a
mov dword [ebp - 0x9c], 0
jmp 0x1001ac24
xor eax, eax
mov dword [ebp - 0x5c], 4
mov dword [ebp - 0x58], eax
mov ecx, dword [0x10067140]
xor ecx, 0x79771e8d
mov word [0x10067198], cx
movsx edx, byte [ebp - 0x12]
xor edx, 0xe17a
mov dword [ebp - 0x4c], edx
mov eax, dword [0x10067c3c]
mov dword [0x10067134], eax
movsx eax, word [ebp - 0x1c]
cdq
push 0x332e7
push 0xa612c65a
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x69c], edx
cmp dword [ebp - 0x69c], 0
ja 0x1001ac0d
jb 0x1001aa29
cmp dword [ebp - 0x6a0], 4
ja 0x1001ac0d
mov eax, dword [ebp - 0x6a0]
mov dword [ebp - 0xe28], eax
mov ecx, dword [ebp - 0xe28]
jmp dword [ecx*4 + 0x1001f3e4]
mov eax, dword [0x1021b870]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.1000bc70
mov dword [0x1021b874], eax
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0xa84], eax
mov dword [ebp - 0xa80], edx
mov dword [ebp - 0xa8c], ecx
mov dword [ebp - 0xa88], esi
mov edx, dword [ebp - 0xa80]
cmp edx, dword [ebp - 0xa88]
jl 0x1001ac77
jg 0x1001ac6b
mov eax, dword [ebp - 0xa84]
cmp eax, dword [ebp - 0xa8c]
jb 0x1001ac77
mov dword [ebp - 0x3b0], 1
jmp 0x1001ac81
mov dword [ebp - 0x3b0], 0
movsx ecx, byte [ebp - 0x14]
cmp ecx, 0x1b
jl 0x1001ac96
mov dword [ebp - 0x3b4], 1
jmp 0x1001aca0
mov dword [ebp - 0x3b4], 0
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0x3b4]
jne 0x1001ad27
mov dword [ebp - 0x124], 0x23f
jmp 0x1001acc9
mov eax, dword [ebp - 0x124]
sub eax, 1
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
jle 0x1001ad25
mov ecx, dword [str.broken_pipe]
mov dword [ebp - 0xc60], ecx
mov edx, dword [0x1005342c]
mov dword [ebp - 0xc5c], edx
mov eax, dword [0x10053430]
mov dword [ebp - 0xc58], eax
lea ecx, [ebp - 0xc60]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x10067140], eax
mov edx, dword [0x100671a0]
add edx, 1
mov eax, dword [0x100671a4]
adc eax, 0
mov dword [0x100671a0], edx
mov dword [0x100671a4], eax
jmp 0x1001acba
jmp 0x1001ad62
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
sub ecx, 0x359c85d0
sbb edx, 0xfccba
mov eax, dword [str.Y__W1_]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.100409b0
mov dword [str.Y__W1_], eax
mov ecx, dword [0x10067c3c]
xor edx, edx
mov dword [0x10067160], ecx
mov dword [0x10067164], edx
mov eax, dword [ebp - 0x3b8]
add eax, dword [ebp - 0x3b8]
cmp eax, 0x156
je 0x1001be62
movzx ecx, word [0x10067144]
mov edx, dword [ebp - 0x48]
lea eax, [edx + ecx + 0x7565]
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x6c], 0x2913e70e
mov dword [ebp - 0x68], ecx
movzx edx, byte [str.OrOutput_of_signing]
sub edx, 0x60c04f1b
xor eax, eax
mov dword [0x10067170], edx
mov dword [0x10067174], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x10067164]
push eax
mov eax, dword [0x10067160]
push eax
push edx
push ecx
call fcn.100409b0
not eax
not edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call fcn.100409b0
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
mov eax, dword [ebp - 0x58]
sbb eax, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], eax
mov ecx, 8
imul edx, ecx, 0x2011
mov al, byte [edx + 0x10116998]
mov byte [0x10067063], al
cmp dword [0x1021b874], 0
jne 0x1001b83a
movzx ecx, word [ebp - 0x20]
movsx edx, word [0x10067198]
cmp edx, ecx
jge 0x1001ae38
mov dword [ebp - 0x3c0], 1
jmp 0x1001ae42
mov dword [ebp - 0x3c0], 0
cmp dword [0x10067168], 0
ja 0x1001ae57
mov dword [ebp - 0x3bc], 1
jmp 0x1001ae61
mov dword [ebp - 0x3bc], 0
cmp dword [ebp - 0x3bc], 0x5d32
jg 0x1001ae79
mov dword [ebp - 0x3c4], 1
jmp 0x1001ae83
mov dword [ebp - 0x3c4], 0
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [ebp - 0x3c4]
jle 0x1001af26
movsx ecx, byte [ebp - 0x13]
movzx edx, word [0x10067154]
and edx, ecx
jne 0x1001aeb0
mov dword [ebp - 0x3c8], 1
jmp 0x1001aeba
mov dword [ebp - 0x3c8], 0
mov esi, dword [0x1006711c]
xor edi, edi
mov eax, dword [0x10067128]
cdq
mov ecx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x50]
push edx
push eax
push ebx
push ecx
call fcn.100409b0
push edi
push esi
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x3c8]
shl eax, 7
not eax
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x44], eax
mov edx, dword [0x10067180]
sub edx, 0x151e0fb3
mov eax, dword [0x10067184]
sbb eax, 0
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
movzx ecx, byte [str.OrOutput_of_signing]
xor ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
xor edx, edx
mov dword [0x10067120], 1
mov dword [0x10067124], edx
movsx eax, word [0x1006712c]
cdq
add eax, 0xef10f2
mov dword [0x1006719c], eax
mov eax, dword [0x10067150]
add eax, 0x4fde
mov dword [0x1006711c], eax
movsx ecx, word [ebp - 0x1c]
sub ecx, 0x2260f81
mov byte [0x10067027], cl
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
mov dword [ebp - 0x5a8], edx
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a8]
or ecx, dword [ebp - 0x5a4]
je 0x1001afa5
cmp dword [ebp - 0x5a8], 1
jne 0x1001afa0
cmp dword [ebp - 0x5a4], 0
je 0x1001aff8
jmp 0x1001b038
mov edx, dword [ebp - 0x30]
add edx, dword [0x10067168]
mov dword [ebp - 0x30], edx
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [0x10067188], eax
mov dword [0x1006718c], ecx
movzx edx, word [0x10067144]
shl edx, 1
mov byte [ebp - 0x14], dl
movzx eax, word [ebp - 0x20]
cdq
push 0x12e36
push 0x6df9bd7b
push edx
push eax
call fcn.100409b0
mov ecx, eax
movsx eax, byte [0x10067026]
cdq
or eax, ecx
mov byte [0x10067026], al
jmp 0x1001b038
mov edx, dword [0x10067c3c]
mov dword [ebp - 0x128], edx
push 0
push 0
push 0
push 0
push 0
push 0x3b
push 0
push 2
call fcn.10034110
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
mov eax, dword [0x100671a8]
mov ecx, dword [0x100671ac]
mov dword [ebp - 0xa94], eax
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa90], 0
jg 0x1001b09b
mov edx, dword [0x10067c3c]
xor eax, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, 0xf9311
mov dword [ebp - 0x5c], 0x790fd043
mov dword [ebp - 0x58], ecx
movsx edx, word [ebp - 0x24]
sub edx, 0x89
mov byte [ebp - 0x16], dl
xor eax, eax
mov dword [0x10067148], 0x5dfa
mov dword [0x1006714c], eax
mov ecx, 0xad24b
mov dword [0x10067178], 0x51a8c5aa
mov dword [0x1006717c], ecx
mov edx, dword [ebp - 0x5c]
add edx, 0xd5b0d4f0
mov eax, dword [ebp - 0x58]
adc eax, 0
mov dword [0x10067120], edx
mov dword [0x10067124], eax
movsx ecx, word [ebp - 0x1c]
imul ecx, dword [0x1006711c]
movsx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
mov eax, dword [0x10067c3c]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 0x25ef
movsx ecx, byte [ebp - 0x11]
imul eax, ecx, 0x4a
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
movzx edx, byte [0x1006704f]
imul eax, edx, 0xc9d4
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x64]
add ecx, 0xee
mov word [0x10067144], cx
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xcf0], eax
add edx, 0xa2590f59
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x130], 0x2418
jle 0x1001ba0a
push 0xbf
push 0
push 0xda
call fcn.100327b0
movzx eax, ax
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov ecx, dword [0x100671a0]
or ecx, dword [0x100671a4]
je 0x1001b993
movzx edx, word [0x10067190]
imul eax, edx, 0x9103
mov dword [str.Y__W1_], eax
mov byte [ebp - 0x15], 0x42
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
push 0
push 0xf519bb4a
push edx
push ecx
call fcn.100409b0
mov ecx, dword [0x100671a0]
sub ecx, eax
mov edx, dword [ebp - 0x44]
xor edx, ecx
mov dword [0x1006719c], edx
jmp 0x1001b9f6
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x1001b9f6
movsx ecx, byte [ebp - 0x15]
imul ecx, dword [0x1006716c]
mov dword [0x10067194], ecx
movsx edx, byte [ebp - 0x15]
test edx, edx
je 0x1001b9c8
mov eax, dword [0x10067128]
cdq
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], edx
jmp 0x1001b9da
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5b0]
mov eax, dword [ebp - 0x5ac]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov cx, word [ebp - 0x24]
mov byte [str.OrOutput_of_signing], cl
mov edx, dword [ebp - 0x130]
sub edx, 1
mov dword [ebp - 0x130], edx
jmp 0x1001b916
mov eax, dword [ebp - 0x134]
add eax, 0x17b
mov dword [ebp - 0xcf4], eax
movzx eax, byte [0x1006706f]
cdq
mov dword [0x10067180], eax
mov dword [0x10067184], edx
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
push 0
push 0xac0c
push edx
push ecx
call fcn.100409b0
mov byte [ebp - 0x14], al
mov eax, dword [0x100671a0]
or eax, dword [0x100671a4]
je 0x1001ba6c
mov ecx, dword [0x100671a0]
mov edx, dword [0x100671a4]
mov dword [ebp - 0x6a8], ecx
mov dword [ebp - 0x6a4], edx
jmp 0x1001ba7d
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], edx
mov al, byte [ebp - 0x6a8]
mov byte [str.OrOutput_of_signing], al
movsx ecx, byte [0x10067027]
test ecx, ecx
jne 0x1001baa7
xor edx, edx
mov dword [ebp - 0x6b0], 1
mov dword [ebp - 0x6ac], edx
jmp 0x1001bab2
xorps xmm0, xmm0
movlpd qword [ebp - 0x6b0], xmm0
movzx eax, byte [0x1006704f]
cdq
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
and ecx, dword [0x10067170]
and esi, dword [0x10067174]
push edx
push eax
push esi
push ecx
call fcn.100409b0
sub eax, dword [ebp - 0x6b0]
sbb edx, dword [ebp - 0x6ac]
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov edx, dword [ebp - 0x134]
add edx, 0x2b7
mov dword [ebp - 0x3fc], edx
mov al, byte [0x10067c3c]
mov byte [ebp - 0x16], al
movzx ecx, word [0x10067144]
mov dword [0x1006711c], ecx
mov edx, dword [ebp - 0x134]
add edx, 0x8f
mov dword [ebp - 0x7a4], edx
push 0x76
push 0x76
push 0xa3
movsx ax, byte [ebp - 0x13]
movzx ecx, ax
push ecx
call fcn.10033490
mov word [ebp - 0x2c], ax
movzx edx, word [ebp - 0x2c]
test edx, edx
jge 0x1001bb5a
mov dword [ebp - 0x3f4], 1
jmp 0x1001bb64
mov dword [ebp - 0x3f4], 0
movzx eax, word [ebp - 0x2c]
cmp eax, 0x25
jge 0x1001bb79
mov dword [ebp - 0x3f8], 1
jmp 0x1001bb83
mov dword [ebp - 0x3f8], 0
mov ecx, dword [ebp - 0x3f4]
cmp ecx, dword [ebp - 0x3f8]
jg 0x1001bb93
jmp 0x1001bc0f
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0xae4], eax
mov dword [ebp - 0xae0], edx
cmp dword [ebp - 0xae0], 0xeb58d
jl 0x1001bc0f
movsx ecx, byte [0x10067027]
movsx edx, word [0x1006712c]
cmp edx, ecx
jge 0x1001be80
mov dword [ebp - 0x408], 1
jmp 0x1001be8a
mov dword [ebp - 0x408], 0
movsx eax, word [0x1006712c]
cmp eax, 0x4d
jge 0x1001bea2
mov dword [ebp - 0x40c], 1
jmp 0x1001beac
mov dword [ebp - 0x40c], 0
mov ecx, dword [ebp - 0x408]
cmp ecx, dword [ebp - 0x40c]
jg 0x1001bf60
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xaf8], edx
mov edx, dword [ebp - 0xaf8]
cmp edx, dword [0x1006715c]
jb 0x1001beef
ja 0x1001beed
mov eax, dword [ebp - 0xafc]
cmp eax, dword [0x10067158]
jbe 0x1001beef
jmp 0x1001bf5e
cmp dword [ebp - 0x44], 0
je 0x1001bf5e
movsx eax, byte [ebp - 0x13]
add eax, 0x84
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
or ecx, eax
or esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movsx eax, byte [0x10067027]
cdq
push edx
push eax
mov edx, dword [0x10067174]
push edx
mov eax, dword [0x10067170]
push eax
call fcn.100409b0
mov dword [0x10067170], eax
mov dword [0x10067174], edx
movzx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov eax, dword [0x10067160]
mov edx, dword [0x10067164]
mov cl, 1
call fcn.100409f0
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
jmp 0x1001bfa3
movzx eax, byte [str.OrOutput_of_signing]
cdq
add eax, dword [0x10067180]
adc edx, dword [0x10067184]
mov dword [0x10067180], eax
mov dword [0x10067184], edx
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
push eax
push edx
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call fcn.100409b0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x410]
imul eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x410]
mov edx, dword [ebp - 0x414]
lea ecx, [edx + ecx + 0x1f0]
cmp ecx, eax
je 0x1001f33f
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xcfc], eax
sub edx, 0x7dbf
mov byte [ebp - 0x15], dl
movsx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x1001c007
mov edx, dword [0x10067170]
mov eax, dword [0x10067174]
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], eax
jmp 0x1001c01b
mov ecx, dword [0x1006716c]
xor edx, edx
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b8]
mov ecx, dword [ebp - 0x5b4]
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
movzx eax, word [0x10067190]
sar eax, 4
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov edx, dword [0x1006719c]
sub edx, 0x2b
mov byte [0x10067063], dl
mov dword [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2d
jmp 0x1001c0b2
mov dword [ebp - 4], 0x2c
jmp 0x1001c0c2
jmp 0x1001c150
mov dword [ebp - 4], 0xffffffff
jmp 0x1001c160
movzx edx, word [ebp - 0xee0]
cmp edx, 0x5a4d
jne 0x1001c17c
cmp dword [ebp - 0x9c], 0
jne 0x1001f33f
movzx eax, word [ebp - 0x1c]
push eax
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0xd00], edx
movzx eax, cx
push eax
push 0xea
call fcn.100327b0
movzx eax, ax
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xb04], ecx
mov dword [ebp - 0xb00], edx
mov eax, dword [ebp - 0xb04]
or eax, dword [ebp - 0xb00]
je 0x1001c423
cmp dword [0x10067140], 0
je 0x1001c213
mov ecx, dword [0x10067194]
shr ecx, 1
mov dword [0x10067140], ecx
movsx eax, byte [ebp - 0x15]
sub eax, 0x48509818
cdq
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
mov dl, byte [ebp - 0x14]
mov byte [str.OrOutput_of_signing], dl
movzx eax, word [ebp - 0x20]
xor eax, 0x53
mov dword [ebp - 0x4c], eax
jmp 0x1001c421
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xb0c], ecx
mov dword [ebp - 0xb08], edx
mov eax, dword [ebp - 0xb0c]
or eax, dword [ebp - 0xb08]
je 0x1001c32b
movsx ecx, word [0x10067198]
add ecx, 0x2150dccc
mov dword [0x1006719c], ecx
mov edx, dword [0x10067180]
add edx, 1
mov dword [ebp - 0x48], edx
movsx eax, byte [ebp - 0x13]
imul ecx, eax, 0x23d24a5b
mov dword [ebp - 0x48], ecx
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
mov dword [ebp - 0xb14], edx
mov dword [ebp - 0xb10], eax
mov ecx, dword [ebp - 0xb14]
or ecx, dword [ebp - 0xb10]
jne 0x1001c294
mov dword [ebp - 0x41c], 1
jmp 0x1001c29e
mov dword [ebp - 0x41c], 0
mov edx, dword [ebp - 0x41c]
imul edx, dword [ebp - 0x30]
test edx, edx
jne 0x1001c2c0
xor eax, eax
mov dword [ebp - 0x6c0], 1
mov dword [ebp - 0x6bc], eax
jmp 0x1001c2cb
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c0], xmm0
mov ecx, dword [0x10067174]
push ecx
mov edx, dword [0x10067170]
push edx
mov eax, dword [ebp - 0x6bc]
push eax
mov ecx, dword [ebp - 0x6c0]
push ecx
call fcn.100409b0
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x64]
not edx
mov eax, dword [ebp - 0x60]
not eax
mov ecx, dword [0x100671a8]
mov ebx, dword [0x100671ac]
add ecx, edx
adc ebx, eax
push 0
push 0x5bd1f924
push ebx
push ecx
call fcn.100409b0
push edi
push esi
push edx
push eax
call fcn.100409b0
mov dword [0x10067194], eax
jmp 0x1001c421
cmp dword [0x10067128], 0
jne 0x1001c33d
mov edx, dword [ebp - 0x4c]
not edx
test edx, edx
je 0x1001c3ac
mov eax, dword [0x10067168]
add eax, 0xe5
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movsx eax, byte [ebp - 0x14]
cdq
push edx
push eax
mov edx, dword [0x100671a4]
push edx
mov eax, dword [0x100671a0]
push eax
call fcn.100409b0
or eax, dword [0x100671a0]
or edx, dword [0x100671a4]
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov eax, dword [ebp - 0x30]
cdq
add eax, dword [0x10067170]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [0x10067138]
sub edx, dword [ebp - 0x40]
mov eax, dword [0x1006713c]
sbb eax, ecx
mov dword [0x10067138], edx
mov dword [0x1006713c], eax
jmp 0x1001c421
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0xb1c], eax
mov dword [ebp - 0xb18], edx
mov ecx, dword [ebp - 0xb1c]
cmp ecx, dword [ebp - 0x64]
jne 0x1001c3df
mov edx, dword [ebp - 0xb18]
cmp edx, dword [ebp - 0x60]
jne 0x1001c3df
mov eax, dword [0x10067140]
cdq
add eax, dword [0x10067188]
adc edx, dword [0x1006718c]
add eax, dword [0x10067188]
adc edx, dword [0x1006718c]
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0xa8
push eax
push edx
call fcn.100409b0
mov dword [0x10067194], eax
jmp 0x1001c473
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub ecx, 0xe673
sbb edx, 0
mov dword [0x10067170], ecx
mov dword [0x10067174], edx
movsx eax, byte [0x10067027]
movsx ecx, byte [0x10067027]
movzx edx, word [0x10067144]
sub edx, ecx
imul edx, eax
mov dword [0x10067118], edx
movsx eax, byte [ebp - 0x14]
movzx ecx, word [ebp - 0x28]
xor ecx, eax
mov dx, word [ebp - 0x28]
shl dx, cl
mov word [ebp - 0x28], dx
mov eax, dword [0x10067148]
mov ecx, dword [0x1006714c]
mov dword [ebp - 0xb24], eax
mov dword [ebp - 0xb20], ecx
mov edx, dword [0x1006713c]
cmp edx, dword [ebp - 0xb20]
jg 0x1001c4e8
jl 0x1001c4a7
mov eax, dword [0x10067138]
cmp eax, dword [ebp - 0xb24]
jae 0x1001c4e8
movzx ecx, byte [0x1006704f]
movzx edx, word [0x10067144]
movsx eax, word [0x1006712c]
add eax, edx
xor eax, ecx
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movzx eax, word [0x10067154]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x1c]
sar edx, 2
mov byte [0x10067063], dl
jmp 0x1001c583
movsx eax, word [0x1006712c]
test eax, eax
je 0x1001c507
mov eax, dword [0x10067128]
cdq
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], edx
jmp 0x1001c519
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x6c8], ecx
mov dword [ebp - 0x6c4], edx
mov al, byte [ebp - 0x6c8]
mov byte [ebp - 0x14], al
movsx eax, byte [ebp - 0x15]
cdq
add eax, dword [0x10067160]
mov byte [ebp - 0x15], al
movsx ecx, word [ebp - 0x1c]
mov edx, dword [0x10067194]
not edx
sub edx, ecx
movzx eax, word [ebp - 0x28]
imul eax, edx
add eax, dword [0x1006716c]
jne 0x1001c561
xor ecx, ecx
mov dword [ebp - 0x6d0], 1
mov dword [ebp - 0x6cc], ecx
jmp 0x1001c56c
xorps xmm0, xmm0
movlpd qword [ebp - 0x6d0], xmm0
mov edx, dword [ebp - 0x6d0]
mov eax, dword [ebp - 0x6cc]
mov dword [0x10067138], edx
mov dword [0x1006713c], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x138], ecx
movzx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb28], edx
mov edx, dword [ebp - 0xb2c]
cmp edx, dword [0x100671a0]
jne 0x1001c95a
mov eax, dword [ebp - 0xb28]
cmp eax, dword [0x100671a4]
jne 0x1001c95a
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xb34], ecx
mov dword [ebp - 0xb30], edx
mov eax, dword [ebp - 0xb30]
cmp eax, dword [ebp - 0x68]
jg 0x1001c5fa
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov edx, dword [0x10067188]
not edx
mov esi, dword [0x1006718c]
not esi
mov dword [ebp - 0xb4c], edx
mov dword [ebp - 0xb48], esi
mov dword [ebp - 0xb54], eax
mov dword [ebp - 0xb50], ecx
mov eax, dword [ebp - 0xb48]
cmp eax, dword [ebp - 0xb50]
jb 0x1001c9b2
ja 0x1001c9a6
mov dword [ebp - 0x438], 0
imul edx, dword [ebp - 0x30], 0x54877fae
imul edx, dword [ebp - 0x438]
test edx, edx
je 0x1001c9fe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret