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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x81f81b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfc
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
and byte [esi + 0x70], 0
lea edi, [esi + 0xc]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
cmp eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
ja 0x5f33a1
cmp dword [ebp + 0xc], 0
jne 0x5f3398
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test al, al
jne 0x5f33a1
xor eax, eax
xor edx, edx
jmp 0x5f351c
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
jne 0x5f33be
push dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp + 8]
call dword [eax + 0xb8]
jmp 0x5f351c
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x58]
cmp edi, 0xffffffff
mov dword [esp + 0x60], 1
sete al
mov byte [esp + 0xb], al
mov byte [esp + 0x64], al
xor eax, eax
mov dword [esp + 0x58], vtable.CryptoPP::Timer.0
mov byte [esp + 0x65], al
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
call fcn.005f1c5b
lea ecx, [esi + 0x10]
call fcn.005f2e10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
sub ecx, dword [ebp + 0xc]
xor eax, eax
cmp edx, eax
ja 0x5f3421
jb 0x5f3417
cmp dword [esp + 0x28], ecx
jae 0x5f3421
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
jmp 0x5f3425
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], 0
jne 0x5f343c
lea ecx, [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0xc]
test al, al
je 0x5f3499
mov esi, dword [esp + 0xc]
cmp byte [esp + 0xb], 0
jne 0x5f3459
lea ecx, [esp + 0x58]
call fcn.005f1cf6
mov edi, dword [ebp + 8]
cmp edi, eax
jbe 0x5f3457
sub edi, eax
jmp 0x5f3459
xor edi, edi
mov ecx, dword [esp + 0x10]
mov eax, dword [esi]
sub ecx, dword [esp + 0x14]
push ecx
push edi
mov ecx, esi
call dword [eax + 0xb8]
mov esi, eax
test esi, esi
je 0x5f3499
and dword [esp + 0x24], 0
mov eax, dword [esp + 0xc]
push dword [esp + 0x24]
lea ecx, [eax + 0x10]
push esi
call fcn.005f2edd
sub dword [esp + 0x10], esi
add dword [esp + 0x18], esi
mov eax, dword [esp + 0x24]
adc dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp dword [esp + 0x10], eax
ja 0x5f34b6
test eax, eax
jne 0x5f3514
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0xc]
test al, al
je 0x5f3514
cmp byte [esp + 0xb], 0
jne 0x5f34d7
lea ecx, [esp + 0x58]
call fcn.005f1cf6
mov edi, dword [ebp + 8]
cmp edi, eax
jbe 0x5f34d1
sub edi, eax
jmp 0x5f34d3
xor edi, edi
test edi, edi
je 0x5f3514
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x10]
mov dword [esp + 0x14], ecx
call fcn.005f2e93
fst qword [esp + 0x50]
xor ecx, ecx
cmp byte [esp + 0xb], cl
jne 0x5f3532
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ecx
fild qword [esp + 0x30]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x5f3534
mov eax, dword [esp + 0xc]
mov byte [eax + 0x70], 1
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x104]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8
fstp st(0)
push ecx
lea ecx, [esp + 0x7c]
call fcn.005f1e34
mov ecx, dword [esp + 0x14]
and dword [esp + 0x10c], 0
and dword [esp + 0x40], 0
mov esi, vtable.CryptoPP::CallStack.0
mov dword [esp + 0x3c], str.NonblockingSink::TimedFlush_____speed_limit
mov dword [esp + 0x38], esi
call fcn.005f2e93
fcom qword [0x868818]
fnstsw ax
test ah, 0x44
jnp 0x5f359e
lea eax, [esp + 0x38]
mov dword [esp + 0x48], str.LimitedBandwidth::GetWaitObjects__
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x44]
push eax
push ecx
push ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x50], esi
fstp qword [esp]
call fcn.005f20a0
jmp 0x5f35a0
fstp st(0)
fld qword [esp + 0x50]
call fcn.007adcec
push eax
lea ecx, [esp + 0x7c]
call fcn.005f2430
or dword [esp + 0x10c], 0xffffffff
lea ecx, [esp + 0x78]
call fcn.005f2109
mov esi, dword [esp + 0xc]
jmp 0x5f33f6