Function at 0x1002af60
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10051c40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x7d0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0xd2], 0x18
xor eax, eax
mov dword [ebp - 0x70], 0xf2
mov dword [ebp - 0x6c], eax
mov eax, dword [0x10067118]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx ecx, word [0x10067190]
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x10067160]
mov dword [ebp - 0x68], edx
mov eax, dword [0x10067158]
mov dword [ebp - 0x58], eax
mov ecx, 0x33b2d
mov dword [ebp - 0x54], 0x6644b68c
mov dword [ebp - 0x50], ecx
mov dl, byte [0x10067138]
mov byte [ebp - 0x13], dl
mov dword [ebp - 0x74], 0x1f07
mov eax, 0xa648e
mov dword [ebp - 0x34], 0x5fcf46b
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0x2a22c21b
mov dword [ebp - 0x24], ecx
mov dl, byte [0x10067140]
mov byte [ebp - 0x12], dl
movzx eax, word [0x10067190]
mov dword [ebp - 0x44], eax
mov eax, dword [0x10067128]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x2c], 0x1d52af7b
mov cl, byte [0x10067128]
mov byte [ebp - 0x14], cl
mov edx, dword [0x10067188]
mov eax, dword [0x1006718c]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x40], 0xcda30f
mov ecx, 0x2149
mov word [ebp - 0x1c], cx
movzx edx, word [0x10067144]
mov dword [ebp - 0x20], edx
mov al, byte [0x10067063]
mov byte [ebp - 0x11], al
xor ecx, ecx
mov dword [ebp - 0x64], 0x91
mov dword [ebp - 0x60], ecx
mov edx, dword [0x10067150]
mov word [ebp - 0x18], dx
mov ax, word [0x1006719c]
mov word [ebp - 0x3b0], ax
mov dword [ebp - 0x7b8], 0xa7eb
mov ecx, 0xda68
mov word [ebp - 0x3b4], cx
mov dl, byte [0x1006716c]
mov byte [ebp - 0xd1], dl
movsx ax, byte [0x10067026]
mov word [ebp - 0x3b8], ax
mov ecx, dword [0x10067158]
mov dword [ebp - 0x70c], ecx
movzx edx, word [0x10067154]
mov dword [ebp - 0x710], edx
mov dword [ebp - 0x714], 0xe49e28fd
mov dword [ebp - 4], 0
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1002b0fb
mov ecx, dword [0x10067188]
or ecx, dword [0x1006718c]
jne 0x1002b0fb
mov dword [ebp - 0x254], 0
jmp 0x1002b105
mov dword [ebp - 0x254], 1
cmp dword [0x1006719c], 0
jne 0x1002b11a
mov dword [ebp - 0x1e8], 1
jmp 0x1002b124
mov dword [ebp - 0x1e8], 0
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x1e8]
cmp dword [ebp - 0x254], edx
jae 0x1002b141
mov dword [ebp - 0x280], 1
jmp 0x1002b14b
mov dword [ebp - 0x280], 0
cmp dword [0x10067140], 0
jne 0x1002b168
xor eax, eax
mov dword [ebp - 0x33c], 1
mov dword [ebp - 0x338], eax
jmp 0x1002b173
xorps xmm0, xmm0
movlpd qword [ebp - 0x33c], xmm0
mov ecx, dword [0x10067184]
cmp ecx, dword [ebp - 0x338]
jg 0x1002b1a5
jl 0x1002b191
mov edx, dword [0x10067180]
cmp edx, dword [ebp - 0x33c]
jae 0x1002b1a5
xor eax, eax
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x340], eax
jmp 0x1002b1b0
xorps xmm0, xmm0
movlpd qword [ebp - 0x344], xmm0
mov eax, dword [0x10067140]
cdq
push edx
push eax
mov ecx, dword [0x1006718c]
push ecx
mov edx, dword [0x10067188]
push edx
call fcn.100409b0
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x530]
jg 0x1002b201
jl 0x1002b1f5
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x534]
jae 0x1002b201
mov dword [ebp - 0x284], 1
jmp 0x1002b20b
mov dword [ebp - 0x284], 0
mov edx, dword [ebp - 0x280]
cmp edx, dword [ebp - 0x284]
jge 0x1002b225
mov dword [ebp - 0x288], 1
jmp 0x1002b22f
mov dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
not eax
test eax, eax
je 0x1002b2d4
imul ecx, dword [ebp - 0x44], 0x19f460dc
mov byte [0x10067063], cl
mov edx, dword [ebp - 0x40]
sub edx, dword [0x10067170]
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0
push 0x8036e066
push edx
push ecx
call fcn.100409b0
mov ecx, eax
mov eax, dword [0x10067150]
cdq
sub eax, ecx
mov dword [0x10067150], eax
movsx eax, word [0x1006712c]
not eax
cdq
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
add ecx, eax
adc esi, edx
not ecx
not esi
xor edx, edx
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
add eax, dword [ebp - 0x40]
adc edi, edx
sub ecx, eax
sbb esi, edi
mov edx, dword [ebp - 0x5c]
not edx
xor eax, eax
mov edi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x6c]
and edi, dword [ebp - 0x34]
and ebx, dword [ebp - 0x30]
add edx, edi
adc eax, ebx
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x20], eax
jmp 0x1002b309
xor ecx, ecx
mov dword [0x10067188], 0x11f7
mov dword [0x1006718c], ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x7deedebb
mov dword [ebp - 0x44], edx
movsx eax, word [0x1006712c]
imul ecx, eax, 0x4febe8bc
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x20], 0x8827fb04
jmp 0x1002b33b
mov dword [ebp - 4], 0xffffffff
jmp 0x1002b34b
mov edx, dword [0x10067c3c]
mov dword [ebp - 0x94], edx
push 0xe0
push 0x2c
push 0
push 0
call fcn.100322f0
mov word [0x10067154], ax
movzx eax, word [0x10067154]
test eax, eax
jg 0x1002b46d
mov ecx, dword [str.Y__W1_]
xor edx, edx
mov eax, dword [0x100671a8]
mov esi, dword [0x100671ac]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x538], edx
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], esi
mov ecx, dword [ebp - 0x538]
cmp ecx, dword [ebp - 0x540]
jg 0x1002b3d1
jl 0x1002b3c5
mov edx, dword [ebp - 0x53c]
cmp edx, dword [ebp - 0x544]
jae 0x1002b3d1
mov dword [ebp - 0x28c], 1
jmp 0x1002b3db
mov dword [ebp - 0x28c], 0
cmp dword [str.Y__W1_], 0x24
jae 0x1002b3f0
mov dword [ebp - 0x290], 1
jmp 0x1002b3fa
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x28c]
cmp eax, dword [ebp - 0x290]
jl 0x1002b46b
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1002b424
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x348], eax
jmp 0x1002b43c
mov ecx, dword [0x10067170]
mov edx, dword [0x10067174]
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x34c]
mov dword [0x10067134], eax
movzx ecx, word [ebp - 0x18]
imul ecx, dword [0x1006719c]
movzx edx, word [ebp - 0x18]
or edx, ecx
mov word [ebp - 0x18], dx
mov eax, dword [0x10067118]
cdq
xor eax, dword [0x10067188]
mov byte [ebp - 0x11], al
jmp 0x1002b4cc
cmp dword [ebp - 0x2c], 0
je 0x1002b4cc
mov eax, dword [0x10067194]
xor ecx, ecx
sub eax, 0x9ca1869a
sbb ecx, 0x28bd4
mov dword [0x10067178], eax
mov dword [0x1006717c], ecx
movzx eax, byte [ebp - 0x13]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x20], ecx
movzx eax, word [0x10067144]
sub eax, 0x6e7e
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov edx, dword [ebp - 0x94]
add edx, 0x3e4
mov dword [ebp - 0x174], edx
push 0xd
push 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x718], ecx
movzx edx, al
push edx
call fcn.100314c0
movzx eax, al
cdq
mov dword [0x10067180], eax
mov dword [0x10067184], edx
mov eax, dword [0x10067180]
or eax, dword [0x10067184]
je 0x1002b551
mov ecx, dword [ebp - 0x3c]
sub ecx, 1
mov edx, dword [ebp - 0x38]
sbb edx, 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
movzx eax, byte [0x1006704f]
cdq
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x71c], edx
sub ecx, eax
not ecx
mov dword [ebp - 0x68], ecx
jmp 0x1002b5ac
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], ecx
mov edx, dword [ebp - 0x54c]
or edx, dword [ebp - 0x548]
je 0x1002b5ac
mov eax, dword [ebp - 0x58]
shr eax, 4
mov dword [ebp - 0x5c], eax
mov ecx, 4
imul edx, ecx, 0x5d
mov eax, dword [edx + 0x100b5ef0]
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movzx eax, word [0x10067144]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x94]
add ecx, 0x3a3
mov dword [ebp - 0x3cc], ecx
mov edx, 0x2b84
mov word [0x10067198], dx
mov eax, dword [ebp - 0x68]
sub eax, 0x5f
cdq
mov dword [0x10067158], eax
mov dword [0x1006715c], edx
mov eax, dword [ebp - 0x58]
movzx ecx, word [0x10067190]
sub eax, ecx
mov dword [0x1006719c], eax
imul edx, dword [ebp - 0x68], 0xd3e80270
mov dword [0x1006719c], edx
mov eax, dword [ebp - 0x94]
add eax, 0x1ad
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, dword [0x10067120]
mov esi, dword [0x10067124]
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], edx
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], esi
mov ecx, dword [ebp - 0x554]
cmp ecx, dword [ebp - 0x55c]
jne 0x1002b654
mov edx, dword [ebp - 0x550]
cmp edx, dword [ebp - 0x558]
je 0x1002b900
mov eax, dword [ebp - 0x68]
cdq
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x568], esi
mov edx, dword [ebp - 0x560]
cmp edx, dword [ebp - 0x568]
jb 0x1002b7d3
ja 0x1002b69c
mov eax, dword [ebp - 0x564]
cmp eax, dword [ebp - 0x56c]
jbe 0x1002b7d3
mov ecx, dword [0x10067138]
cmp ecx, dword [ebp - 0x3c]
jne 0x1002b6d5
mov edx, dword [0x1006713c]
cmp edx, dword [ebp - 0x38]
jne 0x1002b6d5
mov eax, dword [ebp - 0x68]
sub eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [str.Y__W1_]
mov dword [0x10067194], ecx
mov dl, byte [ebp - 0x68]
mov byte [0x1006704f], dl
jmp 0x1002b7ce
mov eax, dword [0x10067188]
or eax, dword [0x1006718c]
je 0x1002b7ce
mov ecx, 2
imul edx, ecx, 0x2f
mov ax, word [ebp - 0x74]
mov word [edx + 0x10077508], ax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x1002b70d
mov dword [ebp - 0xe4], 1
jmp 0x1002b717
mov dword [ebp - 0xe4], 0
mov eax, dword [0x10067140]
sub eax, dword [ebp - 0xe4]
cdq
sub eax, dword [0x10067188]
sbb edx, dword [0x1006718c]
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], edx
mov edx, dword [ebp - 0x574]
or edx, dword [ebp - 0x570]
jne 0x1002b75d
xor eax, eax
mov dword [ebp - 0x57c], 1
mov dword [ebp - 0x578], eax
jmp 0x1002b768
xorps xmm0, xmm0
movlpd qword [ebp - 0x57c], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x720], edx
add ecx, dword [0x10067158]
not ecx
mov eax, dword [0x10067158]
not eax
and ecx, eax
sub ecx, dword [ebp - 0x57c]
mov dword [0x1006711c], ecx
mov ecx, dword [0x10067134]
not ecx
movzx edx, byte [ebp - 0x13]
add ecx, edx
imul ecx, dword [ebp - 0x2c]
mov eax, 0xccd6c94
sub eax, ecx
jne 0x1002b7b8
mov dword [ebp - 0xe8], 1
jmp 0x1002b7c2
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0xe8]
mov dword [0x1006716c], ecx
jmp 0x1002b8fb
mov edx, dword [ebp - 0x5c]
cmp dword [ebp - 0x20], edx
je 0x1002b7e7
mov dword [ebp - 0xec], 1
jmp 0x1002b7f1
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x40]
sub eax, dword [0x1006716c]
cmp dword [ebp - 0xec], eax
jb 0x1002b8fb
mov ecx, dword [0x100671a8]
mov edx, dword [0x100671ac]
sub ecx, dword [0x10067170]
sbb edx, dword [0x10067174]
mov eax, dword [0x100671a8]
mov esi, dword [0x100671ac]
sub eax, ecx
sbb esi, edx
mov dword [0x100671a8], eax
mov dword [0x100671ac], esi
movsx ecx, byte [ebp - 0x11]
movzx edx, byte [0x10067063]
add ecx, edx
mov dword [0x1006711c], ecx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
add eax, 0xff232e32
adc ecx, 0xc252b
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], ecx
mov edx, dword [ebp - 0x584]
or edx, dword [ebp - 0x580]
jne 0x1002b889
xor eax, eax
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x350], eax
jmp 0x1002b894
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
movzx ecx, word [ebp - 0x18]
imul ecx, dword [0x10067128]
not ecx
movzx edx, word [ebp - 0x1c]
not edx
mov eax, dword [ebp - 0x40]
add eax, edx
imul ecx, eax
mov esi, ecx
xor edi, edi
mov ecx, dword [0x100671a4]
push ecx
mov edx, dword [0x100671a0]
push edx
mov eax, dword [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x354]
push ecx
call fcn.100409b0
xor esi, eax
xor edi, edx
mov dword [0x10067120], esi
mov dword [0x10067124], edi
movzx edx, word [0x10067154]
movsx eax, byte [0x10067026]
add edx, eax
mov word [0x10067154], dx
jmp 0x1002bad9
cmp dword [0x10067118], 0
jne 0x1002b960
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0x7a8], edx
not ecx
mov word [0x1006712c], cx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], eax
mov ecx, 0x6d
mov word [0x1006712c], cx
mov edx, dword [0x10067168]
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov edx, dword [0x10067168]
sub edx, eax
mov dword [0x10067168], edx
jmp 0x1002bad9
mov eax, 0xd9
test eax, eax
je 0x1002b9d5
movsx eax, byte [0x10067026]
cdq
mov ecx, dword [0x1006715c]
push ecx
mov ecx, dword [0x10067158]
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
movsx eax, byte [0x10067026]
cdq
sub eax, ecx
mov byte [0x10067026], al
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x7a4], eax
mov ecx, 4
imul eax, ecx, 0xc
mov dword [eax + 0x100772d8], edx
movzx ecx, byte [0x10067063]
movzx edx, word [ebp - 0x18]
add ecx, edx
mov byte [0x10067063], cl
xor eax, eax
mov dword [ebp - 0x7c], 0xe3ba
mov dword [ebp - 0x78], eax
jmp 0x1002bad9
mov ecx, dword [0x1006719c]
cmp ecx, dword [ebp - 0x74]
jne 0x1002b9ec
mov dword [ebp - 0xf0], 1
jmp 0x1002b9f6
mov dword [ebp - 0xf0], 0
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
movzx eax, word [0x10067190]
cdq
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x588], esi
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], edx
mov edx, dword [ebp - 0x588]
cmp edx, dword [ebp - 0x590]
ja 0x1002ba4c
jb 0x1002ba40
mov eax, dword [ebp - 0x58c]
cmp eax, dword [ebp - 0x594]
ja 0x1002ba4c
mov dword [ebp - 0xf4], 1
jmp 0x1002ba56
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0xf4]
jl 0x1002bad9
mov edx, 4
imul eax, edx, 0x5845
mov ecx, dword [eax + 0x100b6558]
xor edx, edx
mov dword [0x10067158], ecx
mov dword [0x1006715c], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 0xd3f02024
adc ecx, 0xb5006
mov edx, dword [ebp - 0x7c]
sub edx, eax
mov eax, dword [ebp - 0x78]
sbb eax, ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov ecx, dword [0x10067134]
add ecx, dword [0x1006716c]
add ecx, dword [0x10067168]
mov dword [0x10067128], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, dword [0x100671a0]
adc eax, dword [0x100671a4]
mov dword [0x100671a0], edx
mov dword [0x100671a4], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x98], ecx
movsx eax, byte [0x10067027]
and eax, 0xf086
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x44], edx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.100409b0
mov word [ebp - 0x18], ax
movzx edx, byte [str.OrOutput_of_signing]
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
xor ecx, eax
sub edx, ecx
jne 0x1002bb39
mov dword [ebp - 0xf8], 1
jmp 0x1002bb43
mov dword [ebp - 0xf8], 0
movzx edx, word [0x10067144]
imul edx, dword [ebp - 0x20]
movsx eax, word [0x10067198]
not eax
movzx ecx, byte [str.OrOutput_of_signing]
not ecx
add eax, ecx
sub edx, eax
sub edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x98]
add edx, 0x30f
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
not eax
not ecx
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push edx
push ecx
push eax
call fcn.100409b0
mov ecx, dword [ebp - 0x58]
not ecx
add eax, ecx
mov word [0x10067154], ax
movzx edx, word [ebp - 0x18]
sub edx, dword [0x1006711c]
movzx eax, word [ebp - 0x18]
and eax, edx
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push 0
push 0xea19a70a
push edx
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x5c]
add ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x98]
add edx, 0x6a
mov dword [ebp - 0x3d0], edx
movsx eax, byte [ebp - 0x11]
cdq
sub eax, 0xfc13f70c
sbb edx, 0xa7e8e
mov dword [0x10067120], eax
mov dword [0x10067124], edx
movzx eax, byte [0x10067063]
add eax, 0xad
mov ecx, dword [ebp - 0x2c]
xor ecx, eax
mov dword [ebp - 0x2c], ecx
movsx edx, byte [0x10067026]
sub edx, dword [0x10067134]
mov byte [0x10067026], dl
mov eax, dword [ebp - 0x98]
add eax, 0x339
mov dword [ebp - 0x3d4], eax
mov ecx, dword [0x10067168]
xor edx, edx
push 0x1f1d3
push 0x93cfb7c
push edx
push ecx
call fcn.100409b0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x10067170]
sub ecx, eax
mov eax, dword [0x10067174]
sbb eax, edx
mov dword [0x10067170], ecx
mov dword [0x10067174], eax
cmp dword [0x10067118], 0
jne 0x1002bc8e
xor ecx, ecx
mov dword [ebp - 0x35c], 1
mov dword [ebp - 0x358], ecx
jmp 0x1002bc99
xorps xmm0, xmm0
movlpd qword [ebp - 0x35c], xmm0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x35c]
sub eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x358]
sbb ecx, edx
mov edx, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
adc ecx, edx
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x598], ecx
mov eax, dword [ebp - 0x59c]
or eax, dword [ebp - 0x598]
jne 0x1002bce3
xor ecx, ecx
mov dword [ebp - 0x364], 1
mov dword [ebp - 0x360], ecx
jmp 0x1002bcee
xorps xmm0, xmm0
movlpd qword [ebp - 0x364], xmm0
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0x9c], ecx
cmp dword [0x10067194], 0
jne 0x1002bd21
mov dword [ebp - 0xfc], 1
jmp 0x1002bd2b
mov dword [ebp - 0xfc], 0
mov esi, dword [0x10067168]
sub esi, 0x6f38a44
xor edi, edi
movzx eax, word [0x10067154]
add eax, dword [ebp - 0xfc]
cdq
mov ebx, eax
mov eax, edx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x3c4], esi
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x3c0], edi
mov edi, dword [ebp - 0x30]
push edi
push esi
push ecx
push edx
mov dword [ebp - 0x3bc], eax
call fcn.100409b0
add ebx, eax
mov esi, dword [ebp - 0x3bc]
adc esi, edx
push esi
push ebx
mov esi, dword [ebp - 0x3c0]
push esi
mov esi, dword [ebp - 0x3c4]
push esi
call fcn.100409b0
mov byte [ebp - 0x14], al
mov eax, dword [0x10067178]
mov edx, dword [0x1006717c]
mov cl, 5
call fcn.100409f0
mov dword [0x10067128], eax
movsx edx, word [0x10067198]
test edx, edx
jne 0x1002bdca
xor eax, eax
mov dword [ebp - 0x36c], 1
mov dword [ebp - 0x368], eax
jmp 0x1002bdd5
xorps xmm0, xmm0
movlpd qword [ebp - 0x36c], xmm0
movsx eax, byte [ebp - 0x14]
movzx ecx, word [ebp - 0x18]
add eax, ecx
not eax
cdq
mov esi, eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push eax
push edx
mov ecx, dword [ebp - 0x368]
push ecx
mov edx, dword [ebp - 0x36c]
push edx
call fcn.100409b0
sub esi, eax
mov dword [0x10067150], esi
mov eax, dword [0x10067140]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x20]
and edx, dword [ebp - 0x74]
xor eax, eax
add ecx, edx
adc esi, eax
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
mov ecx, dword [ebp - 0x9c]
add ecx, 0x27e
mov dword [ebp - 0xb8], ecx
mov byte [ebp - 0x13], 0x31
mov byte [0x1006704f], 0x60
mov edx, dword [0x1006716c]
sub edx, 1
mov dword [0x1006716c], edx
mov eax, dword [ebp - 0x9c]
add eax, 0x21d
mov dword [ebp - 0x3d8], eax
mov ecx, dword [0x1006711c]
sub ecx, 1
mov dword [0x1006711c], ecx
mov edx, dword [0x10067158]
sub edx, 0x7c53f3f8
mov eax, dword [0x1006715c]
sbb eax, 0x9c07c
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov eax, dword [0x10067140]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
and ecx, eax
and esi, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov dword [str.Y__W1_], 0xb7bab0ab
mov ecx, dword [ebp - 0x9c]
add ecx, 0x14a
mov dword [ebp - 0xbc], ecx
push 0
push 0x6fd7
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.100409b0
mov dword [0x1006719c], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x20], 0xfc6d317a
mov edx, dword [0x10067c3c]
mov dword [ebp - 0xa0], edx
push 0
push 1
push 0
push 0x39
push 0
push 0
push 0
push 0
push 0
push 0x47
call fcn.100354c0
mov dword [0x10067128], eax
cmp dword [0x10067128], 0
je 0x1002c072
mov byte [str.OrOutput_of_signing], 1
mov eax, dword [0x10067128]
sub eax, 0x31d7b90f
mov dword [0x10067118], eax
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov cl, byte [str.OrOutput_of_signing]
mov byte [ebp - 0x100], cl
cmp byte [ebp - 0x100], 0
je 0x1002bf9a
cmp byte [ebp - 0x100], 1
je 0x1002bffa
jmp 0x1002c070
mov eax, dword [ebp - 0x44]
add eax, 0xb016
cdq
or eax, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x40]
xor eax, eax
sub edx, 0x753afee9
sbb eax, 0x73c96
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x20]
and ecx, dword [0x10067194]
mov dword [ebp - 0x20], ecx
movsx eax, byte [0x10067026]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x7a0], eax
xor ecx, edx
movsx eax, byte [0x10067026]
cdq
sub eax, ecx
mov byte [0x10067026], al
jmp 0x1002c070
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movzx ecx, word [0x10067154]
test ecx, ecx
jne 0x1002c024
xor edx, edx
mov dword [ebp - 0x5a4], 1
mov dword [ebp - 0x5a0], edx
jmp 0x1002c02f
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a4], xmm0
mov eax, dword [ebp - 0x2c]
cdq
and eax, dword [0x10067188]
mov ecx, 0x28
sub ecx, eax
mov edx, dword [0x10067138]
add edx, dword [ebp - 0x5a4]
sub ecx, edx
mov dword [0x10067150], ecx
mov eax, dword [ebp - 0x2c]
add eax, 0x41556fcc
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov dl, byte [0x1006706f]
mov byte [0x1006704f], dl
jmp 0x1002c0be
mov eax, dword [0x10067134]
xor ecx, ecx
add eax, dword [0x10067160]
adc ecx, dword [0x10067164]
mov dword [0x10067160], eax
mov dword [0x10067164], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
push 0
push 0xb749
push eax
push edx
call fcn.100409b0
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x9c
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0xa0]
add ecx, 0x2e5
mov dword [ebp - 0x24c], ecx
mov edx, 2
imul eax, edx, 0x46
mov cx, word [0x10067168]
mov word [eax + 0x100a2178], cx
mov edx, dword [0x10067138]
sub edx, 0xe8d5
mov eax, dword [0x1006713c]
sbb eax, 0
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
add ecx, edx
adc esi, eax
mov dword [0x10067120], ecx
mov dword [0x10067124], esi
xor edx, edx
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xa0]
add eax, 0x1b
mov dword [ebp - 0x79c], eax
movzx ecx, word [0x10067190]
push ecx
push 0
mov edx, dword [0x10067118]
push edx
push 0
call fcn.100322f0
mov dword [0x1006719c], eax
cmp dword [0x1006719c], 0
jge 0x1002c1ac
mov eax, dword [str.Get_keys]
mov dword [ebp - 0x708], eax
mov ecx, dword [0x100535f0]
mov dword [ebp - 0x704], ecx
mov edx, dword [0x100535f4]
mov dword [ebp - 0x700], edx
mov eax, dword [0x100535f8]
mov dword [ebp - 0x6fc], eax
mov cx, word [0x100535fc]
mov word [ebp - 0x6f8], cx
lea edx, [ebp - 0x708]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov eax, dword [ebp - 0xa0]
add eax, 0x134
mov dword [ebp - 0x798], eax
mov ecx, dword [0x10067160]
add ecx, 0xfe6d
mov edx, dword [0x10067164]
adc edx, 0
mov dword [0x10067178], ecx
mov dword [0x1006717c], edx
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x794], edx
add ecx, eax
mov word [ebp - 0x18], cx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
and eax, 0x74245d92
and ecx, 0
mov dword [0x100671a8], eax
mov dword [0x100671ac], ecx
mov edx, dword [ebp - 0x3c]
add edx, 0x746812a1
mov eax, dword [ebp - 0x38]
adc eax, 0x52d1c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
push 0
push 0x90
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x790], edx
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.100322f0
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x3c]
or ecx, dword [ebp - 0x38]
je 0x1002c2a5
mov edx, dword [0x1006711c]
xor edx, 0x921a17f1
mov eax, dword [ebp - 0x20]
sub eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], 0x2eb3895
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x78c], edx
add ecx, 0xdae1
mov dword [0x10067168], ecx
push 0
push 0xc2b275b7
mov eax, dword [0x1006715c]
push eax
mov ecx, dword [0x10067158]
push ecx
call fcn.100409b0
mov byte [ebp - 0x13], al
jmp 0x1002c381
cmp dword [0x10067168], 0
jne 0x1002c2c2
xor edx, edx
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x370], edx
jmp 0x1002c2cd
xorps xmm0, xmm0
movlpd qword [ebp - 0x374], xmm0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
not eax
not ecx
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x370]
cmp edx, dword [ebp - 0x5a8]
ja 0x1002c30d
jb 0x1002c301
mov eax, dword [ebp - 0x374]
cmp eax, dword [ebp - 0x5ac]
ja 0x1002c30d
mov dword [ebp - 0x104], 1
jmp 0x1002c317
mov dword [ebp - 0x104], 0
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], edx
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x5b4]
jne 0x1002c34a
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x5b0]
jne 0x1002c34a
mov dword [ebp - 0x108], 1
jmp 0x1002c354
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0x108]
jne 0x1002c381
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x788], edx
mov dword [0x1006711c], ecx
movzx eax, byte [ebp - 0x12]
mov ecx, dword [ebp - 0x2c]
imul ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5bc], edx
mov dword [ebp - 0x5b8], eax
mov ecx, dword [0x1006715c]
cmp ecx, dword [ebp - 0x5b8]
ja 0x1002c3bd
jb 0x1002c3b1
mov edx, dword [0x10067158]
cmp edx, dword [ebp - 0x5bc]
jae 0x1002c3bd
mov dword [ebp - 0x10c], 1
jmp 0x1002c3c7
mov dword [ebp - 0x10c], 0
cmp dword [0x1006715c], 0
ja 0x1002c3e7
jb 0x1002c3db
cmp dword [0x10067158], 0x17
jae 0x1002c3e7
mov dword [ebp - 0x110], 1
jmp 0x1002c3f1
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x110]
jle 0x1002c6f0
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [0x10067178]
mov esi, dword [0x1006717c]
mov dword [ebp - 0x5c4], ecx
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], esi
mov ecx, dword [ebp - 0x5c0]
cmp ecx, dword [ebp - 0x5c8]
jb 0x1002c455
ja 0x1002c449
mov edx, dword [ebp - 0x5c4]
cmp edx, dword [ebp - 0x5cc]
jbe 0x1002c455
mov dword [ebp - 0x114], 1
jmp 0x1002c45f
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0x20], 0xf
jbe 0x1002c471
mov dword [ebp - 0x118], 1
jmp 0x1002c47b
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x118]
jl case.default.0x1002c51d
mov ecx, 3
mov word [ebp - 0x18], cx
mov dword [ebp - 0x68], 0x3d89cc66
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
push 0
push 0x58b3c591
push eax
push edx
call fcn.100409b0
mov ecx, eax
movsx eax, byte [0x10067027]
cdq
sub eax, ecx
mov byte [0x10067027], al
mov edx, dword [str.Y__W1_]
sub edx, dword [ebp - 0x5c]
add edx, dword [str.Y__W1_]
mov dword [str.Y__W1_], edx
cmp dword [ebp - 0x44], 0
je 0x1002c4ed
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x11c], eax
jmp 0x1002c4f7
movsx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 3
ja case.default.0x1002c51d
mov ecx, dword [ebp - 0x120]
jmp dword [ecx*4 + 0x100310b8]
mov edx, dword [0x10067118]
mov dword [ebp - 0x20], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x784], ecx
add eax, 0xa
mov word [ebp - 0x1c], ax
movzx edx, byte [0x10067063]
movzx eax, word [ebp - 0x1c]
imul edx, eax
movzx ecx, byte [0x10067063]
and ecx, edx
mov byte [0x10067063], cl
jmp case.default.0x1002c51d
movsx eax, word [0x10067198]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
sub ecx, eax
sbb 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
movzx ecx, byte [0x1006706f]
sub ecx, dword [0x1006719c]
mov byte [0x1006706f], cl
mov byte [0x1006706f], 9
mov eax, dword [ebp - 0x68]
add eax, 0x68c8
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
jmp case.default.0x1002c51d
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
push 0
push 0x7f4c40c
push eax
push edx
call fcn.100409b0
mov dword [0x10067194], eax
mov ecx, dword [str.Y__W1_]
sub ecx, 0xd9d2
mov byte [0x10067027], cl
movzx edx, byte [0x10067063]
test edx, edx
jne 0x1002c5fe
mov dword [ebp - 0x124], 1
jmp 0x1002c608
mov dword [ebp - 0x124], 0
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x40]
not edx
xor eax, eax
add edx, dword [0x10067188]
adc eax, dword [0x1006718c]
sub ecx, edx
sbb esi, eax
mov edx, dword [0x10067128]
sub edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x74]
not eax
and eax, dword [ebp - 0x74]
sub edx, eax
not edx
xor eax, eax
sub ecx, edx
sbb esi, eax
mov dword [0x10067138], ecx
mov dword [0x1006713c], esi
jmp case.default.0x1002c51d
movsx ecx, byte [0x10067027]
add ecx, 0xb0
mov dword [0x10067128], ecx
movzx eax, word [0x10067144]
cdq
add eax, dword [0x10067160]
mov edx, dword [0x10067158]
sub edx, dword [0x10067170]
or eax, edx
mov dword [ebp - 0x20], eax
movzx eax, byte [str.OrOutput_of_signing]
test eax, eax
jne 0x1002c6b4
xor ecx, ecx
mov dword [ebp - 0x334], 1
mov dword [ebp - 0x330], ecx
jmp 0x1002c6bf
xorps xmm0, xmm0
movlpd qword [ebp - 0x334], xmm0
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
not ecx
not esi
sub ecx, dword [ebp - 0x334]
sbb esi, dword [ebp - 0x330]
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov byte [0x10067026], al
jmp 0x1002c751
cmp dword [ebp - 0x44], 0
jne 0x1002c702
mov dword [ebp - 0x128], 1
jmp 0x1002c70c
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x58]
imul edx, dword [ebp - 0x128]
test edx, edx
jne 0x1002c751
movsx eax, byte [ebp - 0x14]
add eax, 0xeedf
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 0x12]
xor eax, 0x47e0
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10067150]
cdq
mov ecx, eax
sub ecx, dword [0x10067160]
mov eax, dword [0x10067150]
cdq
sub eax, ecx
mov dword [0x10067150], eax
mov dword [ebp - 0x8c], 0
mov eax, dword [0x100671a0]
mov edx, dword [0x100671a4]
mov cl, 6
call fcn.100409f0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx eax, word [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x7c]
adc edx, dword [ebp - 0x78]
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], edx
mov edx, dword [ebp - 0x5d4]
or edx, dword [ebp - 0x5d0]
jne 0x1002c7a4
mov dword [ebp - 0x12c], 1
jmp 0x1002c7ae
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x74]
mov esi, eax
movzx ecx, byte [0x1006706f]
add ecx, dword [ebp - 0x40]
mov edi, ecx
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
push eax
push edx
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.100409b0
not eax
add edi, eax
xor esi, edi
mov dword [ebp - 0x58], esi
mov eax, dword [0x10067170]
sub eax, dword [ebp - 0x4c]
mov ecx, dword [0x10067174]
sbb ecx, dword [ebp - 0x48]
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
movzx eax, byte [0x1006704f]
cdq
mov dword [ebp - 0x5dc], ecx
mov dword [ebp - 0x5d8], esi
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov edx, dword [ebp - 0x5d8]
cmp edx, dword [ebp - 0x5e0]
ja 0x1002c865
jb 0x1002c859
mov eax, dword [ebp - 0x5dc]
cmp eax, dword [ebp - 0x5e4]
jae 0x1002c865
mov dword [ebp - 0x130], 1
jmp 0x1002c86f
mov dword [ebp - 0x130], 0
movzx ecx, byte [ebp - 0x13]
movsx edx, byte [ebp - 0x11]
not edx
cmp ecx, edx
jne 0x1002c889
mov dword [ebp - 0x134], 1
jmp 0x1002c893
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x134]
jne 0x1002c8ad
mov dword [ebp - 0x138], 1
jmp 0x1002c8b7
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
not ecx
not esi
movzx eax, byte [0x1006706f]
cdq
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5e8], esi
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x5e8]
cmp ecx, dword [ebp - 0x418]
ja 0x1002c914
jb 0x1002c908
mov edx, dword [ebp - 0x5ec]
cmp edx, dword [ebp - 0x41c]
ja 0x1002c914
mov dword [ebp - 0x13c], 1
jmp 0x1002c91e
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x13c]
jl 0x1002c99e
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0x698d7
push 0x3d3385da
push edx
push ecx
call fcn.100409b0
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x5fc]
or eax, dword [ebp - 0x5f8]
jne 0x1002c971
xor ecx, ecx
mov dword [ebp - 0x37c], 1
mov dword [ebp - 0x378], ecx
jmp 0x1002c97c
xorps xmm0, xmm0
movlpd qword [ebp - 0x37c], xmm0
mov edx, dword [ebp - 0x37c]
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx ecx, byte [0x10067026]
sub ecx, 0x46
mov word [ebp - 0x1c], cx
jmp 0x1002ca06
cmp dword [ebp - 0x2c], 0
je 0x1002ca06
push 0
push 0xed
mov edx, dword [0x1006713c]
push edx
mov eax, dword [0x10067138]
push eax
call fcn.100409b0
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x58], ecx
mov dl, byte [0x10067c3c]
mov byte [0x10067063], dl
movsx eax, word [0x10067198]
movsx ecx, byte [ebp - 0x11]
imul eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x44]
cdq
mov edi, dword [0x10067124]
add eax, dword [0x10067120]
adc edx, edi
add ecx, eax
adc esi, edx
mov dword [0x10067158], ecx
mov dword [0x1006715c], esi
mov dword [ebp - 0x77c], 0
mov edx, dword [0x10067160]
add edx, 0xd353791c
mov eax, dword [0x10067164]
adc eax, 0x41c30
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
xor ecx, ecx
mov dword [ebp - 0x3c], 0x1e7
mov dword [ebp - 0x38], ecx
xor edx, edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
add eax, dword [0x10067134]
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 dword [ebp - 0x778], 0
movsx eax, byte [0x10067026]
imul eax, dword [0x1006716c]
movsx ecx, byte [0x10067026]
add ecx, eax
mov byte [0x10067026], cl
mov edx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sbb eax, dword [ebp - 0x48]
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
add edx, dword [ebp - 0x40]
adc eax, ecx
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
add ecx, edx
adc esi, eax
mov dword [0x10067178], ecx
mov dword [0x1006717c], esi
mov dword [ebp - 4], 2
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
mov ecx, dword [ebp - 0x20]
xor esi, esi
mov dword [ebp - 0x604], edx
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x60c], ecx
mov dword [ebp - 0x608], esi
mov edx, dword [ebp - 0x604]
cmp edx, dword [ebp - 0x60c]
jne 0x1002cb2c
mov eax, dword [ebp - 0x600]
cmp eax, dword [ebp - 0x608]
je 0x1002cb38
mov dword [ebp - 0x140], 1
jmp 0x1002cb42
mov dword [ebp - 0x140], 0
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x614], ecx
mov dword [ebp - 0x610], edx
cmp dword [ebp - 0x614], 0x3a
jne 0x1002cb6c
cmp dword [ebp - 0x610], 0
je 0x1002cb78
mov dword [ebp - 0x144], 1
jmp 0x1002cb82
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x144]
jl 0x1002cdda
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1002cd7c
xor edx, edx
mov dword [0x10067138], 1
mov dword [0x1006713c], edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x61c]
or edx, dword [ebp - 0x618]
je 0x1002cbdd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x148], eax
jmp 0x1002cbe9
mov ecx, dword [0x10067134]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
mov dword [0x10067140], edx
mov eax, dword [0x10067c3c]
mov dword [0x1006711c], eax
mov dword [ebp - 0x5c], 0xffffffcd
mov ecx, dword [0x10067138]
mov edx, dword [0x1006713c]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x27c]
or eax, dword [ebp - 0x278]
je 0x1002cc47
cmp dword [ebp - 0x27c], 1
jne 0x1002cc42
cmp dword [ebp - 0x278], 0
je 0x1002cd52
jmp 0x1002cd7a
mov ecx, dword [0x10067160]
or ecx, dword [0x10067164]
jne 0x1002cc61
mov dword [ebp - 0x14c], 1
jmp 0x1002cc6b
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
jne 0x1002cc7f
mov dword [ebp - 0x150], 1
jmp 0x1002cc89
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
and eax, dword [ebp - 0x150]
jne 0x1002cca3
mov dword [ebp - 0x154], 1
jmp 0x1002ccad
mov dword [ebp - 0x154], 0
movsx ecx, byte [0x10067026]
not ecx
movzx edx, word [0x10067190]
sub ecx, edx
mov eax, dword [ebp - 0x154]
sub eax, ecx
not eax
cdq
mov esi, eax
movzx eax, byte [0x1006704f]
not eax
cdq
mov edi, eax
mov eax, dword [0x10067184]
push eax
mov ecx, dword [0x10067180]
push ecx
mov edx, dword [0x10067184]
push edx
mov eax, dword [0x10067180]
push eax
call fcn.100409b0
add edi, eax
add esi, edi
mov dword [ebp - 0x5c], esi
mov ecx, 1
imul edx, ecx, 0x5a41
movsx eax, byte [edx + 0x100e6d80]
cdq
push edx
push eax
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.100409b0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 0x1c]
cdq
push 0xed116
push 0x3d6d424
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x2c], eax
jmp 0x1002cd7a
movzx edx, byte [0x10067063]
mov eax, dword [ebp - 0x2c]
imul eax, edx
mov dword [ebp - 0x2c], eax
mov cl, byte [0x10067c3c]
mov byte [str.OrOutput_of_signing], cl
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
jmp 0x1002cdd8
mov ecx, 8
imul ecx, ecx, 0x74d9
movsx eax, byte [ebp - 0x11]
cdq
add eax, dword [ecx + 0x10168268]
mov byte [ebp - 0x11], al
movzx eax, byte [0x10067063]
cdq
push 0x335e1
push 0xe3ff523c
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
call fcn.10040a10
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov edx, dword [0x1006711c]
mov eax, 4
imul ecx, eax, 0x3e3e
mov dword [ecx + 0x10138658], edx
jmp 0x1002ce1c
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
mov ecx, 8
imul ecx, ecx, 0x89
mov dword [ecx + 0x10116998], edx
mov dword [ecx + 0x1011699c], eax
mov eax, dword [0x10067118]
cdq
mov ecx, dword [0x100671a4]
push ecx
mov ecx, dword [0x100671a0]
push ecx
push edx
push eax
call fcn.100409b0
mov dword [0x10067118], eax
jmp 0x1002ce90
mov dword [ebp - 4], 0xffffffff
jmp 0x1002cea0
mov dword [ebp - 4], 4
cmp dword [ebp - 0x68], 0
je 0x1002d074
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
mov dword [ebp - 0x624], edx
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x620]
cmp ecx, dword [ebp - 0x38]
ja 0x1002ceec
jb 0x1002cee0
mov edx, dword [ebp - 0x624]
cmp edx, dword [ebp - 0x3c]
ja 0x1002ceec
mov dword [ebp - 0x158], 1
jmp 0x1002cef6
mov dword [ebp - 0x158], 0
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x628], ecx
cmp dword [ebp - 0x628], 0
jg 0x1002cf2d
jl 0x1002cf21
cmp dword [ebp - 0x62c], 0x50
ja 0x1002cf2d
mov dword [ebp - 0x15c], 1
jmp 0x1002cf37
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x158]
cmp edx, dword [ebp - 0x15c]
jne 0x1002d06f
cmp dword [ebp - 0x20], 0
jne 0x1002cf5b
mov dword [ebp - 0x160], 1
jmp 0x1002cf65
mov dword [ebp - 0x160], 0
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x1002cf81
xor ecx, ecx
mov dword [ebp - 0x384], 1
mov dword [ebp - 0x380], ecx
jmp 0x1002cf8c
xorps xmm0, xmm0
movlpd qword [ebp - 0x384], xmm0
mov edx, dword [0x1006716c]
xor eax, eax
or edx, dword [0x10067188]
or eax, dword [0x1006718c]
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x634]
or ecx, dword [ebp - 0x630]
jne 0x1002cfce
xor edx, edx
mov dword [ebp - 0x38c], 1
mov dword [ebp - 0x388], edx
jmp 0x1002cfd9
xorps xmm0, xmm0
movlpd qword [ebp - 0x38c], xmm0
mov eax, dword [ebp - 0x160]
add eax, 0xcfbf145
not eax
mov ecx, dword [ebp - 0x58]
not ecx
mov edx, dword [0x10067150]
not edx
sub ecx, edx
add eax, ecx
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
not edx
not esi
add edx, dword [ebp - 0x384]
adc esi, dword [ebp - 0x380]
add edx, dword [ebp - 0x38c]
adc esi, dword [ebp - 0x388]
push esi
push edx
push ecx
push eax
call fcn.100409b0
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x63c]
or eax, dword [ebp - 0x638]
jne 0x1002d052
xor ecx, ecx
mov dword [ebp - 0x394], 1
mov dword [ebp - 0x390], ecx
jmp 0x1002d05d
xorps xmm0, xmm0
movlpd qword [ebp - 0x394], xmm0
mov edx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
jmp 0x1002d1c7
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x1002d127
push 0
push 0x1e
mov edx, dword [0x100671a4]
push edx
mov eax, dword [0x100671a0]
push eax
call fcn.100409b0
mov dword [0x10067120], eax
mov dword [0x10067124], edx
cmp dword [ebp - 0x20], 0
jne 0x1002d0b3
mov dword [ebp - 0x164], 1
jmp 0x1002d0bd
mov dword [ebp - 0x164], 0
movzx eax, word [0x10067154]
cdq
mov esi, eax
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
mov eax, dword [0x10067150]
xor eax, dword [ebp - 0x164]
not eax
cdq
sub ecx, eax
not ecx
add esi, ecx
mov dword [0x10067134], esi
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [0x10067158], edx
mov dword [0x1006715c], eax
mov eax, dword [0x10067118]
sub eax, 0xb2
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x1002d1c7
movsx edx, byte [ebp - 0x11]
cmp dword [ebp - 0x5c], edx
je 0x1002d13c
mov dword [ebp - 0x168], 1
jmp 0x1002d146
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
not eax
test eax, eax
je 0x1002d1c7
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
push 0xa585d
push 0x5bed17fe
push edx
push ecx
call fcn.100409b0
mov dword [0x10067118], eax
mov eax, dword [str.Y__W1_]
xor ecx, ecx
mov edx, dword [0x10067148]
mov esi, dword [0x1006714c]
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
movzx eax, word [0x10067154]
movzx ecx, byte [ebp - 0x12]
imul eax, ecx
movzx edx, word [0x10067154]
add edx, eax
mov word [0x10067154], dx
mov eax, dword [0x10067140]
shl eax, 8
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
jmp 0x1002d224
mov dword [ebp - 4], 0xffffffff
jmp 0x1002d234
mov edx, dword [ebp - 0x40]
add edx, 0xd75f
mov word [0x10067154], dx
movsx eax, byte [0x10067027]
cdq
mov dword [0x10067178], eax
mov dword [0x1006717c], edx
movsx eax, word [0x10067198]
imul eax, eax, 0x8b36
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, 0xe5acf7fd
test ecx, ecx
je 0x1002d2e9
mov edx, dword [ebp - 0x5c]
xor eax, eax
push 0xb401c
push 0x310773e6
push eax
push edx
call fcn.100409b0
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movzx eax, word [0x10067154]
cdq
mov ecx, dword [0x100671a0]
sub ecx, eax
mov edx, dword [0x10067138]
add edx, 0x17a04b17
mov eax, dword [0x1006711c]
not eax
xor eax, dword [0x1006716c]
add edx, eax
add ecx, edx
mov byte [ebp - 0x11], cl
movzx ecx, word [0x10067154]
movzx edx, word [0x10067144]
xor ecx, edx
movzx eax, word [0x10067154]
add eax, ecx
mov word [0x10067154], ax
jmp 0x1002d413
cmp dword [0x10067118], 0
jne 0x1002d332
movzx ecx, byte [ebp - 0x12]
sub ecx, 0x4c2fae53
xor edx, edx
mov dword [0x10067148], ecx
mov dword [0x1006714c], edx
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [0x100671a8], eax
mov dword [0x100671ac], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 0xdb71
xor eax, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x1002d413
movzx ecx, byte [ebp - 0x12]
cmp ecx, dword [0x10067134]
ja 0x1002d360
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x774], eax
not edx
mov dword [ebp - 0x44], edx
mov ecx, dword [0x10067134]
xor ecx, 0x78
mov dword [ebp - 0x5c], ecx
jmp 0x1002d413
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x1002d413
movzx eax, byte [ebp - 0x12]
add eax, dword [0x1006716c]
add eax, dword [0x1006716c]
mov dword [0x1006716c], eax
movsx ecx, byte [ebp - 0x11]
sar ecx, 8
mov dword [0x10067168], ecx
mov edx, dword [0x10067170]
or edx, dword [0x10067174]
jne 0x1002d3a8
mov dword [ebp - 0x16c], 1
jmp 0x1002d3b2
mov dword [ebp - 0x16c], 0
movsx eax, byte [0x10067027]
not eax
imul eax, dword [ebp - 0x16c]
test eax, eax
jne 0x1002d3da
xor ecx, ecx
mov dword [ebp - 0x39c], 1
mov dword [ebp - 0x398], ecx
jmp 0x1002d3e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x39c], xmm0
mov edx, dword [0x10067188]
add edx, dword [0x10067160]
mov eax, dword [0x1006718c]
adc eax, dword [0x10067164]
sub edx, dword [ebp - 0x39c]
sbb eax, dword [ebp - 0x398]
mov dword [0x10067160], edx
mov dword [0x10067164], eax
xor ecx, ecx
mov byte [ebp - 0x7f], cl
lea ecx, [ebp - 0x7f]
call fcn.10002ca0
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
call fcn.1002ab20
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x170]
push edx
push 0
push 0
call fcn.100015e0
call eax
mov dword [ebp - 0x90], eax
mov dword [0x10067150], 0xb3
movzx eax, word [0x10067190]
imul eax, dword [0x10067150]
movzx ecx, word [0x10067190]
sub ecx, eax
mov word [0x10067190], cx
mov dl, byte [0x10067c3c]
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x174]
sub eax, dword [ebp - 0x3c8]
sub eax, dword [ebp - 0x174]
mov ecx, 0x118
sub ecx, dword [ebp - 0x3cc]
cmp eax, ecx
je 0x1002e322
movsx edx, byte [0x10067027]
imul edx, dword [ebp - 0x74]
mov esi, edx
xor edi, edi
mov eax, dword [ebp - 0x20]
not eax
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100671a4]
push edx
mov eax, dword [0x100671a0]
push eax
call fcn.100409b0
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x770], edx
sub ecx, 0x9634
mov dword [ebp - 0x5c], ecx
movzx eax, byte [0x1006704f]
imul eax, eax, 0xb4
cdq
mov dword [0x10067120], eax
mov dword [0x10067124], edx
mov ecx, dword [0x10067194]
xor edx, edx
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x640]
cmp eax, dword [0x1006718c]
jg 0x1002d547
jl 0x1002d53b
mov ecx, dword [ebp - 0x644]
cmp ecx, dword [0x10067188]
jae 0x1002d547
mov dword [ebp - 0x178], 1
jmp 0x1002d551
mov dword [ebp - 0x178], 0
cmp dword [0x10067194], 0x2c
jae 0x1002d566
mov dword [ebp - 0x17c], 1
jmp 0x1002d570
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x178]
cmp edx, dword [ebp - 0x17c]
jg 0x1002d70f
xor eax, eax
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x78], eax
mov ecx, 8
imul edx, ecx, 0x33
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov esi, dword [edx + 0x100b61a4]
push esi
mov edx, dword [edx + 0x100b61a0]
push edx
push ecx
push eax
call fcn.100409b0
mov dword [0x10067178], eax
mov dword [0x1006717c], edx
movzx eax, byte [0x1006706f]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x740], edx
add eax, ecx
mov byte [0x1006706f], al
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x274]
or ecx, dword [ebp - 0x270]
je 0x1002d629
cmp dword [ebp - 0x274], 1
jne 0x1002d624
cmp dword [ebp - 0x270], 0
je 0x1002d67e
jmp 0x1002d70a
movsx edx, byte [0x10067026]
sub edx, dword [0x10067140]
mov byte [0x10067026], dl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
push 0
push 0xe38202d9
push ecx
push eax
call fcn.100409b0
mov dword [0x10067180], eax
mov dword [0x10067184], edx
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
mov dword [ebp - 0x7ac], eax
add edx, 0x45
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x44], 0x6391
jmp 0x1002d70a
mov ecx, 0xffffdc96
mov word [0x10067198], cx
movsx edx, word [0x10067198]
sub edx, 0x60aa1256
xor eax, eax
mov dword [0x100671a0], edx
mov dword [0x100671a4], eax
mov eax, dword [ebp - 0x2c]
shl eax, 1
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0x64c], ecx
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x64c]
or eax, dword [ebp - 0x648]
jne 0x1002d6e2
mov dword [ebp - 0x180], 1
jmp 0x1002d6ec
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x5c]
not ecx
mov edx, dword [ebp - 0x44]
imul edx, ecx
mov eax, 0x7b
sub eax, dword [ebp - 0x180]
and edx, eax
mov dword [0x1006711c], edx
jmp 0x1002d826
movzx ecx, word [0x10067190]
test ecx, ecx
jne 0x1002d726
mov dword [ebp - 0x184], 1
jmp 0x1002d730
mov dword [ebp - 0x184], 0
cmp dword [ebp - 0x184], 0xba06bd70
jbe 0x1002d748
mov dword [ebp - 0x188], 1
jmp 0x1002d752
mov dword [ebp - 0x188], 0
mov edx, dword [0x100671a0]
or edx, dword [0x100671a4]
jne 0x1002d774
xor eax, eax
mov dword [ebp - 0x3a4], 1
mov dword [ebp - 0x3a0], eax
jmp 0x1002d77f
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a4], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0x3a4]
cmp eax, dword [ebp - 0x654]
jne 0x1002d7ad
mov ecx, dword [ebp - 0x3a0]
cmp ecx, dword [ebp - 0x650]
je 0x1002d7b9
mov dword [ebp - 0x18c], 1
jmp 0x1002d7c3
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x18c]
je 0x1002d826
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [0x100671a8], eax
mov dword [0x100671ac], ecx
mov edx, dword [ebp - 0x20]
mov eax, 2
imul ecx, eax, 0x18
mov word [ecx + 0x100a2178], dx
mov edx, 1
imul eax, edx, 0x39
mov cl, byte [ebp - 0x14]
mov byte [eax + 0x100a1ff8], cl
mov edx, dword [0x10067194]
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
not ecx
not esi
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov dword [str.Y__W1_], eax
cmp dword [ebp - 0x90], 0
jne 0x1002e322
mov dword [ebp - 0xa4], 0
jmp 0x1002d84e
mov edx, dword [ebp - 0xa4]
add edx, 2
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0x1b4
jge 0x1002d9b1
mov eax, dword [0x10067138]
or eax, dword [0x1006713c]
je 0x1002d921
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x40]
sub ecx, 0xc5d0
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x724], ecx
xor eax, 0xae0a
mov dword [ebp - 0x74], eax
movzx edx, byte [0x10067063]
imul edx, dword [ebp - 0x40]
movzx eax, byte [0x10067063]
sub eax, edx
mov byte [0x10067063], al
jmp 0x1002d90f
mov dword [ebp - 4], 0xffffffff
jmp 0x1002d91f
jmp 0x1002d99d
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [0x10067164]
push eax
mov eax, dword [0x10067160]
push eax
push edx
push ecx
call fcn.100409b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1002d952
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x190], edx
jmp 0x1002d95f
movzx eax, byte [0x1006704f]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [0x10067150], ecx
movsx edx, word [0x10067198]
mov eax, dword [ebp - 0x44]
imul eax, edx
mov dword [0x10067134], eax
movzx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x85458c25
test edx, edx
jne 0x1002d991
mov byte [ebp - 0x7d], 1
jmp 0x1002d995
mov byte [ebp - 0x7d], 0
mov al, byte [ebp - 0x7d]
mov byte [0x10067027], al
mov ecx, dword [0x10067140]
add ecx, 1
mov dword [0x10067140], ecx
jmp 0x1002d83f
mov dword [ebp - 4], 8
movzx edx, word [ebp - 0x18]
not edx
movsx eax, word [0x1006712c]
add edx, eax
jne 0x1002d9d5
mov dword [ebp - 0x194], 1
jmp 0x1002d9df
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x40], ecx
movsx edx, byte [ebp - 0x14]
add edx, 0x6c54baa5
xor eax, eax
mov dword [0x10067188], edx
mov dword [0x1006718c], eax
push 0
push 0x9b8b
mov ecx, dword [0x1006718c]
push ecx
mov edx, dword [0x10067188]
push edx
call fcn.100409b0
mov word [0x10067154], ax
jmp 0x1002da72
mov dword [ebp - 4], 0xffffffff
jmp 0x1002da82
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], edx
mov edx, dword [0x10067158]
cmp edx, dword [ebp - 0x65c]
jne 0x1002db24
mov eax, dword [0x1006715c]
cmp eax, dword [ebp - 0x658]
jne 0x1002db24
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x72c], edx
sub ecx, 0x9b5631dd
mov dword [0x10067194], ecx
cmp dword [0x1006716c], 0
je 0x1002daf3
mov eax, dword [0x10067160]
mov ecx, dword [0x10067164]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x3a8], ecx
jmp 0x1002db0a
mov edx, dword [0x10067138]
mov eax, dword [0x1006713c]
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x3a8], eax
mov cx, word [ebp - 0x3ac]
mov word [0x10067144], cx
mov byte [0x1006704f], 0xbc
jmp 0x1002dbe6
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x664]
or ecx, dword [ebp - 0x660]
jne 0x1002db58
xor edx, edx
mov dword [ebp - 0x29c], 1
mov dword [ebp - 0x298], edx
jmp 0x1002db63
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
mov eax, dword [0x10067140]
cdq
mov ecx, eax
mov esi, edx
or ecx, dword [0x10067180]
or esi, dword [0x10067184]
not ecx
not esi
add ecx, dword [ebp - 0x29c]
adc esi, dword [ebp - 0x298]
movsx eax, byte [0x10067027]
movzx edx, byte [ebp - 0x13]
not edx
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x44]
cdq
add eax, dword [0x10067188]
adc edx, dword [0x1006718c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
add eax, dword [0x10067170]
adc ecx, dword [0x10067174]
push ecx
push eax
mov edx, dword [0x1006713c]
push edx
mov eax, dword [0x10067138]
push eax
call fcn.100409b0
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0xac]
add ecx, 0x35a
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 4], 0xa
mov byte [str.OrOutput_of_signing], 2
movzx eax, byte [0x1006704f]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x7c]
movzx edx, word [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
add eax, edx
cdq
add ecx, eax
not ecx
mov word [ebp - 0x1c], cx
mov eax, 0x5b61b
mov dword [ebp - 0x64], 0xce141652
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x74]
add ecx, 0x3eb06651
mov dword [ebp - 0x44], ecx
xor edx, edx
mov dword [0x10067138], 0xa5b5
mov dword [0x1006713c], edx
mov al, byte [str.OrOutput_of_signing]
mov byte [ebp - 0xa8], al
cmp byte [ebp - 0xa8], 0
je 0x1002dc85
cmp byte [ebp - 0xa8], 1
je 0x1002dd41
cmp byte [ebp - 0xa8], 2
je 0x1002dd8f
jmp 0x1002ddc7
movzx eax, word [0x10067154]
cdq
add eax, 0x670f3893
adc edx, 0x55dc4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x10067180]
mov dword [0x1006716c], ecx
cmp dword [0x10067134], 0
jne 0x1002dcc7
xor edx, edx
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0x2a0], edx
jmp 0x1002dcd2
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a4], xmm0
mov eax, dword [0x10067158]
or eax, dword [ebp - 0x2a4]
mov ecx, dword [0x1006715c]
or ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push ecx
push eax
push esi
push edx
call fcn.100409b0
mov ecx, dword [ebp - 0x44]
and ecx, 0x7107
mov esi, dword [ebp - 0x2c]
sub esi, dword [ebp - 0x74]
imul ecx, esi
xor esi, esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x668], edx
mov edx, dword [ebp - 0x66c]
or edx, dword [ebp - 0x668]
jne 0x1002dd30
mov byte [ebp - 0x7e], 1
jmp 0x1002dd34
mov byte [ebp - 0x7e], 0
mov al, byte [ebp - 0x7e]
mov byte [str.OrOutput_of_signing], al
jmp 0x1002ddc7
movzx ecx, byte [0x1006706f]
movsx edx, word [0x1006712c]
add ecx, edx
mov byte [0x1006706f], cl
mov eax, dword [ebp - 0x7c]
add eax, 0xfd30
mov byte [0x10067026], al
push 0
push 0x5a8d2776
mov ecx, dword [0x1006713c]
push ecx
mov edx, dword [0x10067138]
push edx
call fcn.100409b0
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x4c], 0x121d3944
mov dword [ebp - 0x48], eax
jmp 0x1002ddc7
mov dword [str.Y__W1_], 8
movzx ecx, word [0x10067190]
add ecx, 0x17
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x74]
sub edx, dword [0x10067160]
mov eax, dword [ebp - 0x74]
sub eax, edx
mov dword [ebp - 0x74], eax
movzx eax, word [0x10067154]
cdq
xor eax, 0x5463c536
mov dword [ebp - 0x40], eax
jmp 0x1002de0b
mov dword [ebp - 4], 0xffffffff
jmp 0x1002de1b
mov ecx, dword [ebp - 0xac]
add ecx, 0x2a4
mov dword [ebp - 0x730], ecx
mov edx, 4
imul eax, edx, 0x361c
movzx ecx, byte [ebp - 0x12]
sub ecx, dword [eax + 0x10138658]
mov byte [ebp - 0x12], cl
mov edx, dword [0x10067118]
add edx, 0x2aa3e7c7
mov byte [0x10067063], dl
mov eax, dword [0x1006714c]
mov ecx, dword [0x10067188]
sub ecx, dword [0x10067148]
mov edx, dword [0x1006718c]
sbb edx, eax
mov dword [0x10067188], ecx
mov dword [0x1006718c], edx
mov eax, dword [ebp - 0xac]
add eax, 0x3e5
mov dword [ebp - 0x1ac], eax
push 0
push 0
push 0
push 0
push 0
push 0xff
push 0
push 0
movzx eax, byte [0x10067063]
cdq
push edx
push eax
call fcn.100354c0
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jae 0x1002dec4
mov dword [ebp - 0x198], 1
jmp 0x1002dece
mov dword [ebp - 0x198], 0
cmp dword [ebp - 0x74], 0x37
jae 0x1002dee0
mov dword [ebp - 0x19c], 1
jmp 0x1002deea
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [ebp - 0x19c]
jne 0x1002e013
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov dword [ebp - 0x674], edx
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x674]
or ecx, dword [ebp - 0x670]
jne 0x1002df35
xor edx, edx
mov dword [ebp - 0x2ac], 1
mov dword [ebp - 0x2a8], edx
jmp 0x1002df40
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ac], xmm0
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
jne 0x1002df54
mov dword [ebp - 0x1a0], 1
jmp 0x1002df5e
mov dword [ebp - 0x1a0], 0
movsx ecx, byte [0x10067026]
mov edx, dword [0x1006711c]
sub edx, ecx
jne 0x1002df7b
mov dword [ebp - 0x1a4], 1
jmp 0x1002df85
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x2ac]
sub ecx, dword [0x100671a0]
mov esi, dword [ebp - 0x2a8]
sbb esi, dword [0x100671a4]
xor edx, edx
sub ecx, dword [ebp - 0x40]
sbb esi, edx
mov eax, dword [ebp - 0x1a0]
imul eax, dword [ebp - 0x1a4]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], ecx
mov edx, dword [ebp - 0x67c]
or edx, dword [ebp - 0x678]
je 0x1002dfee
mov eax, dword [str.Y__W1_]
mov dword [ebp - 0x1a8], eax
jmp 0x1002dffa
mov ecx, dword [0x10067118]
mov dword [ebp - 0x1a8], ecx
mov dl, byte [ebp - 0x1a8]
mov byte [0x10067026], dl
mov eax, dword [0x10067c3c]
mov dword [ebp - 0x68], eax
jmp 0x1002e151
cmp dword [0x1006719c], 0
je 0x1002e075
movzx ecx, byte [ebp - 0x13]
movsx edx, byte [0x10067027]
add ecx, edx
movzx eax, byte [ebp - 0x13]
add eax, ecx
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x58]
xor ecx, dword [0x100671a0]
mov word [ebp - 0x1c], cx
mov edx, dword [0x100671a0]
sub edx, 0x1b04d5a7
mov eax, dword [0x100671a4]
sbb eax, 0
mov dword [0x10067178], edx
mov dword [0x1006717c], eax
mov ecx, dword [0x10067158]
mov edx, dword [0x1006715c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
jmp 0x1002e151
mov eax, dword [0x100671a8]
mov ecx, dword [0x100671ac]
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x684]
or edx, dword [ebp - 0x680]
jne 0x1002e0ae
xor eax, eax
mov dword [ebp - 0x2b4], 1
mov dword [ebp - 0x2b0], eax
jmp 0x1002e0b9
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b4], xmm0
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
mov dword [ebp - 0x68c], ecx
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x68c]
jne 0x1002e0ed
mov ecx, dword [ebp - 0x2b0]
cmp ecx, dword [ebp - 0x688]
je 0x1002e151
mov edx, dword [0x10067178]
mov eax, dword [0x1006717c]
sub edx, 0xc5
sbb eax, 0
mov dword [0x10067178], edx
mov dword [0x1006717c], eax
mov eax, dword [0x10067170]
mov edx, dword [0x10067174]
mov cl, 3
call fcn.100409f0
mov dword [0x10067120], eax
mov dword [0x10067124], edx
movzx ecx, word [ebp - 0x18]
sub ecx, dword [0x1006711c]
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x3c]
add edx, 0x43445ad
mov eax, dword [ebp - 0x38]
adc eax, 0
mov dword [0x100671a8], edx
mov dword [0x100671ac], eax
mov ecx, dword [ebp - 0x1ac]
imul ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
sub edx, dword [ebp - 0x1b0]
cmp ecx, edx
je 0x1002e322
push 0
push 0x4c
push 0xba
push 0x16
call fcn.100322f0
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], ecx
mov edx, dword [ebp - 0x694]
or edx, dword [ebp - 0x690]
je 0x1002e2ab
movsx eax, word [0x10067198]
cmp dword [ebp - 0x58], eax
jne 0x1002e1fe
mov ecx, dword [0x10067194]
sub ecx, 0x52
xor edx, edx
mov dword [0x10067160], ecx
mov dword [0x10067164], edx
movsx eax, word [0x10067198]
cdq
add eax, 0x9be16ec7
adc edx, 0x1db45
mov ecx, dword [0x1006711c]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [0x1006711c], eax
jmp 0x1002e2ab
movsx edx, byte [ebp - 0x14]
test edx, edx
je 0x1002e2ab
mov eax, dword [ebp - 0x20]
not eax
xor ecx, ecx
add eax, 0x6d37a3c6
adc ecx, 0xf50f1
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x69c]
or edx, dword [ebp - 0x698]
jne 0x1002e24a
xor eax, eax
mov dword [ebp - 0x2bc], 1
mov dword [ebp - 0x2b8], eax
jmp 0x1002e255
xorps xmm0, xmm0
movlpd qword [ebp - 0x2bc], xmm0
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2b8]
mov dword [0x10067120], ecx
mov dword [0x10067124], edx
movzx eax, word [ebp - 0x18]
mov ecx, dword [0x10067194]
not ecx
add eax, ecx
imul edx, eax, 0x2a
mov word [ebp - 0x1c], dx
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
push 0xc73a5
push 0xacb67cfd
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [0x10067c3c]
xor edx, edx
mov dword [0x10067148], ecx
mov dword [0x1006714c], edx
movzx eax, word [ebp - 0x18]
add eax, 0x2e10a41c
movzx ecx, word [0x10067190]
imul ecx, eax
mov word [0x10067190], cx
mov edx, dword [0x10067194]
sub edx, 0xcb
xor eax, eax
mov dword [0x10067188], edx
mov dword [0x1006718c], eax
mov ecx, dword [0x10067194]
xor edx, edx
push 0xc8e82
push 0xefe71539
push edx
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
xor eax, eax
jmp 0x100310a2
mov dword [ebp - 0x20], 4
mov edx, dword [ebp - 0x20]
xor eax, eax
push 0xe6b2b
push 0xfd1fcc43
push eax
push edx
call fcn.100409b0
mov dword [0x1006711c], eax
movzx ecx, word [0x10067190]
imul edx, ecx, 0xda7022ad
mov word [ebp - 0x18], dx
mov eax, dword [0x10067118]
cdq
sub eax, 0x9953349f
mov byte [ebp - 0x13], al
movsx eax, word [0x1006712c]
imul eax, eax, 0x54
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1b4], ecx
cmp dword [ebp - 0x1b4], 4
ja case.default.0x1002e390
mov edx, dword [ebp - 0x1b4]
jmp dword [edx*4 + 0x100310c8]
movzx eax, byte [ebp - 0x12]
mov ecx, dword [ebp - 0x2c]
add eax, ecx
cdq
xor ecx, ecx
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x6c]
sub esi, dword [0x10067194]
sbb edi, ecx
add eax, esi
adc edx, edi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
push 0
push 0x8ed9
push eax
push edx
call fcn.100409b0
mov word [0x10067154], ax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x6350e416
mov byte [ebp - 0x14], cl
jmp case.default.0x1002e390
movzx edx, word [0x10067190]
test edx, edx
jne 0x1002e405
xor eax, eax
mov dword [ebp - 0x6a4], 1
mov dword [ebp - 0x6a0], eax
jmp 0x1002e410
xorps xmm0, xmm0
movlpd qword [ebp - 0x6a4], xmm0
movzx eax, byte [0x10067063]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
push edx
push eax
push esi
push ecx
call fcn.100409b0
xor eax, 0x66
xor eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push 0
push 0xe4
push eax
push edx
call fcn.100409b0
mov byte [0x10067027], al
movzx ecx, byte [str.OrOutput_of_signing]
movzx edx, byte [0x10067063]
sub ecx, edx
movzx eax, byte [str.OrOutput_of_signing]
sub eax, ecx
mov byte [str.OrOutput_of_signing], al
jmp case.default.0x1002e390
mov eax, dword [ebp - 0x68]
cdq
push 0x8ad24
push 0x633e93f3
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x6ac], ecx
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6ac]
or eax, dword [ebp - 0x6a8]
jne 0x1002e4bb
xor ecx, ecx
mov dword [ebp - 0x2c4], 1
mov dword [ebp - 0x2c0], ecx
jmp 0x1002e4c6
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c4], xmm0
mov edx, dword [ebp - 0x7c]
sub edx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x78]
sbb eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x6b4], edx
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x6b4]
or ecx, dword [ebp - 0x6b0]
jne 0x1002e4fe
mov dword [ebp - 0x1b8], 1
jmp 0x1002e508
mov dword [ebp - 0x1b8], 0
movzx eax, byte [ebp - 0x12]
sub eax, 0xa096
not eax
xor eax, dword [ebp - 0x1b8]
not eax
cdq
mov edx, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x734], ecx
not edx
add eax, edx
mov dword [ebp - 0x20], eax
mov edx, dword [0x10067158]
or edx, dword [0x1006715c]
je 0x1002e55c
mov eax, dword [0x100671a0]
mov ecx, dword [0x100671a4]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], ecx
jmp 0x1002e56c
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
jmp case.default.0x1002e390
xor ecx, ecx
mov dword [ebp - 0x54], 8
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
xor edx, 0x8d1b4daa
xor eax, 0
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1006711c]
add ecx, 0x4182685
mov word [0x10067198], cx
movsx edx, byte [ebp - 0x14]
sub edx, 0x382f
mov byte [0x1006706f], dl
jmp case.default.0x1002e390
mov eax, dword [ebp - 0x44]
and eax, 0x31
mov byte [str.OrOutput_of_signing], al
movsx ecx, word [0x10067198]
test ecx, ecx
jne 0x1002e5ee
mov dword [ebp - 0x1bc], 1
jmp 0x1002e5f8
mov dword [ebp - 0x1bc], 0
mov edx, dword [ebp - 0x5c]
xor eax, eax
add edx, dword [0x10067188]
adc eax, dword [0x1006718c]
push 0xfffcf04b
push 0xdd09218b
push eax
push edx
call fcn.100409b0
not eax
movzx ecx, word [ebp - 0x1c]
imul ecx, dword [ebp - 0x1bc]
add ecx, dword [ebp - 0x40]
not ecx
add eax, ecx
mov byte [0x1006704f], al
movzx edx, byte [ebp - 0x12]
imul eax, edx, 0x5e
mov word [0x10067144], ax
xor ecx, ecx
mov dword [ebp - 0x54], 0x168736e2
mov dword [ebp - 0x50], ecx
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
call fcn.10001520
call eax
mov dword [ebp - 0xc8], eax
push 0
push 0x84000000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push 0
call fcn.10001670
call eax
mov dword [ebp - 0x224], eax
mov dword [0x1006711c], 3
mov dword [ebp - 0x2c], 0xdf
movzx edx, word [0x10067154]
movzx eax, byte [ebp - 0x12]
sub edx, eax
movzx ecx, word [0x10067154]
imul ecx, edx
mov word [0x10067154], cx
mov dword [ebp - 0x2c], 0xe2bd608c
mov dl, byte [0x10067027]
sub dl, 1
mov byte [0x10067027], dl
mov eax, dword [0x1006711c]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 3
ja case.default.0x1002e6fd
mov ecx, dword [ebp - 0x1c0]
jmp dword [ecx*4 + 0x100310dc]
movzx edx, byte [ebp - 0x12]
add edx, 0xd8d
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x3c]
add eax, 0xe3b0
mov ecx, dword [ebp - 0x38]
adc ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movzx edx, byte [0x10067063]
mov eax, dword [ebp - 0x5c]
imul eax, edx
mov dword [ebp - 0x5c], eax
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1002e751
xor edx, edx
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2c8], edx
jmp 0x1002e75c
xorps xmm0, xmm0
movlpd qword [ebp - 0x2cc], xmm0
cmp dword [ebp - 0x58], 0
jne 0x1002e776
xor eax, eax
mov dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2d0], eax
jmp 0x1002e781
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d4], xmm0
mov eax, dword [0x10067128]
cdq
add eax, dword [ebp - 0x3c]
adc edx, dword [ebp - 0x38]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], edx
mov ecx, dword [ebp - 0x6bc]
or ecx, dword [ebp - 0x6b8]
jne 0x1002e7bb
xor edx, edx
mov dword [ebp - 0x2dc], 1
mov dword [ebp - 0x2d8], edx
jmp 0x1002e7c6
xorps xmm0, xmm0
movlpd qword [ebp - 0x2dc], xmm0
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
add ecx, dword [ebp - 0x2cc]
adc esi, dword [ebp - 0x2c8]
sub ecx, dword [ebp - 0x2d4]
sbb esi, dword [ebp - 0x2d0]
movsx eax, word [0x1006712c]
cdq
xor eax, dword [0x10067180]
xor edx, dword [0x10067184]
sub eax, dword [ebp - 0x2dc]
sbb edx, dword [ebp - 0x2d8]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x6c4], ecx
mov dword [ebp - 0x6c0], esi
mov edx, dword [ebp - 0x6c4]
or edx, dword [ebp - 0x6c0]
jne 0x1002e836
mov eax, 1
mov word [ebp - 0x84], ax
jmp 0x1002e83f
xor ecx, ecx
mov word [ebp - 0x84], cx
mov dx, word [ebp - 0x84]
mov word [0x10067198], dx
jmp case.default.0x1002e6fd
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
sbb edx, ecx
mov dword [0x10067138], eax
mov dword [0x1006713c], edx
mov edx, dword [0x10067138]
not edx
movsx eax, word [0x1006712c]
movzx ecx, word [ebp - 0x1c]
xor eax, ecx
mov ecx, dword [0x10067194]
not ecx
xor ecx, 0x2b
add eax, ecx
add edx, eax
mov dword [ebp - 0x20], edx
push 0x82c27
push 0x5a7be0f2
mov edx, dword [0x10067174]
push edx
mov eax, dword [0x10067170]
push eax
call fcn.100409b0
mov word [0x10067144], ax
jmp case.default.0x1002e6fd
movzx ecx, word [ebp - 0x18]
sub ecx, dword [ebp - 0x40]
mov word [ebp - 0x18], cx
movzx eax, byte [0x10067063]
sar eax, 2
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x10067150]
imul edx, dword [ebp - 0x44]
mov dword [0x10067150], edx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
jmp case.default.0x1002e6fd
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, 1
imul eax, edx, 0x38
movzx eax, byte [eax + 0x10168030]
cdq
xor eax, dword [0x100671a0]
xor edx, dword [0x100671a4]
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movzx eax, byte [ebp - 0x13]
sub eax, 0xb
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x40]
add ecx, 0x53f2eccd
add ecx, dword [0x10067170]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c4]
and edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x3d0]
xor eax, dword [ebp - 0x3d4]
cmp edx, eax
je 0x1002f8b5
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
movzx eax, word [0x10067190]
sub eax, dword [0x1006719c]
movzx ecx, word [0x10067190]
add ecx, eax
mov word [0x10067190], cx
mov dword [ebp - 4], 0xc
movsx edx, word [0x10067198]
mov eax, dword [0x1006711c]
imul eax, edx
mov ecx, dword [0x1006711c]
add ecx, eax
mov dword [0x1006711c], ecx
movzx edx, word [0x10067154]
add edx, dword [ebp - 0x74]
movzx eax, word [0x10067154]
sub eax, edx
mov word [0x10067154], ax
movzx eax, byte [0x1006706f]
add eax, 0xd785441
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov ecx, dword [ebp - 0x5c]
add ecx, 0x42c9
xor edx, edx
mov dword [0x10067180], ecx
mov dword [0x10067184], edx
jmp 0x1002ea42
mov dword [ebp - 4], 0xffffffff
jmp 0x1002ea52
cmp dword [ebp - 0x224], 0
jne 0x1002f8b5
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x6cc], ecx
mov dword [ebp - 0x6c8], esi
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], edx
mov edx, dword [ebp - 0x6c8]
cmp edx, dword [ebp - 0x6d0]
jb 0x1002eaac
ja 0x1002eaa0
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [ebp - 0x6d4]
jb 0x1002eaac
mov dword [ebp - 0x1c8], 1
jmp 0x1002eab6
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x6dc], ecx
mov dword [ebp - 0x6d8], edx
cmp dword [ebp - 0x6d8], 0
ja 0x1002eada
cmp dword [ebp - 0x6dc], 0x2e
jb 0x1002eae6
mov dword [ebp - 0x1cc], 1
jmp 0x1002eaf0
mov dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1cc]
jne 0x1002eb84
mov ecx, dword [0x10067134]
cmp dword [ebp - 0x58], ecx
jbe 0x1002eb19
mov dword [ebp - 0x1d0], 1
jmp 0x1002eb23
mov dword [ebp - 0x1d0], 0
cmp dword [ebp - 0x58], 6
jbe 0x1002eb35
mov dword [ebp - 0x1d4], 1
jmp 0x1002eb3f
mov dword [ebp - 0x1d4], 0
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0x1d4]
jle 0x1002eb82
movzx eax, byte [ebp - 0x13]
add eax, dword [0x10067118]
movzx ecx, byte [ebp - 0x13]
sub ecx, eax
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x58]
sub edx, 0x3169
mov word [0x10067154], dx
mov eax, 0xffffc1ad
mov word [0x1006712c], ax
mov dword [ebp - 0x58], 0x95
jmp 0x1002ebfd
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1002ebfd
mov edx, dword [0x100671a0]
or edx, dword [0x100671a4]
je 0x1002eba7
mov eax, dword [0x10067194]
mov dword [ebp - 0x1d8], eax
jmp 0x1002ebb3
mov ecx, dword [0x10067140]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [0x10067168], edx
mov eax, dword [ebp - 0x5c]
sub eax, 0x59c51e18
mov byte [0x10067063], al
movzx eax, word [0x10067190]
cdq
add eax, 0xd3be087f
adc edx, 0xb2075
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov ecx, 4
imul edx, ecx, 0x5d
mov eax, dword [0x10067168]
mov dword [edx + 0x100772d8], eax
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [0x10067118]
mov edx, dword [ebp - 0x5c]
add edx, ecx
mov dword [ebp - 0x5c], edx
movzx eax, byte [ebp - 0x13]
sub eax, 0x5de4b250
mov dword [0x10067168], eax
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
jne 0x1002ec30
mov dword [ebp - 0x1dc], 1
jmp 0x1002ec3a
mov dword [ebp - 0x1dc], 0
mov edx, dword [0x10067150]
not edx
sub edx, dword [ebp - 0x1dc]
jne 0x1002ec5e
xor eax, eax
mov dword [ebp - 0x6e4], 1
mov dword [ebp - 0x6e0], eax
jmp 0x1002ec69
xorps xmm0, xmm0
movlpd qword [ebp - 0x6e4], xmm0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x738], edx
xor ecx, dword [ebp - 0x6e4]
mov eax, dword [ebp - 0x2c]
not eax
mov edx, dword [0x10067134]
sub edx, eax
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x73c], esi
add eax, edx
sub ecx, eax
not ecx
mov byte [ebp - 0x14], cl
mov ecx, dword [0x10067c3c]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 4], 0xe
mov edx, dword [0x10067180]
xor edx, 0x2b7c27f2
mov eax, dword [0x10067184]
xor eax, 0xa67d2
mov dword [0x10067148], edx
mov dword [0x1006714c], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x744], edx
add ecx, 0x413a
mov dword [ebp - 0x40], ecx
movsx eax, word [0x10067198]
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
mov eax, 0xffffa19a
mov word [0x1006712c], ax
jmp 0x1002ed79
mov dword [ebp - 4], 0xffffffff
jmp 0x1002ed89
mov eax, dword [ebp - 0xb0]
add eax, 0x1b7
mov dword [ebp - 0x1f8], eax
movsx ecx, byte [ebp - 0x14]
cmp ecx, dword [ebp - 0x68]
jl 0x1002edaf
mov dword [ebp - 0x1e0], 1
jmp 0x1002edb9
mov dword [ebp - 0x1e0], 0
movsx edx, byte [ebp - 0x14]
cmp edx, 0x19
jl 0x1002edce
mov dword [ebp - 0x1e4], 1
jmp 0x1002edd8
mov dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0x1e4]
jge 0x1002efd1
movsx ecx, byte [ebp - 0x11]
cmp ecx, dword [0x10067168]
ja 0x1002ef6c
push 0
push 0
push 0
push 0xec
push 0
push 0x28
push 0
push 0xd7
movzx eax, byte [0x10067063]
cdq
push edx
push eax
call fcn.100354c0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6ec], edx
mov dword [ebp - 0x6e8], eax
cmp dword [ebp - 0x6e8], 0
jg 0x1002ef16
jl 0x1002ee53
cmp dword [ebp - 0x6ec], 0
ja 0x1002ef16
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x68]
cdq
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], esi
movsx edx, byte [ebp - 0x11]
test edx, edx
je 0x1002ee81
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x234], eax
jmp 0x1002ee8a
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x234]
xor eax, eax
mov dword [0x10067170], edx
mov dword [0x10067174], eax
mov ecx, dword [0x10067194]
add ecx, 0xb209ae67
mov dword [str.Y__W1_], ecx
mov edx, dword [ebp - 0x20]
sub edx, dword [0x100671a0]
mov dword [ebp - 0x20], edx
jmp 0x1002ef04
mov dword [ebp - 4], 0xffffffff
jmp 0x1002ef14
jmp 0x1002ef6a
mov eax, 2
shl eax, 0
mov cx, word [0x10067144]
mov word [eax + 0x10116970], cx
movzx edx, byte [ebp - 0x13]
add edx, dword [0x10067150]
mov byte [ebp - 0x13], dl
mov ax, word [0x10067c3c]
mov word [0x10067154], ax
mov ecx, dword [0x10067170]
add ecx, 0xa9
mov edx, dword [0x10067174]
adc edx, 0
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], esi
jmp 0x1002efcf
mov ecx, 0xcd
test ecx, ecx
je 0x1002efcf
mov eax, dword [0x1006719c]
cdq
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov dword [0x1006719c], eax
mov eax, dword [ebp - 0x68]
cdq
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov eax, dword [ebp - 0x38]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.100409b0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 0x13]
mov ecx, dword [0x1006711c]
not ecx
xor eax, ecx
add eax, 0x172f9209
mov word [ebp - 0x1c], ax
jmp 0x1002f037
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
mov byte [ebp - 0x14], 0x32
push 0x6b55a
push 0xd86e30a0
mov edx, dword [0x1006715c]
push edx
mov eax, dword [0x10067158]
push eax
call fcn.100409b0
mov dword [0x10067140], eax
mov eax, dword [0x1006719c]
sub eax, 0x4103
cdq
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0xb0]
add edx, 0x248
mov dword [ebp - 0x1fc], edx
mov eax, dword [0x10067170]
cmp eax, dword [ebp - 0x3c]
jne 0x1002f35c
mov ecx, dword [0x10067174]
cmp ecx, dword [ebp - 0x38]
jne 0x1002f35c
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x6f4], edx
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3e0], esi
mov edx, dword [ebp - 0x6f0]
cmp edx, dword [ebp - 0x3e0]
jg 0x1002f2fb
jl 0x1002f0af
mov eax, dword [ebp - 0x6f4]
cmp eax, dword [ebp - 0x3e4]
jae 0x1002f2fb
push 0
push 0xfd
push 0
push 0x1e
push 0
push 0x2c
mov ecx, dword [0x1006714c]
push ecx
mov edx, dword [0x10067148]
push edx
movzx eax, byte [0x1006706f]
cdq
push edx
push eax
call fcn.100339a0
mov dword [0x100671a8], eax
mov dword [0x100671ac], edx
mov eax, dword [0x100671a8]
mov ecx, dword [0x100671ac]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], ecx
mov edx, dword [ebp - 0x3ec]
or edx, dword [ebp - 0x3e8]
je 0x1002f21c
cmp dword [ebp - 0x58], 0
jne 0x1002f129
xor eax, eax
mov dword [ebp - 0x2ec], 1
mov dword [ebp - 0x2e8], eax
jmp 0x1002f134
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ec], xmm0
movzx eax, byte [0x1006706f]
cdq
sub eax, dword [ebp - 0x3c]
sbb edx, dword [ebp - 0x38]
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], edx
mov ecx, dword [ebp - 0x3f4]
or ecx, dword [ebp - 0x3f0]
jne 0x1002f170
xor edx, edx
mov dword [ebp - 0x2f4], 1
mov dword [ebp - 0x2f0], edx
jmp 0x1002f17b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f4], xmm0
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x78]
sbb ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
push esi
push edx
push ecx
push eax
call fcn.100409b0
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x44]
cdq
push edx
push eax
mov eax, dword [0x10067174]
push eax
mov ecx, dword [0x10067170]
push ecx
call fcn.100409b0
push edx
push eax
mov edx, dword [ebp - 0x2f0]
push edx
mov eax, dword [ebp - 0x2f4]
push eax
call fcn.100409b0
add esi, eax
adc edi, edx
mov dword [0x10067170], esi
mov dword [0x10067174], edi
mov dword [str.Y__W1_], 0x56f7
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
or ecx, eax
or esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov edx, dword [0x10067c3c]
mov dword [0x10067168], edx
jmp 0x1002f2f9
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f8]
cmp edx, dword [0x1006718c]
ja 0x1002f2f9
jb 0x1002f254
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [0x10067188]
ja 0x1002f2f9
movsx eax, word [0x1006712c]
cdq
mov ecx, dword [0x1006715c]
push ecx
mov ecx, dword [0x10067158]
push ecx
push edx
push eax
call fcn.100409b0
mov word [0x1006712c], ax
mov eax, dword [ebp - 0x44]
cdq
push 0x36d1
push 0x8f11a5cf
push edx
push eax
call fcn.100409b0
mov dword [0x1006719c], eax
mov edx, dword [ebp - 0x58]
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push eax
push edx
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x400], edx
mov edx, dword [ebp - 0x404]
or edx, dword [ebp - 0x400]
jne 0x1002f2cb
mov dword [ebp - 0x1ec], 1
jmp 0x1002f2d5
mov dword [ebp - 0x1ec], 0
movzx eax, byte [ebp - 0x12]
mov ecx, dword [0x1006711c]
sub ecx, eax
not ecx
add ecx, dword [ebp - 0x1ec]
not ecx
xor edx, edx
mov dword [0x10067158], ecx
mov dword [0x1006715c], edx
jmp 0x1002f357
movzx eax, byte [0x10067063]
test eax, eax
je 0x1002f357
movzx eax, word [ebp - 0x18]
movzx ecx, byte [str.OrOutput_of_signing]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
add eax, edx
cdq
mov ecx, dword [0x10067160]
not ecx
add eax, ecx
not eax
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x58]
xor eax, eax
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov edx, dword [ebp - 0x58]
sub edx, eax
mov dword [ebp - 0x58], edx
mov eax, dword [0x1006719c]
add eax, 1
mov dword [0x1006719c], eax
jmp 0x1002f40b
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x1002f40b
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
push 0
push 0xda38
push eax
push edx
call fcn.100409b0
mov byte [ebp - 0x12], al
mov ecx, dword [0x10067138]
or ecx, dword [0x1006713c]
je 0x1002f39d
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x1f0], edx
jmp 0x1002f3a7
movsx eax, byte [ebp - 0x11]
mov dword [ebp - 0x1f0], eax
mov cl, byte [ebp - 0x1f0]
mov byte [0x10067063], cl
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x40c]
or ecx, dword [ebp - 0x408]
je 0x1002f3ec
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x2f8], eax
jmp 0x1002f400
mov ecx, dword [0x1006716c]
xor edx, edx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], edx
mov ax, word [ebp - 0x2fc]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0xb0]
add ecx, 0x70
mov dword [ebp - 0x74c], ecx
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
mov dword [ebp - 0x414], edx
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x420], esi
mov edx, dword [ebp - 0x410]
cmp edx, dword [ebp - 0x420]
jg 0x1002f620
jl 0x1002f46f
mov eax, dword [ebp - 0x414]
cmp eax, dword [ebp - 0x424]
jae 0x1002f620
mov dword [ebp - 0xb4], 0
jmp 0x1002f48a
mov ecx, dword [ebp - 0xb4]
add ecx, 2
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0x3c5
jge 0x1002f61e
movzx edx, word [0x10067128]
push edx
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x750], ecx
movzx edx, ax
push edx
push 0
push 0
call fcn.10033490
movzx eax, ax
cdq
mov dword [0x10067138], eax
mov dword [0x1006713c], edx
mov eax, dword [0x10067138]
or eax, dword [0x1006713c]
jne 0x1002f518
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov cl, 3
call fcn.10040ac0
mov dword [0x1006719c], eax
movzx eax, word [0x10067144]
sar eax, 5
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, byte [ebp - 0x14]
imul ecx, dword [0x10067168]
movsx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
jmp 0x1002f5fb
movsx eax, byte [ebp - 0x11]
add eax, dword [0x10067118]
je 0x1002f56d
mov ecx, dword [0x10067120]
mov esi, dword [0x10067124]
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], edx
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0x434]
jne 0x1002f56d
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x430]
je 0x1002f5fb
mov ecx, 2
imul edx, ecx, 0x27
movsx eax, word [edx + 0x101681b8]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x68], 0
jne 0x1002f599
xor ecx, ecx
mov dword [ebp - 0x304], 1
mov dword [ebp - 0x300], ecx
jmp 0x1002f5a4
xorps xmm0, xmm0
movlpd qword [ebp - 0x304], xmm0
mov esi, dword [ebp - 0x5c]
not esi
xor edi, edi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
push eax
push edx
mov ecx, dword [ebp - 0x300]
push ecx
mov edx, dword [ebp - 0x304]
push edx
call fcn.100409b0
push edx
push eax
push edi
push esi
call fcn.100409b0
mov dword [0x10067138], eax
mov dword [0x1006713c], edx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
add ecx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x68], 0x904ada50
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
add ecx, 1
adc edx, 0
mov dword [0x10067120], ecx
mov dword [0x10067124], edx
jmp 0x1002f47b
jmp 0x1002f697
cmp dword [ebp - 0x74], 0
jne 0x1002f697
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [0x10067148]
mov esi, dword [0x1006714c]
push esi
push edx
push ecx
push eax
call fcn.100409b0
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
mov edx, dword [0x10067170]
or edx, dword [0x10067174]
jne 0x1002f66b
mov dword [ebp - 0x1f4], 1
jmp 0x1002f675
mov dword [ebp - 0x1f4], 0
movsx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x1f4]
mov ecx, dword [0x10067134]
sub ecx, eax
not ecx
xor edx, edx
mov dword [0x10067120], ecx
mov dword [0x10067124], edx
mov eax, dword [ebp - 0x1fc]
add eax, 0x3cd
mov ecx, 0x1e4
sub ecx, dword [ebp - 0x1f8]
sub eax, ecx
mov edx, dword [ebp - 0x1f8]
add edx, dword [ebp - 0x1fc]
cmp eax, edx
je 0x1002f8b5
mov eax, dword [ebp - 0x2c]
add eax, 0x27
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
or edx, dword [ebp - 0x438]
jne 0x1002f6fc
mov dword [ebp - 0x200], 1
jmp 0x1002f706
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x200]
sub eax, 0x4ed37473
cdq
push edx
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.100409b0
movsx edx, byte [0x10067027]
movzx ecx, byte [0x10067063]
add edx, ecx
movzx ecx, byte [ebp - 0x12]
mov esi, dword [ebp - 0x58]
sub esi, ecx
not esi
add edx, esi
sub eax, edx
mov dword [0x10067168], eax
mov edx, dword [0x1006719c]
imul edx, dword [0x10067168]
imul edx, dword [0x1006719c]
mov dword [0x1006719c], edx
mov eax, dword [ebp - 0xc8]
push eax
push 0
push 0
call fcn.100016d0
call eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push 0
call fcn.10001370
call eax
movsx edx, byte [ebp - 0x14]
cmp dword [0x1006716c], edx
jb 0x1002f79b
mov dword [ebp - 0x204], 1
jmp 0x1002f7a5
mov dword [ebp - 0x204], 0
cmp dword [0x1006716c], 0x53
jb 0x1002f7ba
mov dword [ebp - 0x208], 1
jmp 0x1002f7c4
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x208]
jl 0x1002f839
mov ecx, dword [0x10067120]
mov edx, dword [0x10067124]
push 0
push 0x10a0fecf
push edx
push ecx
call fcn.100409b0
and eax, dword [ebp - 0x7c]
and edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
and eax, dword [0x10067170]
and ecx, dword [0x10067174]
mov edx, dword [0x10067120]
mov esi, dword [0x10067124]
sub edx, eax
sbb esi, ecx
mov dword [0x10067120], edx
mov dword [0x10067124], esi
mov eax, dword [ebp - 0x2c]
cdq
sub eax, 0xdc3ad0c7
mov byte [ebp - 0x13], al
jmp 0x1002f8ae
mov eax, dword [0x10067170]
or eax, dword [0x10067174]
je 0x1002f8ae
mov eax, dword [ebp - 0x44]
sub eax, 0x1f87d05c
cdq
mov ecx, dword [0x10067160]
sub ecx, eax
mov eax, dword [0x10067164]
sbb eax, edx
mov dword [0x10067160], ecx
mov dword [0x10067164], eax
mov dword [str.Y__W1_], 0xd2
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
xor ecx, 0xaf1e7e91
xor edx, 0
mov dword [0x10067178], ecx
mov dword [0x1006717c], edx
mov eax, dword [ebp - 0x5c]
sub eax, 0xa743
xor ecx, ecx
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
xor edx, eax
xor esi, ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], esi
xor eax, eax
jmp 0x100310a2
mov eax, dword [0x10067140]
cdq
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
add ecx, eax
adc esi, edx
add ecx, 0xffffffe3
adc esi, 0xffffffff
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x440], esi
mov edx, dword [ebp - 0x444]
or edx, dword [ebp - 0x440]
jne 0x1002f8ff
xor eax, eax
mov dword [ebp - 0x44c], 1
mov dword [ebp - 0x448], eax
jmp 0x1002f90a
xorps xmm0, xmm0
movlpd qword [ebp - 0x44c], xmm0
cmp dword [ebp - 0x5c], 0
jne 0x1002f91c
mov dword [ebp - 0x20c], 1
jmp 0x1002f926
mov dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
imul eax, dword [0x10067118]
cdq
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov edx, dword [ebp - 0x44c]
sub edx, eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x10067160]
add eax, 0xe938abb4
mov ecx, dword [0x10067164]
adc ecx, 0x44867
mov dword [0x10067178], eax
mov dword [0x1006717c], ecx
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
add edx, 0x7124
adc eax, 0
and edx, dword [0x10067188]
and eax, dword [0x1006718c]
mov dword [0x10067188], edx
mov dword [0x1006718c], eax
cmp dword [ebp - 0x5c], 0
je 0x1002faf4
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1002fa14
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], esi
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], edx
mov edx, dword [ebp - 0x450]
cmp edx, dword [ebp - 0x458]
jl 0x1002fa0f
jg 0x1002f9f2
mov eax, dword [ebp - 0x454]
cmp eax, dword [ebp - 0x45c]
jb 0x1002fa0f
mov ecx, dword [0x10067188]
sub ecx, 0x14
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x12]
imul edx, dword [ebp - 0x2c]
movzx eax, byte [ebp - 0x12]
sub eax, edx
mov byte [ebp - 0x12], al
jmp 0x1002faef
movzx ecx, word [ebp - 0x18]
test ecx, ecx
jne 0x1002fa2e
cmp dword [ebp - 0x20], 0
jne 0x1002fa2e
mov dword [ebp - 0x210], 1
jmp 0x1002fa38
mov dword [ebp - 0x210], 0
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x464]
or ecx, dword [ebp - 0x460]
je 0x1002fa71
movsx edx, byte [ebp - 0x14]
test edx, edx
je 0x1002fa71
mov dword [ebp - 0x214], 1
jmp 0x1002fa7b
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0x214]
je 0x1002faef
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov eax, dword [ebp - 0x38]
sbb eax, edx
or ecx, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x46c]
or eax, dword [ebp - 0x468]
je 0x1002fad3
movzx ecx, byte [0x1006704f]
mov dword [ebp - 0x218], ecx
jmp 0x1002fadc
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
xor ecx, ecx
mov dword [0x10067138], eax
mov dword [0x1006713c], ecx
jmp 0x1002fc83
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1002fb10
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x1002fb10
mov dword [ebp - 0x21c], 1
jmp 0x1002fb1a
mov dword [ebp - 0x21c], 0
mov ecx, dword [0x10067150]
cmp dword [ebp - 0x21c], ecx
jg 0x1002fb65
movzx eax, byte [ebp - 0x12]
sub eax, 0x6a15
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [0x10067150]
cdq
mov edx, dword [0x10067178]
mov ecx, dword [0x1006717c]
mov dword [ebp - 0x754], ecx
add eax, edx
mov dword [0x10067150], eax
mov dl, byte [ebp - 0x4c]
mov byte [0x1006704f], dl
jmp 0x1002fc83
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x474]
or edx, dword [ebp - 0x470]
jne 0x1002fb99
xor eax, eax
mov dword [ebp - 0x30c], 1
mov dword [ebp - 0x308], eax
jmp 0x1002fba4
xorps xmm0, xmm0
movlpd qword [ebp - 0x30c], xmm0
mov ecx, dword [0x10067160]
not ecx
mov edx, dword [0x10067164]
not edx
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x47c]
jne 0x1002fbe8
mov ecx, dword [ebp - 0x308]
cmp ecx, dword [ebp - 0x478]
jne 0x1002fbe8
mov dword [ebp - 0x220], 1
jmp 0x1002fbf2
mov dword [ebp - 0x220], 0
cmp dword [ebp - 0x220], 1
je 0x1002fc3a
mov edx, 1
imul eax, edx, 0xc
movsx ecx, byte [eax + 0x100a2078]
movzx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
movsx eax, word [0x1006712c]
cdq
add eax, dword [0x10067160]
mov word [0x1006712c], ax
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x12], 0xe4
jmp 0x1002fc83
movzx edx, word [0x10067190]
test edx, edx
je 0x1002fc83
mov eax, dword [0x10067168]
sub eax, 1
mov dword [0x10067168], eax
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
movzx eax, word [ebp - 0x18]
sub eax, 0x831d
cdq
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov eax, dword [0x1006719c]
sub eax, 0xfb10
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
push 4
push 0x3000
push 0x100000
push 0
push 0
push 0
call fcn.100012b0
call eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 4], 0x12
mov dword [ebp - 0xd8], 0
jmp 0x1002fcc4
mov ecx, dword [ebp - 0xd8]
add ecx, 2
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0x257
jge 0x1002fd26
movzx edx, byte [ebp - 0x13]
imul edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x68]
mov dword [ebp - 0x68], edx
mov dword [0x10067194], 0xb1410269
movzx eax, word [ebp - 0x18]
cdq
and eax, 0x92cae5d9
mov word [ebp - 0x18], ax
mov eax, dword [0x10067c3c]
xor ecx, ecx
mov dword [0x10067180], eax
mov dword [0x10067184], ecx
mov edx, dword [0x10067180]
add edx, 1
mov eax, dword [0x10067184]
adc eax, 0
mov dword [0x10067180], edx
mov dword [0x10067184], eax
jmp 0x1002fcb5
jmp 0x1002fd9a
mov dword [ebp - 4], 0xffffffff
jmp 0x1002fdaa
mov edx, dword [ebp - 0xb8]
or edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xbc]
imul eax, dword [ebp - 0xb8]
add edx, eax
mov ecx, dword [ebp - 0xbc]
imul ecx, dword [ebp - 0x3d8]
sub ecx, dword [ebp - 0xbc]
cmp edx, ecx
je 0x100301bc
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x18]
cdq
add eax, dword [ebp - 0x7c]
adc edx, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
adc edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov dword [0x10067194], 1
mov eax, dword [0x10067128]
add eax, 4
mov byte [0x10067026], al
mov ecx, dword [ebp - 0x68]
add ecx, 0x37d698b8
mov dword [ebp - 0x74], ecx
lea edx, [ebp - 0x250]
push edx
push 0x100000
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
push 0
push 0
call fcn.100014c0
call eax
test eax, eax
je 0x1002fe6a
cmp dword [ebp - 0x250], 0
jne 0x100301bc
mov eax, dword [0x10067118]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], edx
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x488], esi
mov edx, dword [ebp - 0x484]
cmp edx, dword [ebp - 0x48c]
jne 0x1002feae
mov eax, dword [ebp - 0x480]
cmp eax, dword [ebp - 0x488]
je 0x10030134
push 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x758], edx
movzx eax, cl
push eax
movzx ecx, byte [0x10067194]
push ecx
movzx edx, byte [0x1006704f]
push edx
call fcn.10032de0
movsx eax, al
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jae 0x1003008b
xor ecx, ecx
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x33fe698c
mov word [0x10067144], dx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x7c]
mov byte [0x10067063], al
movzx ecx, byte [0x1006704f]
imul edx, ecx, 0x96acca69
mov word [0x10067198], dx
imul eax, dword [ebp - 0x20], 0x72e2330c
mov word [0x10067198], ax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xd0]
or eax, dword [ebp - 0xcc]
je 0x1002ff7e
cmp dword [ebp - 0xd0], 1
jne 0x1002ff63
cmp dword [ebp - 0xcc], 0
je 0x1002fff8
cmp dword [ebp - 0xd0], 2
jne 0x1002ff79
cmp dword [ebp - 0xcc], 0
je 0x10030033
jmp 0x10030086
movzx eax, byte [0x1006704f]
cdq
mov ecx, eax
mov esi, edx
xor ecx, 0x91c5a9f7
xor esi, 0x914a8
movsx eax, word [0x10067198]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov word [0x10067198], ax
xor edx, edx
mov dword [0x10067178], 0x85
mov dword [0x1006717c], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
xor eax, dword [0x10067138]
xor ecx, dword [0x1006713c]
mov dword [0x10067180], eax
mov dword [0x10067184], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
push 0
push 0xf711
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x74], eax
jmp 0x10030086
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 0x11]
or ecx, edx
movzx eax, word [ebp - 0x18]
not eax
add eax, 0xf1
xor ecx, eax
mov dword [0x1006719c], ecx
movzx eax, byte [0x1006706f]
cdq
sub eax, 0x28a1d046
mov dword [0x10067118], eax
movzx ecx, byte [ebp - 0x12]
add ecx, dword [ebp - 0x40]
mov byte [ebp - 0x12], cl
jmp 0x10030086
mov byte [ebp - 0x11], 0xe1
movsx eax, byte [ebp - 0x11]
mov edx, dword [ebp - 0x44]
not edx
sub eax, edx
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x10067178]
mov ecx, dword [0x1006717c]
push ecx
push eax
mov edx, dword [0x10067184]
push edx
mov eax, dword [0x10067180]
push eax
call fcn.100409b0
add esi, eax
adc edi, edx
mov dword [0x100671a0], esi
mov dword [0x100671a4], edi
movzx ecx, byte [ebp - 0x13]
imul edx, ecx, 0xbb
mov byte [0x1006706f], dl
jmp 0x1003012f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0x24c78
push 0x3981fe35
push ecx
push eax
call fcn.100409b0
add eax, dword [0x10067188]
adc edx, dword [0x1006718c]
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
movzx eax, word [0x10067144]
cdq
mov edx, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x75c], ecx
add eax, edx
mov word [0x10067144], ax
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x100300f9
movzx eax, byte [str.OrOutput_of_signing]
cdq
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x310], edx
jmp 0x1003010b
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x310], ecx
mov dl, byte [ebp - 0x314]
mov byte [ebp - 0x11], dl
mov eax, dword [0x10067140]
xor eax, 0xfd
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x100301b7
push 0
push 0xb389
mov edx, dword [0x1006718c]
push edx
mov eax, dword [0x10067188]
push eax
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, byte [0x10067027]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov edx, dword [ebp - 0x7c]
or edx, dword [ebp - 0x78]
je 0x1003017e
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], edx
jmp 0x10030190
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x3c]
add ecx, 0x98
mov edx, dword [ebp - 0x38]
adc edx, 0
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
jmp 0x1003101f
cmp dword [0x10067168], 0
je 0x100306b2
mov dword [ebp - 0xc0], 0
jmp 0x100301e4
mov eax, dword [ebp - 0xc0]
add eax, 2
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x1e6
jge 0x100306ad
movzx eax, byte [0x10067063]
cdq
push edx
push eax
push 0
push 0
mov ecx, dword [0x10067124]
push ecx
mov edx, dword [0x10067120]
push edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push ecx
push eax
push 0
push 0
call fcn.100339a0
mov dword [0x10067118], eax
cmp dword [0x10067118], 0
je 0x10030558
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x498], esi
mov edx, dword [ebp - 0x494]
cmp edx, dword [ebp - 0x49c]
jne 0x10030272
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x498]
je 0x100302aa
imul ecx, dword [ebp - 0x58], 0xb6c3826f
mov byte [ebp - 0x12], cl
mov dword [0x1006719c], 0x2a2ac889
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
push 0
push 0xd8
push eax
push edx
call fcn.100409b0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10030553
movzx eax, byte [0x1006704f]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4a8], esi
mov edx, dword [ebp - 0x4a4]
cmp edx, dword [ebp - 0x4ac]
jne 0x100302f8
mov eax, dword [ebp - 0x4a0]
cmp eax, dword [ebp - 0x4a8]
jne 0x100302f8
mov dword [ebp - 0x228], 1
jmp 0x10030302
mov dword [ebp - 0x228], 0
mov ecx, dword [0x10067168]
cmp ecx, dword [ebp - 0x228]
jae 0x1003038d
movzx edx, word [ebp - 0x18]
movzx eax, word [ebp - 0x18]
add edx, eax
movzx ecx, word [ebp - 0x18]
sub ecx, edx
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x44]
imul edx, dword [0x10067118]
test edx, edx
jne 0x1003033e
mov dword [ebp - 0x22c], 1
jmp 0x10030348
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x10067180]
sub ecx, 0x9b15bca8
mov edx, dword [0x10067184]
sbb edx, 0x73c81
mov dword [0x10067120], ecx
mov dword [0x10067124], edx
movzx eax, byte [ebp - 0x13]
sub eax, 0x5c
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
jmp 0x10030553
mov ecx, dword [0x10067148]
mov esi, dword [0x1006714c]
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x5f4], ecx
mov dword [ebp - 0x5f0], esi
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], edx
mov edx, dword [ebp - 0x5f4]
cmp edx, dword [ebp - 0x4b4]
jne 0x100304ac
mov eax, dword [ebp - 0x5f0]
cmp eax, dword [ebp - 0x4b0]
jne 0x100304ac
mov ecx, 1
imul edx, ecx, 0x2f
movsx eax, byte [edx + 0x100a1fb8]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov eax, dword [0x1006711c]
add eax, 1
mov dword [0x1006711c], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x1006713c]
push ecx
mov ecx, dword [0x10067138]
push ecx
push edx
push eax
call fcn.100409b0
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], edx
mov edx, dword [ebp - 0x4bc]
or edx, dword [ebp - 0x4b8]
jne 0x10030444
xor eax, eax
mov dword [ebp - 0x31c], 1
mov dword [ebp - 0x318], eax
jmp 0x1003044f
xorps xmm0, xmm0
movlpd qword [ebp - 0x31c], xmm0
mov eax, dword [ebp - 0x2c]
not eax
cdq
mov ecx, eax
mov esi, edx
xor ecx, 0x916accd0
xor esi, 0x28c45
movsx eax, byte [0x10067026]
movsx edx, byte [0x10067027]
sub eax, edx
cdq
and ecx, eax
and esi, edx
mov eax, dword [ebp - 0x24]
mov edx, 0xffffff8b
sub edx, dword [ebp - 0x28]
mov edi, 0xffffffff
sbb edi, eax
xor edx, dword [ebp - 0x31c]
xor edi, dword [ebp - 0x318]
push edi
push edx
push esi
push ecx
call fcn.100409b0
mov word [0x1006712c], ax
jmp 0x10030553
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x74]
xor esi, esi
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], ecx
mov dword [ebp - 0x4cc], edx
mov dword [ebp - 0x4c8], esi
mov eax, dword [ebp - 0x4c0]
cmp eax, dword [ebp - 0x4c8]
ja 0x10030553
jb 0x100304ed
mov ecx, dword [ebp - 0x4c4]
cmp ecx, dword [ebp - 0x4cc]
ja 0x10030553
mov edx, dword [0x10067120]
mov eax, dword [0x10067124]
mov dword [ebp - 0x760], eax
xor edx, 0x9b
mov byte [0x1006706f], dl
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
add ecx, 0x8c2b25e7
adc edx, 0x7ad2c
mov dword [0x10067138], ecx
mov dword [0x1006713c], edx
mov eax, dword [ebp - 0x20]
imul eax, dword [0x1006719c]
add eax, dword [0x1006719c]
mov dword [0x1006719c], eax
movsx ecx, byte [ebp - 0x14]
imul eax, ecx, 0x75e0
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
jmp 0x1003069b
cmp dword [0x10067134], 0
je 0x10030579
mov dword [0x1006711c], 0x3f
mov dl, byte [0x1006719c]
mov byte [ebp - 0x13], dl
jmp 0x1003069b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
not eax
not ecx
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x4d4]
or edx, dword [ebp - 0x4d0]
je 0x1003064e
cmp dword [ebp - 0x44], 0
je 0x100305b6
movzx eax, byte [0x1006704f]
mov dword [ebp - 0x230], eax
jmp 0x100305c2
mov ecx, dword [0x10067194]
mov dword [ebp - 0x230], ecx
mov dx, word [ebp - 0x230]
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x3c]
push ecx
push edx
push eax
call fcn.100409b0
mov ecx, eax
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0x58]
sub edx, dword [0x1006716c]
mov dword [ebp - 0x58], edx
mov eax, dword [0x10067120]
mov ecx, dword [0x10067124]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], ecx
mov edx, dword [ebp - 0x4dc]
or edx, dword [ebp - 0x4d8]
je 0x10030632
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], ecx
jmp 0x10030643
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], edx
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x40], edx
jmp 0x1003069b
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x4e4]
or edx, dword [ebp - 0x4e0]
je 0x1003069b
mov eax, dword [ebp - 0x74]
add eax, 0x5e3
mov ecx, dword [0x1006711c]
sub ecx, eax
mov dword [0x1006711c], ecx
xor edx, edx
mov dword [ebp - 0x34], 0x8b
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x11]
cdq
sub eax, dword [ebp - 0x4c]
mov byte [ebp - 0x11], al
mov eax, dword [0x1006711c]
add eax, 1
mov dword [0x1006711c], eax
jmp 0x100301d5
jmp 0x1003075a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
not ecx
not edx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
add eax, ecx
adc esi, edx
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x4e8], esi
mov ecx, dword [ebp - 0x4ec]
or ecx, dword [ebp - 0x4e8]
je 0x1003075a
mov edx, dword [0x100671a8]
mov eax, dword [0x100671ac]
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x3c]
push ecx
push eax
push edx
call fcn.100409b0
mov ecx, dword [0x100671a8]
mov esi, dword [0x100671ac]
sub ecx, eax
sbb esi, edx
mov dword [0x100671a8], ecx
mov dword [0x100671ac], esi
mov edx, 2
imul eax, edx, 0x9c
movsx ecx, word [eax + 0x10077508]
mov edx, dword [ebp - 0x58]
or edx, ecx
mov dword [ebp - 0x58], edx
mov eax, dword [0x10067174]
push eax
mov ecx, dword [0x10067170]
push ecx
mov edx, dword [0x1006718c]
push edx
mov eax, dword [0x10067188]
push eax
call fcn.100409b0
mov dword [0x10067188], eax
mov dword [0x1006718c], edx
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x3dc], ecx
xor edx, edx
mov dword [0x10067180], 3
mov dword [0x10067184], edx
mov eax, 0x3a3d
sub eax, dword [0x10067138]
mov dword [0x10067128], eax
mov byte [ebp - 0x13], 0xf5
mov ecx, dword [0x10067178]
mov edx, dword [0x1006717c]
mov dword [ebp - 0x764], edx
add ecx, 0xe02ad7f6
mov word [0x10067154], cx
mov eax, dword [0x10067180]
mov ecx, dword [0x10067184]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0
jl 0x10030958
jg 0x100307de
cmp dword [ebp - 0xe0], 0
jb 0x10030958
cmp dword [ebp - 0xdc], 0
jg 0x10030958
jl 0x100307fa
cmp dword [ebp - 0xe0], 3
ja 0x10030958
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b4]
jmp dword [eax*4 + 0x100310ec]
mov edx, dword [ebp - 0x3dc]
movzx eax, word [edx]
cmp eax, 0x5a4d
je 0x10030978
cmp dword [ebp - 0x8c], 0
jne 0x10030978
jmp 0x1003101f
mov dword [0x10067140], 4
movzx ecx, word [ebp - 0x18]
xor ecx, 0x82a70689
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x59
mov word [0x10067198], ax
mov ecx, dword [0x10067148]
mov edx, dword [0x1006714c]
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4fc]
or eax, dword [ebp - 0x4f8]
jne 0x100309d2
mov dword [ebp - 0x238], 1
jmp 0x100309dc
mov dword [ebp - 0x238], 0
mov eax, dword [0x10067150]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov ecx, dword [0x1006713c]
push ecx
mov edx, dword [0x10067138]
push edx
call fcn.100409b0
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x504], esi
mov dword [ebp - 0x500], edi
mov eax, dword [ebp - 0x504]
or eax, dword [ebp - 0x500]
jne 0x10030a32
xor ecx, ecx
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x328], ecx
jmp 0x10030a3d
xorps xmm0, xmm0
movlpd qword [ebp - 0x32c], xmm0
mov ecx, dword [0x10067178]
mov esi, dword [0x1006717c]
sub ecx, 0xb0e03896
sbb esi, 0
movsx edx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x238]
sub eax, edx
cdq
add ecx, eax
adc esi, edx
mov eax, dword [ebp - 0x328]
push eax
mov edx, dword [ebp - 0x32c]
push edx
push esi
push ecx
call fcn.100409b0
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
mov eax, dword [0x10067140]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 4
ja case.default.0x10030aa1
mov ecx, dword [ebp - 0x23c]
jmp dword [ecx*4 + 0x100310fc]
mov edx, dword [0x10067c3c]
mov dword [ebp - 0x2c], edx
movzx eax, byte [0x1006706f]
imul eax, dword [ebp - 0x20]
movzx ecx, byte [0x1006706f]
imul ecx, eax
mov byte [0x1006706f], cl
mov edx, dword [ebp - 0x5c]
shr edx, 2
mov dword [ebp - 0x5c], edx
jmp case.default.0x10030aa1
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], edx
mov edx, dword [ebp - 0x50c]
or edx, dword [ebp - 0x508]
jne 0x10030b14
mov dword [ebp - 0x240], 1
jmp 0x10030b1e
mov dword [ebp - 0x240], 0
movzx eax, byte [ebp - 0x12]
imul ecx, eax, 0xd0cf69fb
add ecx, dword [ebp - 0x240]
mov esi, ecx
xor edi, edi
mov eax, dword [0x10067128]
cdq
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
push edx
push eax
push ebx
push ecx
call fcn.100409b0
not eax
not edx
add esi, eax
adc edi, edx
mov dword [ebp - 0x514], esi
mov dword [ebp - 0x510], edi
mov edx, dword [ebp - 0x514]
or edx, dword [ebp - 0x510]
jne 0x10030b75
mov dword [ebp - 0x244], 1
jmp 0x10030b7f
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x244]
mov dword [0x10067128], eax
mov cl, byte [ebp - 0x7c]
mov edx, 1
shl edx, 1
mov byte [edx + 0x100a2078], cl
movzx eax, byte [ebp - 0x13]
sub eax, 0xb280
cdq
mov dword [0x10067170], eax
mov dword [0x10067174], edx
mov eax, dword [0x10067194]
not eax
add eax, dword [0x10067150]
xor ecx, ecx
mov edx, dword [ebp - 0x50]
add eax, dword [ebp - 0x54]
adc ecx, edx
mov dword [0x10067170], eax
mov dword [0x10067174], ecx
jmp case.default.0x10030aa1
movsx eax, byte [ebp - 0x14]
mov ecx, dword [0x1006711c]
imul ecx, eax
mov dword [0x1006711c], ecx
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
sub ecx, 0xebc4eae2
sbb esi, 0xf0e7
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.100409b0
mov byte [ebp - 0x11], al
mov edx, dword [0x10067168]
xor eax, eax
add edx, dword [0x10067160]
adc eax, dword [0x10067164]
mov dword [0x10067160], edx
mov dword [0x10067164], eax
jmp case.default.0x10030aa1
mov ecx, dword [ebp - 0x58]
xor edx, edx
push 0x25ab1
push 0x453f9dc2
push edx
push ecx
call fcn.100409b0
mov word [ebp - 0x1c], ax
movsx eax, byte [ebp - 0x14]
add eax, dword [0x1006711c]
movsx ecx, byte [ebp - 0x14]
sub ecx, eax
mov byte [ebp - 0x14], cl
movzx eax, word [0x10067154]
cdq
sub eax, dword [0x10067160]
mov word [0x10067154], ax
movzx edx, byte [str.OrOutput_of_signing]
add edx, dword [ebp - 0x68]
jne 0x10030c89
mov dword [ebp - 0x248], 1
jmp 0x10030c93
mov dword [ebp - 0x248], 0
movzx eax, byte [0x10067063]
mov ecx, dword [ebp - 0x2c]
add eax, dword [ebp - 0x248]
add eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x13]
cdq
mov edi, dword [0x1006711c]
xor ebx, ebx
add edi, dword [0x10067138]
adc ebx, dword [0x1006713c]
add eax, edi
adc edx, ebx
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x40], eax
jmp case.default.0x10030aa1
mov edx, 1
imul eax, edx, 0x1d
movzx eax, byte [eax + 0x10168030]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx ecx, word [0x10067144]
mov dword [ebp - 0x68], ecx
mov edx, dword [0x10067148]
mov eax, dword [0x1006714c]
mov dword [ebp - 0x51c], edx
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x51c]
or ecx, dword [ebp - 0x518]
je 0x10030d31
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], eax
jmp 0x10030d43
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movzx edx, word [ebp - 0x18]
movzx eax, word [ebp - 0x18]
sub edx, eax
movzx ecx, word [ebp - 0x18]
add ecx, edx
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x24c]
add edx, 0x3e6
cmp dword [ebp - 0x24c], edx
je 0x10030f97
mov dword [ebp - 4], 0x14
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x520], edx
mov eax, dword [ebp - 0x520]
cmp eax, dword [ebp - 0x48]
ja 0x10030deb
jb 0x10030db1
mov ecx, dword [ebp - 0x524]
cmp ecx, dword [ebp - 0x4c]
ja 0x10030deb
mov ecx, 8
mov esi, str.dsext_aad_aadc
lea edi, [ebp - 0x7e0]
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x7c0], edx
mov word [ebp - 0x7bc], dx
lea eax, [ebp - 0x7e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x10067148], eax
mov dword [0x1006714c], edx
jmp 0x10030e29
mov dword [ebp - 4], 0xffffffff
jmp 0x10030e39
mov dword [ebp - 0xc4], 0x1f
movzx eax, byte [str.OrOutput_of_signing]
cdq
sub eax, 0x2d48da9
sbb edx, 0xd8f1d
mov ecx, dword [ebp - 0x40]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [ebp - 0x40], eax
imul edx, dword [0x1006711c], 0x32
xor eax, eax
mov dword [0x10067178], edx
mov dword [0x1006717c], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x10067118]
lea eax, [edx + ecx + 0x5ac342d8]
mov dword [0x10067118], eax
mov ecx, dword [0x100671a8]
mov edx, dword [0x100671ac]
sub ecx, 0x38
sbb edx, 0
mov dword [0x100671a8], ecx
mov dword [0x100671ac], edx
mov eax, dword [ebp - 0x7c]
add eax, 0xc0
mov ecx, dword [ebp - 0x78]
adc ecx, 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
push 0
push 0x93
push eax
push edx
call fcn.100409b0
mov dword [0x100671a0], eax
mov dword [0x100671a4], edx
movzx ecx, word [0x10067144]
sub ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push edx
push ecx
push esi
push eax
call fcn.100409b0
movzx ecx, byte [0x1006704f]
mov esi, dword [0x1006711c]
lea ecx, [ecx + esi + 0xa]
xor esi, esi
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edx
mov edx, dword [ebp - 0x52c]
or edx, dword [ebp - 0x528]
jne 0x10030f3b
mov eax, 1
mov word [ebp - 0x82], ax
jmp 0x10030f44
xor ecx, ecx
mov word [ebp - 0x82], cx
mov dx, word [ebp - 0x82]
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x1092
jl 0x10030eae
push 0
lea ecx, [ebp - 0x76c]
push ecx
mov edx, dword [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
push 0
call fcn.10001460
call eax
movzx edx, word [ebp - 0x18]
sub edx, 0x4be0d3c6
mov word [0x10067190], dx
mov eax, dword [0x10067160]
sub eax, 0x13
mov ecx, dword [0x10067164]
sbb ecx, 0
mov dword [0x10067178], eax
mov dword [0x1006717c], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push esi
push ecx
push eax
push edx
call fcn.100409b0
mov ecx, eax
mov esi, edx
movsx eax, byte [0x10067026]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.100409b0
mov dword [0x10067134], eax
mov edx, dword [0x10067160]
add edx, 0x2c
mov dword [0x1006711c], edx
mov eax, dword [ebp - 0x8c]
add eax, 1
mov dword [ebp - 0x8c], eax
mov ecx, 1
test ecx, ecx
jne 0x1002f99a
mov edx, dword [ebp - 0xc8]
push edx
push 0
push 0
call fcn.100016d0
call eax
mov eax, dword [ebp - 0x90]
push eax
push 0
push 0
call fcn.10001370
call eax
push 0x8000
push 0
mov ecx, dword [ebp - 0x88]
push ecx
push 0
push 0
call fcn.100012e0
call eax
cmp dword [ebp - 0x8c], 0
jne 0x10031069
xor eax, eax
jmp 0x100310a2
push 0
push 0xd8
mov edx, dword [0x10067174]
push edx
mov eax, dword [0x10067170]
push eax
call fcn.100409b0
mov word [ebp - 0x18], ax
mov cx, word [0x10067c3c]
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x5c]
sub edx, 0x3cb03917
mov byte [ebp - 0x12], dl
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8