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

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
cmp dword [eax + 0x78], 0
jne 0x10042ce5
mov dword [esp + 4], ecx
jmp 0x10046a60
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x10042cf2
mov dword [esp + 4], ecx
jmp eax
mov eax, 1
ret
mov eax, 0x28
call fcn.100d6420
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
push 0x10045de0
push fcn.10045d80
xor esi, esi
lea eax, [edi + 0x44]
push 0x10045d50
xor ebx, ebx
push eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
call fcn.100422e0
add esp, 0x10
call fcn.10045ce0
mov ebp, eax
cmp ebp, esi
jne 0x10046abe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
push edi
call sym.LIBEAY32.dll_ASN1_STRING_type
add esp, 4
cmp eax, esi
mov dword [esp + 0x20], eax
jne 0x10046ae0
push 0x2fd
push str..cryptoecec_mult.c
push 0x71
jmp 0x10046e03
cmp dword [esp + 0x40], esi
jne 0x10046afb
call sym.LIBEAY32.dll_BN_CTX_new
cmp eax, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
je 0x10046e3a
mov ebx, dword [esp + 0x40]
push ebx
call sym.LIBEAY32.dll_BN_CTX_start
push ebx
call sym.LIBEAY32.dll_BN_CTX_get
mov esi, eax
add esp, 8
test esi, esi
je 0x10046e12
push ebx
push esi
push edi
call sym.LIBEAY32.dll_EC_GROUP_get_order
add esp, 0xc
test eax, eax
je 0x10046e12
cmp dword [esi + 4], 0
jne 0x10046b42
push 0x30f
push str..cryptoecec_mult.c
push 0x72
jmp 0x10046e03
push esi
call sym.LIBEAY32.dll_BN_num_bits
add esp, 4
cmp eax, 0x7d0
mov edx, 4
mov dword [esp + 0x3c], edx
jae 0x10046b8b
cmp eax, 0x320
jae 0x10046b81
cmp eax, 0x12c
jae 0x10046bbd
cmp eax, 0x46
jae 0x10046bbd
cmp eax, 0x14
sbb ecx, ecx
add ecx, 2
cmp ecx, edx
jbe 0x10046bbd
cmp eax, 0x320
jb 0x10046b95
mov dword [esp + 0x3c], 5
jmp 0x10046bbd
mov dword [esp + 0x3c], 6
jmp 0x10046bbd
cmp eax, 0x12c
jb 0x10046ba2
mov dword [esp + 0x3c], edx
jmp 0x10046bbd
cmp eax, 0x46
jb 0x10046bb1
mov dword [esp + 0x3c], 3
jmp 0x10046bbd
cmp eax, 0x14
sbb ecx, ecx
add ecx, 2
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add ecx, 0xffffffff
mov esi, 1
shl esi, cl
add eax, 7
shr eax, 3
push 0x329
mov dword [esp + 0x2c], esi
imul esi, eax
mov dword [esp + 0x20], eax
lea eax, [esi*4 + 4]
push str..cryptoecec_mult.c
push eax
mov dword [esp + 0x30], esi
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10046c0c
push 0x32b
jmp 0x10046dfc
mov dword [eax + esi*4], 0
xor esi, esi
cmp dword [esp + 0x24], esi
mov ebx, eax
jbe 0x10046c41
lea ecx, [ecx]
push edi
call sym.LIBEAY32.dll_EC_POINT_new
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
mov dword [ecx + esi*4], eax
je 0x10046df0
add esi, 1
cmp esi, dword [esp + 0x24]
jb 0x10046c20
push edi
call sym.LIBEAY32.dll_EC_POINT_new
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
je 0x10046df7
push edi
call sym.LIBEAY32.dll_EC_POINT_new
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x10046df7
mov edx, dword [esp + 0x20]
push edx
push eax
call sym.LIBEAY32.dll_EC_POINT_copy
add esp, 8
test eax, eax
je 0x10046e12
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jbe 0x10046d79
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
push edi
call sym.LIBEAY32.dll_EC_POINT_dbl
add esp, 0x10
test eax, eax
je 0x10046e12
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx]
push ecx
push eax
call sym.LIBEAY32.dll_EC_POINT_copy
add esp, 8
add ebx, 4
test eax, eax
je 0x10046e12
mov esi, 1
cmp dword [esp + 0x28], esi
jbe 0x10046d0e
lea ebx, [ebx]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx - 4]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ebx]
push eax
push ecx
push edx
push edi
call sym.LIBEAY32.dll_EC_POINT_add
add esp, 0x14
test eax, eax
je 0x10046e12
add esi, 1
add ebx, 4
cmp esi, dword [esp + 0x28]
jb 0x10046ce0
mov eax, dword [esp + 0x1c]
add eax, 0xffffffff
cmp dword [esp + 0x20], eax
jae 0x10046d64
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
push edi
call sym.LIBEAY32.dll_EC_POINT_dbl
add esp, 0x10
test eax, eax
je 0x10046e12
mov esi, 2
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
push ecx
push eax
push eax
push edi
call sym.LIBEAY32.dll_EC_POINT_dbl
add esp, 0x10
test eax, eax
je 0x10046e12
add esi, 1
cmp esi, 8
jb 0x10046d40
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
jb 0x10046c94
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
push edx
push eax
push esi
push edi
call sym.LIBEAY32.dll_EC_POINTs_make_affine
add esp, 0x10
test eax, eax
je 0x10046e12
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push 0x10045de0
push fcn.10045d80
push 0x10045d50
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x40]
push ebp
push ecx
mov dword [ebp], edi
mov dword [ebp + 4], 8
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], eax
mov dword [esp + 0x24], 0
mov dword [ebp + 0x14], esi
call fcn.10042200
add esp, 0x14
test eax, eax
je 0x10046e12
xor ebp, ebp
mov dword [esp + 0x30], 1
jmp 0x10046e12
push 0x333
jmp 0x10046dfc
push 0x339
push str..cryptoecec_mult.c
push 0x41
push 0xbc
push 0x10
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
mov eax, dword [esp + 0x40]
xor esi, esi
cmp eax, esi
je 0x10046e25
push eax
call sym.LIBEAY32.dll_BN_CTX_end
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x10046e36
push eax
call sym.LIBEAY32.dll_BN_CTX_free
add esp, 4
mov ebx, dword [esp + 0x10]
cmp ebp, esi
je 0x10046e47
push ebp
call fcn.10045d80
add esp, 4
cmp ebx, esi
je 0x10046e6f
mov eax, dword [ebx]
test eax, eax
mov esi, ebx
je 0x10046e66
push eax
call sym.LIBEAY32.dll_EC_POINT_free
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x10046e53
push ebx
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10046e80
push eax
call sym.LIBEAY32.dll_EC_POINT_free
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10046e91
push eax
call sym.LIBEAY32.dll_EC_POINT_free
add esp, 4
mov eax, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret