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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x453a87
sub esp, 0x84
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x9c]
cmp eax, edx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x98]
cmp esi, edi
setae cl
and ecx, ebp
or ecx, ebx
test cl, cl
jne 0x453667
xor ecx, ecx
jmp 0x4536a6
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0xac], 0xffffffff
add esp, 0x84
ret
shl edx, 1
mov ebx, edi
shr ebx, 0x1f
inc ecx
or edx, ebx
shl edi, 1
test edx, 0x80000000
sete bl
and ebx, 1
test bl, bl
jne 0x45369a
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x28], ecx
shl eax, cl
mov ebx, esi
shl esi, cl
mov dword [esp + 0x78], esi
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x74], ebp
mov edi, ecx
mov ecx, ebp
mov edx, dword [esp + 0x90]
shr edx, cl
mov dword [esp + 0x70], edx
lea edx, [ecx - 0x20]
mov dword [esp + 0x6c], edx
mov ecx, edx
mov esi, dword [esp + 0x94]
shr esi, cl
mov dword [esp + 0x68], esi
neg ecx
mov dword [esp + 0x64], ecx
mov esi, dword [esp + 0x94]
shl esi, cl
mov dword [esp + 0x60], esi
mov ecx, ebp
mov esi, dword [esp + 0x94]
shr esi, cl
mov dword [esp + 0x5c], esi
mov ecx, edi
mov esi, dword [esp + 0x94]
shl esi, cl
mov ebp, dword [esp + 0x90]
shl ebp, cl
lea edx, [ecx - 0x20]
mov dword [esp + 0x58], edx
mov ecx, edx
shl ebx, cl
mov dword [esp + 0x54], ebx
neg ecx
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0x88]
shr ebx, cl
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x90]
shr ebx, cl
mov dword [esp + 0x48], ebx
mov ecx, edx
mov ebx, dword [esp + 0x90]
shl ebx, cl
mov dword [esp + 0x44], ebx
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x40], edi
and eax, edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
and eax, edi
and esi, edi
mov dword [esp + 0x78], esi
and ebp, edi
mov dword [esp + 0x24], ebp
mov edi, dword [esp + 0x6c]
cmp edi, 0x20
sbb edi, edi
mov ebp, dword [esp + 0x68]
and ebp, edi
mov edi, dword [esp + 0x64]
cmp edi, 0x20
sbb edi, edi
mov esi, dword [esp + 0x60]
and esi, edi
mov edi, dword [esp + 0x74]
cmp edi, 0x20
sbb edi, edi
mov ebx, dword [esp + 0x5c]
and ebx, edi
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x70]
and ebx, edi
or esi, ebx
or ebp, esi
or eax, ebp
mov dword [esp + 0x18], eax
mov dword [esp], eax
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x54]
and ebp, ebx
mov esi, dword [esp + 0x44]
and esi, ebx
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x50]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x64], edi
mov ebx, dword [esp + 0x4c]
and ebx, edi
mov edx, dword [esp + 0x3c]
or ebx, edx
or ebp, ebx
mov edx, dword [esp + 0x6c]
or edx, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
call sym.runtime.uint64div
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
and eax, edx
mov ebx, dword [esp + 0x78]
or eax, ebx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x7c]
mov esi, edx
mov edi, eax
mul ebx
imul edi, ebp
add edx, edi
mov edi, dword [esp + 0x68]
or edi, ecx
mov ecx, esi
mov esi, dword [esp + 0x18]
sub esi, eax
mov eax, dword [esp + 0x1c]
sbb eax, edx
mov edx, dword [esp + 0x7c]
jmp 0x453883
mov eax, dword [esp + 0x80]
mov eax, ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x30], eax
cmp ebp, 1
seta cl
sete al
and eax, 1
or ecx, eax
test cl, cl
jne 0x4538e3
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x80]
mul ebx
mov ecx, dword [esp + 0x80]
imul ecx, ebp
add ecx, edx
mov edx, edi
add edi, 0
adc esi, 0
cmp esi, ecx
setb cl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp eax, edi
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, edi
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4538f8
mov esi, dword [esp + 0x2c]
mov edi, edx
mov edx, dword [esp + 0x7c]
add ebx, 0xffffffff
adc ebp, 0xffffffff
add esi, edx
mov ecx, dword [esp + 0x30]
adc ecx, 0
test ecx, ecx
je 0x453876
jmp 0x4538fe
mov edi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x80]
mov ecx, edx
mov esi, eax
mul ebx
imul ecx, ebx
imul ebp, esi
add edx, ebp
add ecx, edx
add edi, 0
mov edx, dword [esp + 0x18]
adc edx, 0
sub edi, eax
mov dword [esp + 0x20], edi
mov dword [esp], edi
sbb edx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call sym.runtime.uint64div
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
mov ebx, edx
mov ebp, eax
mul ecx
mov esi, ebp
imul ebp, ebx
add edx, ebp
mov ebp, dword [esp + 0x20]
sub ebp, eax
mov edi, dword [esp + 0x38]
sbb edi, edx
mov edx, dword [esp + 0x24]
jmp 0x45397d
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], edi
cmp ebx, 1
seta al
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, 1
or eax, edi
test al, al
jne 0x4539e3
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x80]
mov edi, edx
mul ecx
mov esi, dword [esp + 0x80]
imul esi, ebx
add edx, esi
mov esi, edi
add edi, 0
adc ebp, 0
cmp ebp, edx
setb dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, edi
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, edi
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4539f8
mov edx, esi
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
add ecx, 0xffffffff
adc ebx, 0xffffffff
add ebp, esi
mov edi, dword [esp + 0x30]
adc edi, 0
test edi, edi
je 0x453976
jmp 0x4539fe
mov edx, esi
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov ebp, edx
mov edi, eax
mul ecx
imul esi, ecx
imul edi, ebx
add edx, edi
add edx, esi
add ecx, 0
mov dword [esp + 0xa0], ecx
mov esi, dword [esp + 0x34]
adc ebx, esi
mov dword [esp + 0xa4], ebx
add ebp, 0
mov ebx, dword [esp + 0x20]
adc ebx, 0
sub ebp, eax
sbb ebx, edx
mov ecx, dword [esp + 0x28]
shr ebp, cl
mov edx, dword [esp + 0x40]
and ebp, edx
mov eax, ecx
mov ecx, dword [esp + 0x58]
mov esi, ebx
shr ebx, cl
mov edi, dword [esp + 0x70]
and ebx, edi
mov ecx, dword [esp + 0x50]
mov edi, esi
shl esi, cl
mov ecx, edx
mov edx, dword [esp + 0x64]
and esi, edx
or esi, ebp
or ebx, esi
mov dword [esp + 0xa8], ebx
mov edx, ecx
mov ecx, eax
shr edi, cl
and edi, edx
mov dword [esp + 0xac], edi
add esp, 0x84
ret
call sym.runtime.morestack_noctxt
jmp sym.runtime.divlu