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

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
cmp dword [eax + 0x78], 0
jne 0x10047495
mov dword [esp + 4], ecx
jmp 0x1004b030
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x100474a2
mov dword [esp + 4], ecx
jmp eax
mov eax, 1
ret
mov eax, 0x28
call fcn.100bff40
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
push 0x1004a3e0
push fcn.1004a380
xor esi, esi
lea eax, [edi + 0x44]
push 0x1004a360
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.10046a90
add esp, 0x10
call fcn.1004a2f0
mov ebp, eax
cmp ebp, esi
jne 0x1004b08e
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
mov dword [esp + 0x20], eax
cmp eax, esi
jne 0x1004b0b0
push 0x312
push str..cryptoecec_mult.c
push 0x71
jmp 0x1004b3cb
cmp dword [esp + 0x40], esi
jne 0x1004b0cb
call sym.LIBEAY32.dll_BN_CTX_new
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
cmp eax, esi
je 0x1004b402
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 0x1004b3da
push ebx
push esi
push edi
call sym.LIBEAY32.dll_EC_GROUP_get_order
add esp, 0xc
test eax, eax
je 0x1004b3da
cmp dword [esi + 4], 0
jne 0x1004b112
push 0x324
push str..cryptoecec_mult.c
push 0x72
jmp 0x1004b3cb
push esi
call sym.LIBEAY32.dll_BN_num_bits
add esp, 4
mov edx, 4
mov dword [esp + 0x3c], edx
cmp eax, 0x7d0
jae 0x1004b15b
cmp eax, 0x320
jae 0x1004b151
cmp eax, 0x12c
jae 0x1004b18d
cmp eax, 0x46
jae 0x1004b18d
cmp eax, 0x14
sbb ecx, ecx
add ecx, 2
cmp ecx, edx
jbe 0x1004b18d
cmp eax, 0x320
jb 0x1004b165
mov dword [esp + 0x3c], 5
jmp 0x1004b18d
mov dword [esp + 0x3c], 6
jmp 0x1004b18d
cmp eax, 0x12c
jb 0x1004b172
mov dword [esp + 0x3c], edx
jmp 0x1004b18d
cmp eax, 0x46
jb 0x1004b181
mov dword [esp + 0x3c], 3
jmp 0x1004b18d
cmp eax, 0x14
sbb ecx, ecx
add ecx, 2
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
dec ecx
mov esi, 1
shl esi, cl
add eax, 7
shr eax, 3
push 0x33d
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
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1004b1da
push 0x340
jmp 0x1004b3c4
mov dword [eax + esi*4], 0
xor esi, esi
mov ebx, eax
cmp dword [esp + 0x24], esi
jbe 0x1004b20f
jmp 0x1004b1f0
push edi
call sym.LIBEAY32.dll_EC_POINT_new
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + esi*4], eax
test eax, eax
je 0x1004b3b8
inc esi
cmp esi, dword [esp + 0x24]
jb 0x1004b1f0
push edi
call sym.LIBEAY32.dll_EC_POINT_new
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x1004b3bf
push edi
call sym.LIBEAY32.dll_EC_POINT_new
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x1004b3bf
mov edx, dword [esp + 0x20]
push edx
push eax
call sym.LIBEAY32.dll_EC_POINT_copy
add esp, 8
test eax, eax
je 0x1004b3da
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jbe 0x1004b345
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 0x1004b3da
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 0x1004b3da
mov esi, 1
cmp dword [esp + 0x28], esi
jbe 0x1004b2dc
jmp 0x1004b2b0
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 0x1004b3da
inc esi
add ebx, 4
cmp esi, dword [esp + 0x28]
jb 0x1004b2b0
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [esp + 0x20], eax
jae 0x1004b332
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 0x1004b3da
mov esi, 2
lea esp, [esp]
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 0x1004b3da
inc esi
cmp esi, 8
jb 0x1004b310
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x1c]
jb 0x1004b262
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 0x1004b3da
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push 0x1004a3e0
push fcn.1004a380
push 0x1004a360
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.100469b0
add esp, 0x14
test eax, eax
je 0x1004b3da
xor ebp, ebp
mov dword [esp + 0x30], 1
jmp 0x1004b3da
push 0x34a
jmp 0x1004b3c4
push 0x351
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 0x1004b3ed
push eax
call sym.LIBEAY32.dll_BN_CTX_end
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x1004b3fe
push eax
call sym.LIBEAY32.dll_BN_CTX_free
add esp, 4
mov ebx, dword [esp + 0x10]
cmp ebp, esi
je 0x1004b40f
push ebp
call fcn.1004a380
add esp, 4
cmp ebx, esi
je 0x1004b43c
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
je 0x1004b433
jmp 0x1004b420
push eax
call sym.LIBEAY32.dll_EC_POINT_free
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x1004b420
push ebx
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1004b44d
push eax
call sym.LIBEAY32.dll_EC_POINT_free
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004b45e
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