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

Disassembly:
mov eax, 0x58
call fcn.00525ec0
mov edx, dword [esp + 0x6c]
push ebx
xor ebx, ebx
push ebp
mov ebp, dword [esp + 0x64]
mov eax, dword [ebp]
push esi
mov esi, dword [esp + 0x6c]
push edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], ebx
cmp eax, dword [esi]
je 0x4a4aac
push 0x168
push str..cryptoecec_mult.c
push 0x65
push 0x10
mov ecx, 0xbb
call fcn.00460970
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
cmp dword [esp + 0x74], ebx
jne 0x4a4ac5
cmp edi, ebx
jne 0x4a4ac5
mov edx, ebp
call fcn.0047a060
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
xor ecx, ecx
cmp edi, ebx
jbe 0x4a4adc
jmp 0x4a4ad0
mov esi, dword [edx + ecx*4]
cmp eax, dword [esi]
jne 0x4a4b21
inc ecx
cmp ecx, edi
jb 0x4a4ad0
cmp dword [esp + 0x84], ebx
jne 0x4a4aff
call fcn.0046e820
mov dword [esp + 0x5c], eax
mov dword [esp + 0x84], eax
cmp eax, ebx
je 0x4a558a
xor ebx, ebx
cmp dword [esp + 0x74], ebx
je 0x4a4b6b
mov edi, dword [ebp + 4]
mov dword [esp + 0x58], edi
cmp edi, ebx
jne 0x4a4b2b
push 0x180
push str..cryptoecec_mult.c
push 0x71
jmp 0x4a536d
push 0x172
jmp 0x4a4a8c
mov eax, dword [ebp + 0x44]
cmp eax, ebx
je 0x4a4b5a
mov esi, 0x4a44e0
mov edx, fcn.004a4550
mov ecx, 0x4a4690
cmp dword [eax + 8], esi
jne 0x4a4b54
cmp dword [eax + 0xc], edx
jne 0x4a4b54
cmp dword [eax + 0x10], ecx
je 0x4a4c5c
mov eax, dword [eax]
cmp eax, ebx
jne 0x4a4b41
mov eax, 1
mov dword [esp + 0x48], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x24]
add eax, ecx
lea ebx, [eax*4]
push str..cryptoecec_mult.c
mov edi, 0x1ad
mov esi, ebx
mov dword [esp + 0x20], eax
call fcn.004746f0
add esp, 4
mov ebp, eax
push str..cryptoecec_mult.c
mov edi, 0x1ae
mov dword [esp + 0x30], ebp
call fcn.004746f0
add esp, 4
push str..cryptoecec_mult.c
lea esi, [ebx + 4]
mov edi, 0x1af
mov dword [esp + 0x24], eax
call fcn.004746f0
add esp, 4
push str..cryptoecec_mult.c
mov edi, 0x1b1
mov esi, ebx
mov dword [esp + 0x18], eax
call fcn.004746f0
add esp, 4
cmp dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
je 0x4a4bf2
mov edx, dword [esp + 0x14]
mov dword [edx], 0
xor ecx, ecx
cmp ebp, ecx
je 0x4a5361
cmp dword [esp + 0x20], ecx
je 0x4a5361
cmp dword [esp + 0x14], ecx
je 0x4a5361
cmp dword [esp + 0x18], ecx
je 0x4a5361
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x78]
add eax, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], eax
cmp eax, ecx
jbe 0x4a4dbf
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x14]
sub eax, ebp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
sub ebx, ebp
sub eax, ebp
mov esi, ebp
mov dword [esp + 0x64], eax
mov edi, edx
mov ebp, ecx
jmp 0x4a4ce8
mov esi, dword [eax + 4]
mov dword [esp + 0x48], esi
cmp esi, ebx
je 0x4a4b5a
cmp dword [esi + 8], ebx
je 0x4a4b5a
mov eax, dword [esp + 0x84]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
push eax
push edx
mov edx, ebp
call fcn.0047a4b0
add esp, 8
test eax, eax
jne 0x4a4b5a
mov edi, dword [esi + 4]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x38], edi
call fcn.00465110
xor edx, edx
div edi
mov edx, dword [esi + 8]
inc eax
mov dword [esp + 0x24], eax
cmp eax, edx
jbe 0x4a4cb8
mov dword [esp + 0x24], edx
mov ecx, dword [esi + 0xc]
dec ecx
mov eax, 1
shl eax, cl
imul edx, eax
mov dword [esp + 0x54], eax
cmp dword [esi + 0x14], edx
je 0x4a4b6b
push 0x19f
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
mov edi, dword [esp + 0x78]
cmp ebp, edi
jae 0x4a4d12
mov eax, dword [esp + 0x50]
mov edx, dword [eax + esi]
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
test eax, eax
je 0x4a4d1b
mov edx, dword [edx]
mov eax, dword [edx + ecx*4]
push eax
call fcn.004650c0
shl ecx, 5
add esp, 4
add eax, ecx
jmp 0x4a4d1b
mov edx, dword [esp + 0x74]
call fcn.00465110
cmp eax, 0x7d0
jb 0x4a4d29
mov eax, 6
jmp 0x4a4d59
cmp eax, 0x320
jb 0x4a4d37
mov eax, 5
jmp 0x4a4d59
cmp eax, 0x12c
jb 0x4a4d45
mov eax, 4
jmp 0x4a4d59
cmp eax, 0x46
jb 0x4a4d51
mov eax, 3
jmp 0x4a4d59
cmp eax, 0x14
sbb eax, eax
add eax, 2
lea ecx, [eax - 1]
mov edx, 1
shl edx, cl
mov dword [esi], eax
mov dword [ebx + esi + 4], 0
add dword [esp + 0x3c], edx
cmp ebp, edi
jae 0x4a4d7e
mov eax, dword [esp + 0x50]
mov eax, dword [eax + esi]
jmp 0x4a4d82
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
mov edx, dword [esi]
lea edi, [ecx + esi]
push edi
push edx
push eax
call fcn.004a47a0
add esp, 0xc
mov dword [ebx + esi], eax
test eax, eax
je 0x4a537c
mov edi, dword [edi]
cmp edi, dword [esp + 0x28]
jbe 0x4a4dad
mov dword [esp + 0x28], edi
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x34]
jb 0x4a4ce4
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4a4f99
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x4a4def
cmp dword [esp + 0x30], 1
je 0x4a4f99
push 0x1d6
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
cmp dword [esp + 0x30], 0
mov dword [esp + 0x24], 0
je 0x4a4e0f
push 0x1df
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x24]
push edx
push eax
mov dword [ebp + ecx*4], eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.004a47a0
add esp, 0xc
mov dword [esp + 0x30], eax
test eax, eax
je 0x4a537c
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x28]
ja 0x4a4e77
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x30]
lea ecx, [eax + 1]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*4], edi
mov dword [ecx + eax*4 + 4], 0
mov ecx, dword [esp + 0x20]
mov dword [ecx + eax*4], edx
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax*4], edx
jmp 0x4a4f95
mov ecx, dword [esp + 0x38]
imul edi, ecx
cmp edx, edi
jae 0x4a4eaa
lea eax, [edx + ecx - 1]
xor edx, edx
div ecx
cmp eax, dword [esi + 8]
jbe 0x4a4ea0
push 0x20c
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
mov edx, dword [esp + 0x78]
add eax, edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x1c]
jae 0x4a4f8c
mov eax, dword [esp + 0x20]
lea ebx, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [esp + 0x10], eax
jae 0x4a4f03
mov eax, dword [esp + 0x38]
mov dword [ebx], eax
cmp dword [esp + 0x24], eax
jb 0x4a4fc8
sub dword [esp + 0x24], eax
jmp 0x4a4f09
mov ecx, dword [esp + 0x24]
mov dword [ebx], ecx
mov edx, dword [esp + 0x50]
mov dword [edx + ebx + 4], 0
mov esi, dword [ebx]
push str..cryptoecec_mult.c
mov edi, 0x226
call fcn.004746f0
mov ecx, dword [esp + 0x54]
add esp, 4
mov dword [ecx + ebx], eax
test eax, eax
je 0x4a4fd9
mov edx, dword [ebx]
mov esi, dword [esp + 0x48]
push edx
push esi
push eax
call fcn.005165f0
mov eax, dword [ebx]
add esp, 0xc
cmp eax, dword [esp + 0x28]
jbe 0x4a4f55
mov dword [esp + 0x28], eax
cmp dword [ebp], 0
je 0x4a5002
mov eax, dword [esp + 0x64]
add esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov dword [eax + ebx], ebp
mov eax, dword [esp + 0x10]
inc eax
add ebx, 4
lea ebp, [ebp + ecx*4]
mov dword [esp + 0x48], esi
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x1c]
jb 0x4a4ee2
mov esi, dword [esp + 0x30]
call fcn.004748e0
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
push str..cryptoecec_mult.c
lea esi, [ebx*4 + 4]
mov edi, 0x243
call fcn.004746f0
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4a5010
push 0x245
jmp 0x4a5366
push 0x21a
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
push 0x228
push str..cryptoecec_mult.c
push 0x41
push 0x10
mov ecx, 0xbb
call fcn.00460970
mov esi, dword [esp + 0x40]
add esp, 0x10
call fcn.004748e0
jmp 0x4a537c
push 0x231
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a4fe5
cmp dword [esp + 0x34], 0
lea ecx, [eax + ebx*4]
mov dword [esp + 0x54], ecx
mov dword [ecx], 0
mov edi, eax
mov dword [esp + 0x10], 0
jbe 0x4a5096
mov eax, dword [esp + 0x18]
sub eax, ebp
mov esi, ebp
mov dword [esp + 0x64], eax
lea ebx, [ebx]
mov edx, dword [esp + 0x64]
mov dword [edx + esi], edi
mov ecx, dword [esi]
dec ecx
mov eax, 1
shl eax, cl
xor ebx, ebx
test eax, eax
jbe 0x4a5080
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00479e40
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4a537c
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
inc ebx
add edi, 4
cmp ebx, edx
jb 0x4a5057
mov eax, dword [esp + 0x10]
inc eax
add esi, 4
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x34]
jb 0x4a5040
mov ecx, dword [esp + 0x54]
cmp edi, ecx
je 0x4a50ab
push 0x256
push str..cryptoecec_mult.c
push 0x44
jmp 0x4a536d
mov eax, dword [esp + 0x6c]
push eax
call fcn.00479e40
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x4a537c
cmp dword [esp + 0x34], 0
mov dword [esp + 0x10], 0
jbe 0x4a51b9
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x2c]
sub eax, ebx
sub edi, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], edi
jmp 0x4a50f9
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x78]
jae 0x4a510c
mov edx, dword [ebx]
mov esi, dword [eax + ebx]
mov edx, dword [edx]
jmp 0x4a5114
mov eax, dword [ebx]
mov esi, dword [esp + 0x58]
mov edx, dword [eax]
call fcn.0047a000
test eax, eax
je 0x4a537c
cmp dword [edi + ebx], 1
jbe 0x4a51a3
mov edx, dword [ebx]
mov ecx, dword [esp + 0x84]
mov eax, dword [edx]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
push ecx
push eax
call fcn.0047a330
add esp, 8
test eax, eax
je 0x4a537c
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + ebx]
mov ebp, 1
dec ecx
mov edx, ebp
shl edx, cl
cmp edx, ebp
jbe 0x4a51a3
mov eax, dword [ebx]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x44]
mov edi, dword [eax + ebp*4 - 4]
mov esi, dword [esp + 0x6c]
push ecx
mov ecx, dword [eax + ebp*4]
lea eax, [eax + ebp*4]
push edx
push ecx
call fcn.0047a2b0
add esp, 0xc
test eax, eax
je 0x4a537c
mov edx, dword [esp + 0x48]
mov ecx, dword [edx + ebx]
dec ecx
mov eax, 1
shl eax, cl
inc ebp
cmp ebp, eax
jb 0x4a5161
mov eax, dword [esp + 0x10]
inc eax
add ebx, 4
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x34]
jb 0x4a50f1
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
push ecx
push edx
call fcn.0047a570
add esp, 8
test eax, eax
je 0x4a537c
mov ebp, dword [esp + 0x28]
add ebp, 0xffffffff
mov esi, 1
mov dword [esp + 0x3c], esi
js 0x4a5325
test esi, esi
jne 0x4a5219
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
push eax
push edi
call fcn.0047a330
add esp, 8
test eax, eax
je 0x4a537c
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0
jbe 0x4a5318
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
sub ecx, eax
sub eax, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x58], eax
jmp 0x4a524e
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x58]
add eax, ebx
cmp dword [eax + ecx], ebp
jbe 0x4a52fe
mov ecx, dword [eax]
movsx edi, byte [ecx + ebp]
test edi, edi
je 0x4a52fe
xor eax, eax
test edi, edi
setl al
test eax, eax
je 0x4a5274
neg edi
cmp eax, dword [esp + 0x40]
je 0x4a52ae
cmp dword [esp + 0x3c], 0
jne 0x4a52a1
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
call fcn.0047a390
add esp, 4
test eax, eax
je 0x4a537c
xor eax, eax
cmp dword [esp + 0x40], eax
sete al
mov dword [esp + 0x40], eax
sar edi, 1
cmp dword [esp + 0x3c], 0
je 0x4a52d7
mov ecx, dword [ebx]
mov esi, dword [ecx + edi*4]
mov edx, dword [esp + 0x70]
call fcn.0047a000
test eax, eax
je 0x4a537c
mov dword [esp + 0x3c], 0
jmp 0x4a52fe
mov edx, dword [esp + 0x84]
mov eax, dword [ebx]
mov ecx, dword [eax + edi*4]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
push edx
push ecx
push edi
call fcn.0047a2b0
add esp, 0xc
test eax, eax
je 0x4a537c
mov eax, dword [esp + 0x10]
inc eax
add ebx, 4
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x1c]
jb 0x4a5246
mov esi, dword [esp + 0x3c]
sub ebp, 1
jns 0x4a51f4
test esi, esi
je 0x4a5334
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
call fcn.0047a060
jmp 0x4a5353
cmp dword [esp + 0x40], 0
je 0x4a5357
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x70]
call fcn.0047a390
add esp, 4
test eax, eax
je 0x4a537c
mov dword [esp + 0x60], 1
jmp 0x4a537c
push 0x1b8
push str..cryptoecec_mult.c
push 0x41
push 0x10
mov ecx, 0xbb
call fcn.00460970
add esp, 0x10
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x4a5389
call fcn.0046e8e0
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4a53cd
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4a53a0
push esi
call eax
add esp, 4
mov eax, dword [0x5be044]
test eax, eax
je 0x4a53b1
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a53d2
push 1
push 0
call eax
add esp, 8
mov eax, dword [0x5be044]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4a5407
test eax, eax
je 0x4a53e6
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a5407
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
mov esi, dword [esp + 0x20]
test esi, esi
je 0x4a543c
test eax, eax
je 0x4a541b
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a543c
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4a54b4
cmp dword [ebx], 0
mov edi, ebx
je 0x4a5487
jmp 0x4a5450
mov esi, dword [edi]
test eax, eax
je 0x4a545e
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a547f
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
add edi, 4
cmp dword [edi], 0
jne 0x4a5450
test eax, eax
je 0x4a5493
push 0
push ebx
call eax
add esp, 8
push ebx
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a54b4
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x4a555a
cmp dword [ebx], 0
mov edi, ebx
je 0x4a552d
mov esi, dword [edi]
test esi, esi
je 0x4a5525
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x4a54db
push esi
call ecx
jmp 0x4a54e5
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4a54e8
push esi
call eax
add esp, 4
push 0x44
push esi
call fcn.004daa60
mov eax, dword [0x5be044]
add esp, 8
test eax, eax
je 0x4a5504
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a5525
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
add edi, 4
cmp dword [edi], 0
jne 0x4a54c7
test eax, eax
je 0x4a5539
push 0
push ebx
call eax
add esp, 8
push ebx
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a555a
push 1
push 0
call eax
mov eax, dword [0x5be044]
add esp, 8
mov esi, dword [esp + 0x18]
test esi, esi
je 0x4a558a
test eax, eax
je 0x4a556e
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x5b65dc]
mov eax, dword [0x5be044]
add esp, 4
test eax, eax
je 0x4a558a
push 1
push 0
call eax
add esp, 8
mov eax, dword [esp + 0x60]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret