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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov esi, dword [esp + 0xf8]
mov ebx, 0x3b9aca00
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0x58], eax
mul ebx
mov dword [esp + 0x54], edi
mov ebp, eax
mov eax, edi
mov ecx, edx
mul ebx
mov edi, ebp
lea ebx, [esi + 0x18]
add eax, ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x88], ebx
movzx ebx, byte [esi + 0x14]
adc edx, 0
add edi, ecx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x50], ecx
adc eax, 0
mov dword [esp + 0x34], edi
adc edx, 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x10]
setb cl
mov dword [esp + 0x3c], edx
mov edx, dword [esi + 0x1c]
movzx esi, cl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x88]
mov edx, ebx
call fcn.0041ea6b
test al, al
je 0x43de8c
mov esi, dword [esp + 0x3c]
mov edx, ebx
mov ecx, esi
call fcn.004b4013
test al, al
jne 0x43de68
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov ebp, dword [esi + 8]
call fcn.0049b460
mov esi, eax
mov eax, edx
mov dword [esp + 4], ecx
mov ecx, edi
mov dword [esp], ebx
mov edx, ebx
mov dword [esp + 8], edi
mov ebx, eax
push 0x4c4b40
xor eax, eax
push eax
push eax
push ebp
call fcn.004b03f0
add esp, 0x10
cmp esi, eax
mov edi, ebx
sbb edi, edx
jb 0x43d4e0
xor eax, esi
xor edx, ebx
or edx, eax
jne 0x43d528
cmp dword [esp + 4], ecx
ja 0x43d528
mov ebx, dword [esp + 8]
mov eax, dword [esp]
add ebx, dword [esp + 0x58]
adc eax, dword [esp + 0x54]
jb 0x43d505
add ebp, dword [esp + 0x50]
cmp ebp, 0x3b9aca00
jb 0x43d559
add ebx, 1
adc eax, 0
jae 0x43d553
call fcn.0049b460
mov esi, ecx
mov ecx, eax
xor eax, eax
push eax
push eax
push 0x38640900
push esi
call fcn.004b03f0
add esp, 0x10
mov ebx, eax
mov eax, edx
mov ebp, ecx
jmp 0x43d576
mov eax, dword [esp + 0x78]
test eax, eax
je 0x43d876
cmp eax, 1
jne 0x43d88f
mov ecx, esi
mov edx, ebx
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x10]
jmp 0x43d518
add ebp, 0xc4653600
mov dword [esp], eax
mov eax, ebp
mov ecx, 0x44b83
shr eax, 9
mul ecx
shr edx, 7
imul eax, edx, 0x3b9aca00
sub ebp, eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x3c]
mov edx, ebx
push 0
push ebp
push eax
call fcn.004b810a
add esp, 0xc
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x43de8c
call fcn.0043b8fe
test eax, eax
je 0x43de8c
mov ebp, eax
mov dword [esp + 0xcc], eax
add eax, 8
mov dword [esp + 0x5c], eax
push eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x43db30
mov dword [esp + 0x38], 0
mov al, byte [ebp + 0xc]
test al, al
jne 0x43de6c
mov eax, dword [ebp + 0x18]
cmp eax, 0x3b9aca00
mov dword [esp + 0x24], eax
je 0x43dead
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
call fcn.0049b460
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x43d84a
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x60], ebp
movdqa xmm0, xmmword [edx]
lea eax, [edx + 0x10]
pmovmskb ebx, xmm0
not ebx
test bx, bx
jne 0x43d64e
movdqa xmm0, xmmword [eax]
add edx, 0xfffffdc0
add eax, 0x10
pmovmskb ebx, xmm0
cmp ebx, 0xffff
je 0x43d633
not ebx
mov dword [esp + 0x64], eax
bsf eax, ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], ebx
neg eax
lea eax, [eax + eax*8]
lea edx, [edx + eax*4]
mov eax, dword [edx - 4]
mov dword [edx - 4], 0
mov dword [esp], edx
test eax, eax
mov dword [esp + 0x18], eax
je 0x43d703
xor ebx, ebx
xor edi, edi
mov esi, dword [edx - 8]
lea ecx, [esi + ebx + 0x10]
call fcn.0043c5de
test al, al
je 0x43d6ed
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push dword [esi + ebx + 8]
push dword [esi + ebx + 4]
push dword [esi + ebx]
push dword [esp + 0x34]
call fcn.004b0200
add esp, 0x10
cmp eax, dword [esp + 8]
mov ebp, edx
sbb ebp, dword [esp + 4]
jb 0x43d6d3
xor eax, dword [esp + 8]
xor edx, dword [esp + 4]
or edx, eax
jne 0x43d6ed
cmp ecx, dword [esp + 0x24]
ja 0x43d6ed
inc edi
add ebx, 0x30
mov edx, dword [esp]
cmp dword [esp + 0x18], edi
jne 0x43d686
mov dword [esp + 0xc], 0
jmp 0x43d7a4
add esi, ebx
inc edi
mov ecx, esi
call fcn.004818de
mov edx, dword [esp]
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x43d70d
xor edi, edi
mov dword [esp + 0xc], 0
mov ebp, dword [esp + 0x18]
sub ebp, edi
je 0x43d7a4
shl edi, 4
lea ebx, [edi + edi*2]
mov edi, dword [edx - 8]
lea ecx, [edi + ebx + 0x10]
lea esi, [edi + ebx]
call fcn.0043c5de
test al, al
je 0x43d78c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push dword [edi + ebx + 8]
push dword [edi + ebx + 4]
push dword [edi + ebx]
push dword [esp + 0x34]
call fcn.004b0200
add esp, 0x10
cmp eax, dword [esp + 8]
mov edi, edx
sbb edi, dword [esp + 4]
jb 0x43d76f
xor eax, dword [esp + 8]
xor edx, dword [esp + 4]
or edx, eax
jne 0x43d78c
cmp ecx, dword [esp + 0x24]
ja 0x43d78c
mov edx, dword [esp]
mov eax, dword [esp + 0xc]
mov ecx, 0xc
mov edi, dword [edx - 8]
shl eax, 4
lea eax, [eax + eax*2]
sub edi, eax
add edi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x43d79a
inc dword [esp + 0xc]
mov ecx, esi
call fcn.004818de
mov edx, dword [esp]
add ebx, 0x30
dec ebp
jne 0x43d71f
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x60]
sub eax, dword [esp + 0xc]
mov dword [edx - 4], eax
jne 0x43d82c
mov eax, dword [ebp + 0x40]
pcmpeqd xmm1, xmm1
mov ecx, eax
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0x38e38e39
lea edx, [ecx - 0x10]
and edx, dword [ebp + 0x44]
movdqu xmm0, xmmword [eax + edx]
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb esi, xmm0
test esi, esi
je 0x43d7ee
bsr si, si
xor esi, 0xf
jmp 0x43d7f2
mov si, 0x10
movdqu xmm0, xmmword [eax + ecx]
mov bl, 0x80
pcmpeqb xmm0, xmm1
pmovmskb edi, xmm0
or edi, 0x10000
bsf edi, edi
add esi, edi
cmp si, 0xf
ja 0x43d817
inc dword [ebp + 0x48]
mov bl, 0xff
mov byte [eax + ecx], bl
mov ecx, dword [esp]
mov byte [edx + eax + 0x10], bl
dec dword [ebp + 0x4c]
add ecx, 0xffffffdc
call fcn.00484884
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
lea eax, [ecx - 1]
and eax, ecx
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [esp + 0x64]
dec ecx
jne 0x43d62e
movzx edx, byte [esp + 0x38]
mov ecx, dword [esp + 0x5c]
call fcn.00422910
lock dec dword [ebp]
jne 0x43d86a
lea ecx, [esp + 0xcc]
call fcn.0043b57a
mov ebx, dword [esp + 0xfc]
jmp 0x43d46b
mov ecx, dword [esp + 8]
mov edx, dword [esp]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
push ebp
jmp 0x43d518
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov ecx, esi
mov edx, ebx
or eax, dword [esp + 0x2c]
or edi, dword [esp + 0x30]
mov dword [esp + 0xc], eax
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
push ebx
call fcn.004b03f0
add esp, 0x10
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov ecx, esi
mov dword [esp + 0x74], eax
push ebp
push dword [esp + 4]
push dword [esp + 0x10]
push ebx
call fcn.004b0200
add esp, 0x10
mov ebx, edi
mov esi, edx
or ebx, dword [esp + 0xc]
je 0x43de99
mov ebx, 0x3b9aca00
mul ebx
mov dword [esp + 0x10], eax
mov eax, esi
mov ebp, edx
mov esi, 0
mul ebx
mov ebx, eax
add ebx, ebp
mov ebp, dword [esp + 0x10]
adc edx, esi
add ebp, ecx
adc ebx, esi
mov dword [esp + 0x10], ebp
adc edx, esi
mov esi, ebx
setb al
or edi, dword [esp + 0xc]
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x2c]
mov byte [esp + 8], al
movzx eax, al
mov dword [esp + 0x48], eax
sete ch
or esi, eax
or ebp, edx
mov eax, dword [esp + 0x20]
or esi, ebp
sete dl
bsr esi, edi
or dl, ch
mov ecx, dword [esp + 0x30]
xor esi, 0x1f
mov byte [esp], dl
bsr edx, ecx
xor edx, 0x1f
add edx, 0x20
test edi, edi
cmovne edx, esi
bsr ebp, dword [esp + 0x34]
bsr esi, eax
xor esi, 0x1f
xor ebp, 0x1f
add ebp, 0x20
test eax, eax
mov eax, ebx
cmovne ebp, esi
add ebp, 0x40
or ecx, edi
mov edi, dword [esp + 0x4c]
cmovne ebp, edx
bsr edx, dword [esp + 0x48]
bsr esi, edi
xor esi, 0x1f
xor edx, 0x1f
add esi, 0x20
cmp byte [esp + 8], 0
cmove edx, esi
bsr ecx, dword [esp + 0x10]
bsr esi, ebx
xor esi, 0x1f
xor ecx, 0x1f
add ecx, 0x20
test ebx, ebx
mov ebx, 0
cmovne ecx, esi
mov esi, edi
mov edi, dword [esp + 0x48]
add ecx, 0x40
or esi, edi
mov esi, edi
mov edi, 0
cmovne ecx, edx
mov edx, 0
sub ebp, ecx
mov ecx, 0x7f
sbb edx, edx
mov dword [esp + 4], ebp
sbb edi, edi
mov dword [esp + 0xc], edx
sbb ebx, ebx
cmp ecx, ebp
mov ecx, 0
mov dword [esp + 0x14], edi
sbb ecx, edx
mov ecx, 0
mov dword [esp + 0x1c], ebx
mov edx, 0
sbb ecx, edi
mov ecx, 0
mov edi, esi
sbb ecx, ebx
mov ebx, dword [esp + 0x10]
setb cl
or cl, byte [esp]
mov ecx, eax
mov eax, dword [esp + 0x4c]
mov ebp, ecx
mov dword [esp + 0x44], ecx
cmovne edi, edx
cmovne eax, edx
cmovne ebp, edx
cmovne ebx, edx
jne 0x43dd31
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0xc]
xor edx, 0x7f
or ecx, dword [esp + 0x1c]
or edx, dword [esp + 0x14]
or ecx, edx
je 0x43dd31
mov eax, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc0], eax
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ebx
mov eax, dword [esp + 4]
mov ecx, eax
xor cl, 0x7f
mov ch, cl
shr cl, 3
and cl, 0xf
and ch, 7
neg cl
movsx ebp, cl
mov cl, ch
mov esi, dword [esp + ebp + 0xc4]
mov edx, dword [esp + ebp + 0xc8]
shld edx, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x18], edx
mov edi, dword [esp + ebp + 0xc0]
mov edx, edi
shr edx, 1
shr edx, cl
mov cl, ch
or edx, esi
xor esi, esi
mov dword [esp + 0x24], edx
mov edx, dword [esp + ebp + 0xbc]
shld edi, edx, cl
shl edx, cl
add eax, 1
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], eax
adc dword [esp + 0xc], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 8], edi
mov dword [esp + 0x40], edx
adc eax, esi
adc ecx, esi
jae 0x43db40
mov ebp, dword [esp + 8]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0
jmp 0x43dd15
call fcn.004ec480
xor al, 1
mov dword [esp + 0x38], eax
jmp 0x43d5d3
xor esi, esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0x60], 0
mov dword [esp + 0x9c], esi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x98], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 4]
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
movzx esi, al
mov cl, ch
mov ebp, dword [esp + esi + 0x94]
mov edx, dword [esp + esi + 0x90]
mov edi, dword [esp + esi + 0x98]
mov ebx, ebp
mov eax, edx
add ebp, ebp
shrd ebx, edi, cl
shr eax, cl
not cl
shl ebp, cl
mov cl, ch
or ebp, eax
shr edi, cl
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 8]
mov eax, dword [esp + esi + 0x8c]
mov esi, dword [esp + 0xc]
mov dword [esp], edi
mov dword [esp + 0x28], 0
shrd eax, edx, cl
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], eax
add edx, 0xffffffff
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x30]
adc ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x2c]
adc edx, 0xffffffff
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x18]
adc ecx, 0xffffffff
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xc], esi
mov edi, ebx
shld dword [esp], ebx, 1
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
shld edi, ebx, 1
shld ebx, esi, 1
shld esi, edx, 1
shld edx, ecx, 1
shld ecx, ebp, 1
or ecx, eax
or edx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
shld ebp, ecx, 1
add ecx, ecx
or ebp, eax
or ecx, dword [esp + 0x28]
cmp dword [esp + 0x5c], esi
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ebp
sbb eax, ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x7c]
sbb eax, edi
sbb ecx, dword [esp]
sar ecx, 0x1f
mov eax, ecx
mov ebp, ecx
mov edx, ecx
and eax, 1
and edx, dword [esp + 0x20]
and ebp, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, ecx
and ecx, dword [esp + 0x34]
and eax, dword [esp + 0x30]
sub esi, ecx
mov ecx, dword [esp + 4]
sbb ebx, edx
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
sbb edi, eax
mov dword [esp + 0x68], ebx
sbb dword [esp], ebp
mov ebp, dword [esp + 0x1c]
mov ebx, edi
add ecx, 0xffffffff
adc esi, 0xffffffff
mov dword [esp + 4], ecx
adc edx, 0xffffffff
mov eax, esi
adc ebp, 0xffffffff
mov dword [esp + 0x14], edx
or ecx, edx
mov edx, dword [esp + 0x18]
or eax, ebp
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 8]
or ecx, eax
jne 0x43dc2b
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x60]
mov edi, edx
mov ebx, dword [esp + 0x40]
shld edi, eax, 1
shld eax, ebp, 1
or edi, esi
or eax, esi
shld ebp, ebx, 1
add ebx, ebx
or ebx, dword [esp + 0x28]
or ebp, esi
mov esi, eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ebp
mov ebp, edi
imul esi, dword [esp + 0x20]
mov edi, dword [esp + 8]
mul ecx
imul ebp, ecx
add edx, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, ebx
add ebp, edx
mul esi
imul edi, esi
mov dword [esp], eax
mov eax, ebx
imul eax, dword [esp + 0x2c]
add eax, edx
mov edx, esi
add edi, eax
mov eax, dword [esp + 4]
add dword [esp], eax
mov eax, ecx
adc edi, ebp
mul ebx
mov ebp, ecx
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov ebx, edx
mul ecx
mov ecx, eax
mov esi, edx
mov eax, ebp
add ecx, ebx
adc esi, 0
mul dword [esp + 8]
mov ebp, eax
mov eax, dword [esp + 0x20]
mov ebx, edx
add ebp, ecx
adc ebx, esi
setb cl
mul dword [esp + 8]
movzx ecx, cl
add eax, ebx
mov ebx, dword [esp + 0x48]
adc edx, ecx
add eax, dword [esp]
mov ecx, dword [esp + 0x10]
adc edx, edi
sub ecx, dword [esp + 4]
mov edi, dword [esp + 0x4c]
sbb dword [esp + 0x44], ebp
mov esi, dword [esp + 0x44]
sbb edi, eax
sbb ebx, edx
cmp edi, 1
sbb ebx, 0
jae 0x43ded5
push 0
push 0x3b9aca00
push esi
mov dword [esp + 0x1c], ecx
push ecx
call fcn.004e3d00
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
sub ebx, eax
sbb ebp, edx
jb 0x43dec1
mov edx, dword [esp + 0x10]
imul eax, eax, 0x3b9aca00
sub edx, eax
cmp ecx, edx
mov dword [esp + 0x10], edx
jae 0x43de33
mov eax, ebx
or eax, ebp
je 0x43dec1
add ebx, 0xffffffff
adc ebp, 0xffffffff
add ecx, 0x3b9aca00
sub ecx, dword [esp + 0x10]
mov eax, ecx
mov dword [esp + 0x6c], ecx
mov ecx, 0x44b83
shr eax, 9
mul ecx
shr edx, 7
add ebx, edx
adc ebp, 0
jb 0x43def6
mov ecx, dword [esp + 0x6c]
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov eax, ebp
jmp 0x43d524
mov al, 1
jmp 0x43de8e
movzx edx, byte [esp + 0x38]
mov ecx, dword [esp + 0x5c]
call fcn.00422910
lock dec dword [ebp]
jne 0x43de8c
lea ecx, [esp + 0xcc]
call fcn.0043b57a
xor eax, eax
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zerodriver_missing
mov edx, 0x39
push 0x52c1fc
call fcn.004e8a30
mov ecx, str.interval_assumes_timeout
mov edx, 0x18
push 0x5223cc
call fcn.004e8d40
mov ecx, str.overflow_when_subtracting_duration_from_instant
mov edx, 0x2f
push 0x528be0
call fcn.004e8d40
mov ecx, str.too_much_time_has_elapsed_since_the_interval_was_supposed_to_tick
mov edx, 0x41
push 0x52c250
push 0x52b1d0
lea eax, [esp + 0xd4]
push eax
call fcn.004e8cc0
lea ecx, [esp + 0xcc]
mov edx, 0x527a00
xor eax, eax
mov dword [ecx], str.overflow_in_Duration::new
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs0
mov dword [ecx + 0xc], eax
call fcn.004e88e0