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

Disassembly:
sub esp, 0x30
push ebx
push edi
mov edi, dword [esp + 0x44]
add edi, 1
sar edi, 1
mov eax, edi
shl eax, 6
add eax, 0x18
push eax
call fcn.109227a2
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 8], 1
je 0x1091d628
mov ecx, dword [esp + 0x48]
push ebp
push esi
mov esi, dword [esp + 0x44]
lea eax, [esi + 0xc]
push ecx
push eax
call sym.L2.exe_mpnsetw
add esp, 8
push ebx
lea eax, [esi + 0xc]
mov ebp, edi
shl ebp, 5
push eax
push ebp
mov dword [esp + 0x58], ebp
call sym.L2.exe_mpptrials
mov edx, dword [esp + 0x54]
add esp, 4
push eax
push ebp
push edx
lea eax, [esi + 0x1c]
push eax
call sym.L2.exe_mpprnd_w
add esp, 0x18
push ebx
lea eax, [esi + 0xc]
push eax
mov eax, dword [esp + 0x54]
push eax
lea ebp, [esi + 0x28]
call sym.L2.exe_mpptrials
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
add esp, 4
push eax
push ecx
push edx
push ebp
call sym.L2.exe_mpprnd_w
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x20]
push eax
push ecx
push edi
call sym.L2.exe_mple
add esp, 0x24
test eax, eax
je 0x1091d431
mov edx, dword [ebp + 8]
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x1c]
mov dword [ebp], edx
mov edx, dword [esi + 0x20]
mov dword [ebp + 4], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x1c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x20], ecx
mov dword [esp + 0x20], ecx
mov dword [ebp + 8], edx
mov dword [esi + 0x24], eax
lea ecx, [esp + 0x1c]
push ecx
call sym.L2.exe_mpbzero
lea edx, [esp + 0x2c]
push edx
call sym.L2.exe_mpbzero
lea eax, [esp + 0x3c]
push eax
call sym.L2.exe_mpbzero
lea ecx, [esp + 0x20]
push ecx
call sym.L2.exe_mpnzero
add esp, 0x10
lea esp, [esp]
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x20]
push edx
push edi
push eax
push edi
push ebx
call sym.L2.exe_mpmul
add esp, 0x14
cmp dword [esp + 0x10], 0
je 0x1091d48f
lea eax, [edi + edi]
push ebx
push eax
call sym.L2.exe_mpmsbset
add esp, 8
test eax, eax
jne 0x1091d560
mov ecx, dword [esp + 0x4c]
push ebx
lea eax, [esi + 0xc]
push eax
push ecx
call sym.L2.exe_mpptrials
mov edx, dword [esp + 0x58]
add esp, 4
push eax
mov eax, dword [esp + 0x54]
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
call sym.L2.exe_mpprnd_w
mov edx, dword [esp + 0x38]
mov eax, dword [esi + 0x20]
push edx
push eax
push edi
call sym.L2.exe_mple
add esp, 0x24
test eax, eax
je 0x1091d4fb
push ebp
call sym.L2.exe_mpbfree
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x24]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
jmp 0x1091d52c
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x2c]
push edx
push eax
push edi
call sym.L2.exe_mple
add esp, 0xc
test eax, eax
je 0x1091d546
push ebp
call sym.L2.exe_mpbfree
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [ebp], ecx
mov dword [ebp + 4], edx
mov dword [ebp + 8], eax
lea ecx, [esp + 0x20]
push ecx
call sym.L2.exe_mpbzero
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x1091d460
lea edx, [esp + 0x1c]
push edx
call sym.L2.exe_mpbfree
add esp, 4
mov dword [esp + 0x10], 0
jmp 0x1091d460
push ebx
lea eax, [edi + edi]
push eax
push esi
call sym.L2.exe_mpbset
lea eax, [esi + 0x1c]
push ebx
push eax
call sym.L2.exe_mpbsubone
push ebx
lea eax, [esp + 0x40]
push edi
push eax
call sym.L2.exe_mpbset
push ebx
push ebp
call sym.L2.exe_mpbsubone
push ebx
lea ecx, [esp + 0x60]
push edi
push ecx
call sym.L2.exe_mpbset
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
push edx
push edi
push eax
push edi
push ebx
call sym.L2.exe_mpmul
add esp, 0x48
push ebx
lea eax, [edi + edi]
push eax
lea ecx, [esp + 0x1c]
push ecx
call sym.L2.exe_mpnset
lea edx, [esp + 0x20]
push edx
lea eax, [esi + 0xc]
push eax
lea eax, [esi + 0x14]
push eax
call sym.L2.exe_mpninv
lea ecx, [esi + 0x34]
push edi
push ecx
call sym.L2.exe_mpnsize
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x18]
push ebx
push edx
push eax
lea ecx, [esp + 0x54]
push ecx
call sym.L2.exe_mpbmod_w
lea edx, [esi + 0x3c]
push edi
push edx
call sym.L2.exe_mpnsize
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x18]
push ebx
push eax
push ecx
lea edx, [esp + 0x78]
push edx
call sym.L2.exe_mpbmod_w
add esp, 0x48
lea eax, [esi + 0x1c]
push eax
push ebp
add esi, 0x44
push esi
call sym.L2.exe_mpninv
push ebx
call fcn.10922641
add esp, 0x10
pop esi
xor eax, eax
pop ebp
pop edi
pop ebx
add esp, 0x30
ret
pop edi
or eax, 0xffffffff
pop ebx
add esp, 0x30
ret