Function at 0x43d728
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.0041ebfa
test al, al
je 0x43e1cc
mov esi, dword [esp + 0x3c]
mov edx, ebx
mov ecx, esi
call fcn.004b4323
test al, al
jne 0x43e1a8
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov ebp, dword [esi + 8]
call fcn.0049b760
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.004b06f0
add esp, 0x10
cmp esi, eax
mov edi, ebx
sbb edi, edx
jb 0x43d820
xor eax, esi
xor edx, ebx
or edx, eax
jne 0x43d868
cmp dword [esp + 4], ecx
ja 0x43d868
mov ebx, dword [esp + 8]
mov eax, dword [esp]
add ebx, dword [esp + 0x58]
adc eax, dword [esp + 0x54]
jb 0x43d845
add ebp, dword [esp + 0x50]
cmp ebp, 0x3b9aca00
jb 0x43d899
add ebx, 1
adc eax, 0
jae 0x43d893
call fcn.0049b760
mov esi, ecx
mov ecx, eax
xor eax, eax
push eax
push eax
push 0x38640900
push esi
call fcn.004b06f0
add esp, 0x10
mov ebx, eax
mov eax, edx
mov ebp, ecx
jmp 0x43d8b6
mov eax, dword [esp + 0x78]
test eax, eax
je 0x43dbb6
cmp eax, 1
jne 0x43dbcf
mov ecx, esi
mov edx, ebx
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x10]
jmp 0x43d858
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.004b841a
add esp, 0xc
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x43e1cc
call fcn.0043bc3e
test eax, eax
je 0x43e1cc
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 0x43de70
mov dword [esp + 0x38], 0
mov al, byte [ebp + 0xc]
test al, al
jne 0x43e1ac
mov eax, dword [ebp + 0x18]
cmp eax, 0x3b9aca00
mov dword [esp + 0x24], eax
je 0x43e1ed
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
call fcn.0049b760
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x43db8a
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 0x43d98e
movdqa xmm0, xmmword [eax]
add edx, 0xfffffdc0
add eax, 0x10
pmovmskb ebx, xmm0
cmp ebx, 0xffff
je 0x43d973
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 0x43da43
xor ebx, ebx
xor edi, edi
mov esi, dword [edx - 8]
lea ecx, [esi + ebx + 0x10]
call fcn.0043c91e
test al, al
je 0x43da2d
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.004b0500
add esp, 0x10
cmp eax, dword [esp + 8]
mov ebp, edx
sbb ebp, dword [esp + 4]
jb 0x43da13
xor eax, dword [esp + 8]
xor edx, dword [esp + 4]
or edx, eax
jne 0x43da2d
cmp ecx, dword [esp + 0x24]
ja 0x43da2d
inc edi
add ebx, 0x30
mov edx, dword [esp]
cmp dword [esp + 0x18], edi
jne 0x43d9c6
mov dword [esp + 0xc], 0
jmp 0x43dae4
add esi, ebx
inc edi
mov ecx, esi
call fcn.00481c0e
mov edx, dword [esp]
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
jmp 0x43da4d
xor edi, edi
mov dword [esp + 0xc], 0
mov ebp, dword [esp + 0x18]
sub ebp, edi
je 0x43dae4
shl edi, 4
lea ebx, [edi + edi*2]
mov edi, dword [edx - 8]
lea ecx, [edi + ebx + 0x10]
lea esi, [edi + ebx]
call fcn.0043c91e
test al, al
je 0x43dacc
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.004b0500
add esp, 0x10
cmp eax, dword [esp + 8]
mov edi, edx
sbb edi, dword [esp + 4]
jb 0x43daaf
xor eax, dword [esp + 8]
xor edx, dword [esp + 4]
or edx, eax
jne 0x43dacc
cmp ecx, dword [esp + 0x24]
ja 0x43dacc
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 0x43dada
inc dword [esp + 0xc]
mov ecx, esi
call fcn.00481c0e
mov edx, dword [esp]
add ebx, 0x30
dec ebp
jne 0x43da5f
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x60]
sub eax, dword [esp + 0xc]
mov dword [edx - 4], eax
jne 0x43db6c
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 0x43db2e
bsr si, si
xor esi, 0xf
jmp 0x43db32
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 0x43db57
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.00484bb4
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 0x43d96e
movzx edx, byte [esp + 0x38]
mov ecx, dword [esp + 0x5c]
call fcn.00422a70
lock dec dword [ebp]
jne 0x43dbaa
lea ecx, [esp + 0xcc]
call fcn.0043b8ba
mov ebx, dword [esp + 0xfc]
jmp 0x43d7ab
mov ecx, dword [esp + 8]
mov edx, dword [esp]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x60]
push ebp
jmp 0x43d858
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.004b06f0
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.004b0500
add esp, 0x10
mov ebx, edi
mov esi, edx
or ebx, dword [esp + 0xc]
je 0x43e1d9
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 0x43e071
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 0x43e071
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 0x43de80
mov ebp, dword [esp + 8]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0
jmp 0x43e055
call fcn.004ec710
xor al, 1
mov dword [esp + 0x38], eax
jmp 0x43d913
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 0x43df6b
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 0x43e215
push 0
push 0x3b9aca00
push esi
mov dword [esp + 0x1c], ecx
push ecx
call fcn.004e41c0
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
sub ebx, eax
sbb ebp, edx
jb 0x43e201
mov edx, dword [esp + 0x10]
imul eax, eax, 0x3b9aca00
sub edx, eax
cmp ecx, edx
mov dword [esp + 0x10], edx
jae 0x43e173
mov eax, ebx
or eax, ebp
je 0x43e201
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 0x43e236
mov ecx, dword [esp + 0x6c]
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov eax, ebp
jmp 0x43d864
mov al, 1
jmp 0x43e1ce
movzx edx, byte [esp + 0x38]
mov ecx, dword [esp + 0x5c]
call fcn.00422a70
lock dec dword [ebp]
jne 0x43e1cc
lea ecx, [esp + 0xcc]
call fcn.0043b8ba
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 0x52c28c
call fcn.004e8ca0
mov ecx, str.interval_assumes_timeoutE_R
mov edx, 0x18
push 0x522450
call fcn.004e8fb0
mov ecx, str.overflow_when_subtracting_duration_from_instant
mov edx, 0x2f
push 0x528c70
call fcn.004e8fb0
mov ecx, str.too_much_time_has_elapsed_since_the_interval_was_supposed_to_tick
mov edx, 0x41
push 0x52c2e0
push 0x52b260
lea eax, [esp + 0xd4]
push eax
call fcn.004e8f30
lea ecx, [esp + 0xcc]
mov edx, 0x527a90
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.rs
mov dword [ecx + 0xc], eax
call fcn.004e8b50