Function at 0x696d9800
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x25c
mov eax, dword [esp + 0x270]
mov ebx, dword [esp + 0x27c]
mov esi, dword [eax + 4]
test esi, esi
je 0x696d9c50
mov ecx, dword [esp + 0x278]
test ecx, ecx
je 0x696d9c80
mov edx, dword [esp + 0x274]
test edx, edx
je 0x696d9ca8
test ebx, ebx
je 0x696d9fa0
lea esi, [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.libsecp256k1_0.dll_secp256k1_ec_pubkey_create
test eax, eax
jne 0x696d9870
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x270]
mov ecx, esi
lea edx, [esp + 0x12c]
call fcn.696c92b0
xor ecx, ecx
lea eax, [esp + 0x5c]
mov edx, ebx
call fcn.696c8f20
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x60]
or eax, dword [esp + 0x64]
or eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
or eax, dword [esp + 0x70]
or eax, dword [esp + 0x74]
or eax, dword [esp + 0x78]
jne 0x696d98f8
mov eax, dword [esp + 0x274]
mov dword [eax], 0
mov eax, dword [esp + 0x274]
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0x274]
lea edi, [eax + 4]
mov ecx, eax
xor eax, eax
and edi, 0xfffffffc
sub ecx, edi
add ecx, 0x40
shr ecx, 2
rep stosd dword es:[edi], eax
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x280]
lea edx, [esp + 0x5c]
mov dword [esp + 0xc4], 0x6e686353
mov dword [esp + 0xc8], 0x2b72726f
test eax, eax
mov eax, 0x696d0ae0
cmovne eax, dword [esp + 0x280]
mov dword [esp + 0xcc], 0x32414853
mov dword [esp + 0xd0], 0x20203635
mov dword [esp + 0x280], eax
lea eax, [esp + 0x1d4]
mov byte [esp + 0xd4], 0
call fcn.696c39d0
xor eax, eax
jmp 0x696d9bf7
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
bswap eax
mov ebx, eax
mov eax, dword [esp + 0x194]
bswap ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x190]
bswap eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18c]
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x188]
bswap edi
bswap edx
mov esi, eax
mov eax, dword [esp + 0x184]
bswap esi
mov dword [esp + 0x48], esi
mov ebp, eax
mov eax, dword [esp + 0x180]
bswap ebp
mov dword [esp + 0x34], ebp
bswap eax
mov ecx, eax
mov eax, esi
mov esi, edx
and eax, ebp
mov dword [esp + 0x38], ecx
and eax, ecx
mov dword [esp + 0x44], esi
cmp eax, 0xffffffff
setne al
cmp edx, 0xfffffffd
setbe dl
xor ecx, ecx
or eax, edx
cmp esi, 0xffffffff
movzx eax, al
sete cl
mov edx, eax
mov ebp, ecx
mov ecx, edi
not edx
mov dword [esp + 0x40], ecx
and ebp, edx
xor edx, edx
cmp edi, 0xbaaedce5
mov edi, ebp
setbe dl
not edi
mov esi, edi
and esi, edx
mov edx, ecx
xor ecx, ecx
mov edi, esi
or edi, eax
cmp edx, 0xbaaedce6
mov edx, edi
seta cl
xor eax, eax
not edx
and edx, ecx
mov ecx, dword [esp + 0x30]
or edx, ebp
mov ebp, edx
cmp ecx, 0xaf48a03a
not ebp
setbe al
mov esi, ebp
mov ebp, dword [esp + 0x2c]
and esi, eax
or esi, edi
cmp ecx, 0xaf48a03b
seta cl
mov edi, esi
not edi
movzx ecx, cl
and ecx, edi
or ecx, edx
xor edx, edx
cmp ebp, 0xbfd25e8b
mov edi, ecx
setbe dl
not edi
mov eax, edi
mov edi, ebx
and eax, edx
or eax, esi
cmp ebp, 0xbfd25e8c
mov esi, edi
seta dl
cmp ebx, 0xd0364140
not eax
seta bl
mov ebp, ebx
mov ebx, edi
xor edi, edi
or edx, ebp
movzx ebp, dl
xor edx, edx
and ebp, eax
or ebp, ecx
imul ecx, ebp, 0x2fc9bebf
add esi, ecx
adc edi, edx
imul eax, ebp, 0x402da173
mov edx, ecx
mov ecx, dword [esp + 0x2c]
add edx, ebx
mov esi, edi
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x7c], edx
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x30]
adc ebx, edx
add ecx, esi
adc ebx, edi
mov dword [esp + 0x2c], ecx
xor edi, edi
xor edx, edx
imul esi, ebp, 0x50b75fc4
mov dword [esp + 0x80], ecx
mov ecx, ebx
xor ebx, ebx
add eax, esi
adc edx, edi
add eax, ecx
mov ecx, dword [esp + 0x40]
adc edx, ebx
mov dword [esp + 0x30], eax
xor ebx, ebx
xor edi, edi
imul esi, ebp, 0x45512319
mov dword [esp + 0x84], eax
mov eax, edx
xor edx, edx
add esi, ecx
adc edi, ebx
add esi, eax
mov eax, dword [esp + 0x44]
mov ebx, ebp
adc edi, edx
mov dword [esp + 0x40], esi
sar ebx, 0x1f
xor edx, edx
mov dword [esp + 0x88], esi
mov esi, edi
xor edi, edi
add eax, ebp
adc edx, ebx
add esi, eax
mov eax, dword [esp + 0x48]
adc edi, edx
mov dword [esp + 0x44], esi
xor edx, edx
mov dword [esp + 0x8c], esi
mov esi, edi
xor edi, edi
add esi, eax
mov dword [esp + 0x90], esi
adc edi, edx
mov eax, dword [esp + 0x34]
mov ecx, esi
mov esi, edi
xor edx, edx
xor edi, edi
add esi, eax
mov eax, dword [esp + 0x38]
adc edi, edx
mov dword [esp + 0x94], esi
mov ebx, esi
mov esi, edi
add esi, eax
mov dword [esp + 0x98], esi
test ebp, ebp
jne 0x696d9b9e
mov edx, dword [esp + 0x4c]
or edx, dword [esp + 0x2c]
or edx, dword [esp + 0x30]
or edx, dword [esp + 0x40]
or edx, dword [esp + 0x44]
or edx, ecx
or edx, ebx
or edx, esi
jne 0x696d9cd0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
lea ebx, [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x284]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1d4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x278]
mov dword [esp + 4], eax
lea eax, [esp + 0x180]
mov dword [esp], eax
call dword [esp + 0x280]
test eax, eax
jne 0x696d9960
jmp 0x696d98b4
mov eax, dword [eax + 0xa8]
mov dword [esp], str.secp256k1_ecmult_gen_context_is_built_ctx__ecmult_gen_ctx_
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
call dword [eax + 0xa4]
add esp, 0x25c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 0xa8]
mov dword [esp], str.msg32___NULL
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
call dword [eax + 0xa4]
xor eax, eax
jmp 0x696d9864
mov eax, dword [eax + 0xa8]
mov dword [esp], str.sig64___NULL
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
call dword [eax + 0xa4]
xor eax, eax
jmp 0x696d9864
mov eax, dword [esp + 0x270]
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x1d4]
add eax, 4
call fcn.696cb9c0
mov eax, dword [esp + 0x24c]
lea edx, [esp + 0x224]
mov dword [esp + 0x1d0], eax
mov eax, edx
call fcn.696c31f0
lea edx, [esp + 0x224]
lea eax, [esp + 0x9c]
call fcn.696c29e0
lea ecx, [esp + 0x9c]
lea edx, [esp + 0x224]
lea eax, [esp + 0xc4]
call fcn.696c1f70
lea edx, [esp + 0x1d4]
lea ecx, [esp + 0x9c]
mov eax, edx
call fcn.696c1f70
lea edx, [esp + 0x1fc]
lea ecx, [esp + 0xc4]
mov eax, edx
call fcn.696c1f70
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x60]
or eax, dword [esp + 0x64]
or eax, dword [esp + 0x68]
or eax, dword [esp + 0x6c]
or eax, dword [esp + 0x70]
or eax, dword [esp + 0x74]
or eax, dword [esp + 0x78]
je 0x696d98b4
mov eax, dword [esp + 0x7c]
or eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
or eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
or eax, dword [esp + 0x90]
or eax, dword [esp + 0x94]
or eax, dword [esp + 0x98]
je 0x696d98b4
mov eax, dword [esp + 0x17c]
test eax, eax
jne 0x696d98b4
lea edx, [esp + 0x1a8]
lea eax, [esp + 0x1d4]
call fcn.696c9570
test eax, eax
je 0x696d9fc5
lea eax, [esp + 0x180]
call fcn.696c14e0
mov edx, eax
mov eax, dword [esp + 0x274]
call fcn.696c1e10
mov eax, dword [esp + 0x278]
mov edx, dword [esp + 0x274]
lea ecx, [esp + 0x12c]
mov dword [esp], eax
lea eax, [esp + 0x9c]
call fcn.696cc150
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x9c]
lea eax, [esp + 0x1d4]
call fcn.696c4480
lea edx, [esp + 0x1d4]
lea eax, [esp + 0xc4]
call fcn.696c3ca0
lea edx, [esp + 0xc4]
lea ecx, [esp + 0x7c]
mov eax, edx
call fcn.696c8c40
mov eax, dword [esp + 0x274]
lea edx, [esp + 0xc4]
add eax, 0x20
call fcn.696c39d0
mov eax, 1
jmp 0x696d9864
mov eax, dword [eax + 0xa8]
mov dword [esp], str.seckey___NULL
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
call dword [eax + 0xa4]
xor eax, eax
jmp 0x696d9864
lea edx, [esp + 0x7c]
mov eax, edx
call fcn.696c3aa0
jmp 0x696d9f00