Function at 0x696d8cf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x31c
mov esi, dword [esp + 0x330]
mov ebx, dword [esp + 0x334]
mov eax, dword [esp + 0x338]
mov ebp, dword [esp + 0x33c]
mov edx, dword [esi]
test edx, edx
je 0x696d93f8
test ebp, ebp
je 0x696d9420
test eax, eax
je 0x696d9440
test ebx, ebx
je 0x696d9460
mov edx, dword [eax]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x54], edx
movzx edi, byte [eax + 0x40]
mov edx, ebp
lea eax, [esp + 0x58]
call fcn.696c8f20
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
or eax, dword [esp + 0x30]
or eax, dword [esp + 0x34]
je 0x696d8eb8
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x3c]
or eax, dword [esp + 0x40]
or eax, dword [esp + 0x44]
or eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
or eax, dword [esp + 0x50]
or eax, dword [esp + 0x54]
je 0x696d8eb8
lea eax, [esp + 0xd8]
lea edx, [esp + 0x18]
call fcn.696c39d0
mov edx, eax
lea eax, [esp + 0xf8]
call fcn.696c1be0
test edi, 2
je 0x696d8f57
mov eax, dword [esp + 0x11c]
test eax, eax
jne 0x696d8eb8
mov eax, dword [esp + 0x118]
test eax, eax
jne 0x696d8eb8
mov ebp, dword [esp + 0x114]
test ebp, ebp
jne 0x696d8eb8
mov ecx, dword [esp + 0x110]
test ecx, ecx
jne 0x696d8eb8
mov edx, dword [esp + 0x10c]
test edx, edx
jne 0x696d8eb8
mov eax, dword [esp + 0x108]
cmp eax, 0x1455123
ja 0x696d8eb8
jne 0x696d8ee8
cmp dword [esp + 0x104], 0x6542dd
ja 0x696d8eb8
jne 0x696d8ee8
cmp dword [esp + 0x100], 0x1fc4402
ja 0x696d8eb8
jne 0x696d8ee8
cmp dword [esp + 0xfc], 0x3685c8b
ja 0x696d8eb8
jne 0x696d8ee8
cmp dword [esp + 0xf8], 0x3c9baee
ja 0x696d8eb8
jne 0x696d8ee8
lea esi, [esi]
lea edi, [ebx + 4]
mov dword [ebx], 0
xor eax, eax
and edi, 0xfffffffc
mov dword [ebx + 0x3c], 0
sub ebx, edi
lea ecx, [ebx + 0x40]
shr ecx, 2
rep stosd dword es:[edi], eax
add esp, 0x31c
pop ebx
pop esi
pop edi
pop ebp
ret
add dword [esp + 0xf8], 0x364141
add eax, 0x2baaedc
add dword [esp + 0xfc], 0x97a334
add dword [esp + 0x100], 0x203bbfd
add dword [esp + 0x104], 0x39abd22
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], 0x3ffffff
mov dword [esp + 0x110], 0x3ffffff
mov dword [esp + 0x114], 0x3ffffff
mov dword [esp + 0x118], 0x3ffffff
mov dword [esp + 0x11c], 0x3fffff
mov ecx, edi
lea edx, [esp + 0xf8]
lea eax, [esp + 0x1c4]
and ecx, 1
call fcn.696c9e50
test eax, eax
je 0x696d8eb8
mov eax, dword [esp + 0x214]
lea edx, [esp + 0x18]
lea edi, [esp + 0x98]
lea ebp, [esp + 0xb8]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x268], 1
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x28c], 0
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x288], 0
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x284], 0
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x280], 0
mov dword [esp + 0x264], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x27c], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x26c], 0
call fcn.696c54f0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x78]
lea eax, [esp + 0x294]
call fcn.696c4480
lea edx, [esp + 0x294]
mov eax, edi
call fcn.696c3ca0
mov edx, edi
mov eax, edi
call fcn.696c3aa0
lea ecx, [esp + 0x38]
lea edx, [esp + 0x78]
lea eax, [esp + 0x294]
call fcn.696c4480
lea edx, [esp + 0x294]
mov eax, ebp
call fcn.696c3ca0
mov dword [esp + 4], edi
mov eax, esi
lea ecx, [esp + 0x218]
mov dword [esp], ebp
lea edx, [esp + 0x294]
call fcn.696cdb00
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x1c0], eax
test eax, eax
jne 0x696d8eb8
lea edx, [esp + 0x2e4]
mov eax, edx
call fcn.696c31f0
lea edx, [esp + 0x2e4]
lea eax, [esp + 0x120]
call fcn.696c29e0
lea ecx, [esp + 0x120]
lea edx, [esp + 0x2e4]
lea eax, [esp + 0x148]
call fcn.696c1f70
lea edx, [esp + 0x294]
lea ecx, [esp + 0x120]
mov eax, edx
call fcn.696c1f70
lea edx, [esp + 0x2bc]
lea ecx, [esp + 0x148]
mov eax, edx
call fcn.696c1f70
mov eax, dword [esp + 0x294]
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x2bc]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x2d4]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x30c]
test eax, eax
jne 0x696d8eb8
lea eax, [esp + 0x294]
lea edx, [esp + 0x170]
call fcn.696cc820
mov eax, dword [esp + 0x294]
mov dword [ebx], eax
mov eax, dword [esp + 0x298]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x29c]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x2a0]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x2a4]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x2a8]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x2ac]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x2b0]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x2b4]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x2b8]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x2bc]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x2c0]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x2c4]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x2c8]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x2cc]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x2d0]
mov dword [ebx + 0x3c], eax
add esp, 0x31c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esi + 0xa8]
mov dword [esp], str.secp256k1_ecmult_context_is_built_ctx__ecmult_ctx_
mov dword [esp + 4], eax
call dword [esi + 0xa4]
add esp, 0x31c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esi + 0xa8]
mov dword [esp], str.msg32___NULL
mov dword [esp + 4], eax
call dword [esi + 0xa4]
xor eax, eax
jmp 0x696d8ed7
mov eax, dword [esi + 0xa8]
mov dword [esp], str.signature___NULL
mov dword [esp + 4], eax
call dword [esi + 0xa4]
xor eax, eax
jmp 0x696d8ed7
mov eax, dword [esi + 0xa8]
mov dword [esp], str.pubkey___NULL