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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0xacc
mov dword [esp], 0x7329dc
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
call sym._cgtime
mov dword [esp + 4], 0x731140
mov dword [esp], 0x7329dc
call sym._tdiff
mov edx, dword [0x7329dc]
fstp qword [esp + 0x48]
mov eax, edx
sub eax, dword [0x73113c]
cmp eax, dword [0x5bb9b4]
jl 0x40ec35
mov dword [esp + 4], 0x7329dc
mov dword [esp], 0x731140
mov esi, 1
mov dword [0x73113c], edx
mov dword [esp + 0x38], edx
call sym._copy_time
test ebx, ebx
mov edx, dword [esp + 0x38]
js 0x40ec60
mov dword [esp], ebx
mov dword [esp + 0x38], edx
call sym._get_thread
mov ebp, dword [eax + 0x18]
add eax, 0x20
mov dword [esp + 4], 0x7329dc
mov dword [esp], eax
call sym._copy_time
mov edx, dword [esp + 0x38]
lea eax, [ebp + 0x174]
mov dword [esp + 0x50], eax
mov dword [ebp + 0x1d8], edx
mov dword [esp + 4], eax
mov dword [esp], 0x7329dc
call sym._tdiff
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0x7329dc
fstp qword [esp + 0x38]
mov dword [esp], eax
call sym._copy_time
cmp byte [0x732fa1], 0
je 0x40e8af
cmp byte [0x745ef7], 0
jne 0x40e832
cmp byte [0x732fa0], 0
je 0x40f0c0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
test edx, edx
fild qword [esp + 0x50]
js 0x40f320
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
lea edi, [esp + 0xc0]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str._thread__d:__I64u_hashes___.1f_mhash_sec_
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fdiv qword [esp + 0x38]
fdiv dword [0x5c8d54]
fstp qword [esp + 0x18]
call sym._snprintf
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 4
call sym.__applog
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 8], 0xf4240
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], 0x744f0c
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
call dbg.pthread_mutex_lock
test eax, eax
jne 0x40f2e0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
test edx, edx
fild qword [esp + 0x50]
js 0x40f0b1
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fld qword [ebp + 0x138]
fadd st(1)
fstp qword [ebp + 0x138]
fldz
fld qword [esp + 0x38]
fxch st(1)
fucomi st(1)
fstp qword [esp + 0x50]
jae 0x40e9e3
fild dword [0x5bb9b4]
lea eax, [ebp + 0x118]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fst qword [esp]
fstp qword [esp + 0x60]
call sym._decay_time.part.39
fld qword [esp + 0x38]
lea eax, [ebp + 0x120]
fld qword [esp + 0x50]
fucomi st(1)
fstp qword [esp + 0x58]
jae 0x40e9e9
fld dword [0x5c8d50]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0x60]
fst qword [esp]
fstp qword [esp + 0x50]
call sym._decay_time.part.39
fld qword [esp + 0x38]
fld qword [esp + 0x58]
fucompi st(1)
jae 0x40e9ed
fld dword [0x5c8d60]
lea eax, [ebp + 0x128]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0x50]
fstp qword [esp]
call sym._decay_time.part.39
fld qword [esp + 0x38]
lea eax, [ebp + 0x130]
fld qword [esp + 0x58]
fucompi st(1)
jae 0x40e9f1
fld dword [0x5c8d64]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0x50]
fstp qword [esp]
call sym._decay_time.part.39
jmp 0x40e9f3
fstp st(0)
fstp st(0)
jmp 0x40e9f3
fstp st(0)
jmp 0x40e9f3
fstp st(0)
jmp 0x40e9f3
fstp st(0)
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x40f2f0
call dword [0x5bb9e0]
cmp byte [0x745188], 0
je 0x40ea20
mov eax, esi
test al, al
jne 0x40f030
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_lock
test eax, eax
jne 0x40f283
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
test edx, edx
fild qword [esp + 0x38]
js 0x40f0d2
fstp qword [esp + 0x78]
fld qword [esp + 0x78]
fld qword [0x745ec0]
fadd st(1)
fstp qword [0x745ec0]
fldz
fld qword [esp + 0x48]
fxch st(1)
fucompi st(1)
jae 0x40eaa0
fild dword [0x5bb9b4]
mov eax, 0x746208
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fst qword [esp]
fstp qword [esp + 0x38]
call sym._decay_time.part.39
fld qword [esp + 0x38]
jmp 0x40eaa2
fstp st(0)
test ebx, ebx
js 0x40eb17
fstp qword [esp + 0x38]
mov dword [esp], ebx
fld qword [0x746208]
fstp qword [esp + 0x40]
call sym._get_thread
test eax, eax
fld qword [esp + 0x38]
je 0x40eb17
mov eax, dword [eax + 0x18]
test eax, eax
je 0x40eb17
fld qword [esp + 0x40]
fmul dword [0x5c8d54]
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jb 0x40f074
fnstcw word [esp + 0x76]
movzx edx, word [esp + 0x76]
fsubrp st(1)
mov dh, 0xc
mov word [esp + 0x74], dx
fldcw word [esp + 0x74]
fistp qword [eax + 0x250]
fldcw word [esp + 0x76]
mov ecx, dword [eax + 0x254]
lea edx, [ecx - 0x80000000]
mov dword [eax + 0x254], edx
fldz
fld qword [esp + 0x48]
fxch st(1)
fucomi st(1)
fstp qword [esp + 0x38]
jae 0x40ebb0
fld dword [0x5c8d50]
mov eax, 0x745428
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fst qword [esp]
fstp qword [esp + 0x50]
call sym._decay_time.part.39
fld qword [esp + 0x48]
fld qword [esp + 0x38]
fucomi st(1)
fstp qword [esp + 0x40]
jae 0x40ebb6
fld dword [0x5c8d60]
mov eax, 0x745468
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0x50]
fst qword [esp]
fstp qword [esp + 0x38]
call sym._decay_time.part.39
fld qword [esp + 0x48]
fld qword [esp + 0x40]
fucompi st(1)
jae 0x40ebba
fld dword [0x5c8d64]
mov eax, 0x7456c8
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld qword [esp + 0x38]
fstp qword [esp]
call sym._decay_time.part.39
jmp 0x40ebc0
fstp st(0)
fstp st(0)
jmp 0x40ebc0
fstp st(0)
jmp 0x40ebc0
fstp st(0)
lea esi, [esi]
fld qword [0x746208]
fstp qword [esp]
call dbg.llround
mov ecx, eax
mov eax, 0xf4240
mov dword [esp + 4], 0x7329e4
imul ebx, edx, 0xf4240
mov dword [esp], 0x7329dc
mul ecx
add edx, ebx
mov dword [0x746358], eax
mov dword [0x74635c], edx
call sym._tdiff
mov eax, esi
fst qword [0x5bb020]
test al, al
jne 0x40edc3
fstp st(0)
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x40f0e0
call dword [0x5bb9e0]
add esp, 0xacc
pop ebx
pop esi
pop edi
pop ebp
ret
test ebx, ebx
js 0x40ec2a
mov dword [esp + 4], 0x7329dc
mov dword [esp], 0x731140
xor esi, esi
mov dword [esp + 0x38], edx
call sym._copy_time
mov edx, dword [esp + 0x38]
jmp 0x40e7b1
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_lock
test eax, eax
jne 0x40f340
mov eax, dword [0x7462a8]
xor ebx, ebx
test eax, eax
jle 0x40ed9f
mov dword [esp], ebx
call sym._get_thread
mov esi, dword [eax + 0x18]
mov dword [esp], 0x7329dc
lea edi, [esi + 0x174]
mov dword [esp + 4], edi
call sym._tdiff
fstp qword [esp + 0x38]
mov dword [esp + 4], 0x7329dc
mov dword [esp], edi
call sym._copy_time
fldz
fld st(0)
fld qword [esp + 0x38]
fxch st(1)
fucomi st(1)
fstp qword [esp + 0x38]
jae 0x40ed80
fild dword [0x5bb9b4]
lea eax, [esi + 0x118]
fstp qword [esp + 0x10]
fst qword [esp + 8]
fstp qword [esp + 0x50]
fst qword [esp]
fstp dword [esp + 0x60]
call sym._decay_time.part.39
fld qword [esp + 0x50]
lea eax, [esi + 0x120]
fld qword [esp + 0x38]
fucomi st(1)
fstp qword [esp + 0x58]
jae 0x40ed86
fld dword [0x5c8d50]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld dword [esp + 0x60]
fst qword [esp]
fstp dword [esp + 0x38]
call sym._decay_time.part.39
fld qword [esp + 0x50]
fld qword [esp + 0x58]
fucompi st(1)
jae 0x40ed8a
fld dword [0x5c8d60]
lea eax, [esi + 0x128]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld dword [esp + 0x38]
fstp qword [esp]
call sym._decay_time.part.39
fld qword [esp + 0x50]
lea eax, [esi + 0x130]
fld qword [esp + 0x58]
fucompi st(1)
jae 0x40ed8e
fld dword [0x5c8d64]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fld dword [esp + 0x38]
fstp qword [esp]
call sym._decay_time.part.39
jmp 0x40ed90
fstp st(0)
fstp st(0)
jmp 0x40ed90
fstp st(0)
jmp 0x40ed90
fstp st(0)
jmp 0x40ed90
fstp st(0)
add ebx, 1
cmp dword [0x7462a8], ebx
jg 0x40ec83
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x40f32b
call dword [0x5bb9e0]
mov esi, 1
jmp 0x40ea20
fdivr qword [0x745ec0]
lea edi, [esp + 0x80]
fmul dword [0x5c8d54]
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jae 0x40f250
fstp st(1)
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], 4
mov ecx, edi
lea ebp, [esp + 0x90]
mov dword [esp], 0x10
call sym._suffix_string
fld dword [0x5c8d54]
fmul qword [0x746208]
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jae 0x40f213
fstp st(1)
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], 4
mov ecx, ebp
lea ebx, [esp + 0xa0]
mov dword [esp], 0x10
call sym._suffix_string
fld dword [0x5c8d54]
fmul qword [0x745428]
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jae 0x40f1e0
fstp st(1)
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], 4
mov ecx, ebx
lea esi, [esp + 0xb0]
mov dword [esp], 0x10
call sym._suffix_string
fld dword [0x5c8d54]
fmul qword [0x745468]
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jae 0x40f1a0
fstp st(1)
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], 4
mov ecx, esi
mov dword [esp], 0x10
call sym._suffix_string
fld dword [0x5c8d54]
lea eax, [esp + 0xc0]
fmul qword [0x7456c8]
mov dword [esp + 0x38], eax
fld dword [0x5c8d04]
fxch st(1)
fucomi st(1)
jae 0x40f160
fstp st(1)
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], 4
mov dword [esp], 0x10
call sym._suffix_string
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 8], str.__ds_:_s__1m_:_s__5m_:_s__15m_:_s__avg_:_sh_s
mov dword [esp + 0x1c], eax
mov eax, dword [0x5bb9b4]
mov dword [esp + 4], 0x100
mov dword [esp], 0x7325a0
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp], 0x744f0c
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x40f0eb
call dword [0x5bb9e0]
mov dword [esp + 4], 0x7325a0
mov dword [esp], str._s___________r
call sym._printf
mov dword [esp], 1
call dword [0x5c044c]
mov dword [esp], eax
call sym._fflush
add esp, 0xacc
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0xc0]
mov ecx, ebp
mov edx, 0x100
mov esi, eax
call sym._get_statline
mov dword [esp + 4], esi
mov dword [esp], str._s___________r
mov esi, 1
call sym._printf
mov dword [esp], 1
call dword [0x5c044c]
mov dword [esp], eax
call sym._fflush
jmp 0x40ea20
fstp st(1)
fnstcw word [esp + 0x76]
movzx edx, word [esp + 0x76]
mov dh, 0xc
mov word [esp + 0x74], dx
fldcw word [esp + 0x74]
fistp qword [eax + 0x250]
fldcw word [esp + 0x76]
fldz
fld qword [esp + 0x48]
fxch st(1)
fucomi st(1)
fstp qword [esp + 0x38]
jb 0x40eb2b
fstp st(0)
fstp st(0)
jmp 0x40ebc0
fadd dword [0x5c8d10]
jmp 0x40e90b
cmp dword [0x5bc2e0], 3
jle 0x40e8af
jmp 0x40e832
fadd dword [0x5c8d10]
jmp 0x40ea50
lea eax, [esp + 0xc0]
mov dword [esp + 0x38], eax
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], 0x1ca7
mov dword [esp + 0x14], str.hashmeter
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1ac8
mov dword [esp + 4], 0xa00
mov dword [esp], esi
mov dword [esp + 0xc], eax
call sym._snprintf
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0
call sym.__applog
mov dword [esp + 4], 1
mov dword [esp], 1
call sym.___quit
mov esi, esi
lea edi, [edi]
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
fsubrp st(1)
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, eax
lea eax, [edx - 0x80000000]
mov dword [esp + 0x40], eax
mov eax, ecx
mov edx, dword [esp + 0x40]
jmp 0x40ef8c
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
fsubrp st(1)
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, eax
lea eax, [edx - 0x80000000]
mov dword [esp + 0x38], eax
mov eax, ecx
mov edx, dword [esp + 0x38]
jmp 0x40ef29
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
fsubrp st(1)
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
lea ecx, [edx - 0x80000000]
mov edx, ecx
jmp 0x40eeca
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
fsubrp st(1)
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
lea ecx, [edx - 0x80000000]
mov edx, ecx
jmp 0x40ee6b
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
fsubrp st(1)
mov ah, 0xc
mov word [esp + 0x74], ax
fldcw word [esp + 0x74]
fistp qword [esp + 0x68]
fldcw word [esp + 0x76]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
lea ecx, [edx - 0x80000000]
mov edx, ecx
jmp 0x40ee0c
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1c7d
mov dword [esp + 0x14], str.hashmeter
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1a98
mov dword [esp + 0xc], eax
lea ebx, [esp + 0xc0]
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
jmp 0x40f137
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1c59
jmp 0x40f291
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1c5f
mov dword [esp + 0x14], str.hashmeter
mov dword [esp + 0x10], str.cgminer.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5c1ac8
mov dword [esp + 0xc], eax
jmp 0x40f2af
fadd dword [0x5c8d10]
jmp 0x40e84e
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1c7a
jmp 0x40f2fe
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1c6e
jmp 0x40f291