Function at 0x509320
Capabilities:
Check for time delay via gettickcount
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50a8e9
mov eax, dword fs:[0]
push eax
sub esp, 0x34c
mov eax, dword [0x517138]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.0049f460
call fcn.00504ba0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
call fcn.0047aee0
call fcn.0044fb20
call fcn.00504ba0
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [0x519640]
mov dword [ecx + 0x44], eax
call fcn.004574f0
mov edx, dword [0x519640]
mov dword [edx + 4], 1
call fcn.00483350
push 0x50d364
lea ecx, [ebp - 0x48]
call fcn.00404a80
mov dword [ebp - 4], 0
call fcn.00437bb0
push str.BDLogicUtils_url
lea ecx, [ebp - 0x2c]
call fcn.00404a80
mov byte [ebp - 4], 1
call fcn.0046e550
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2d8], esp
lea eax, [ebp - 0x2c]
push eax
call fcn.00404ac0
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x314], ecx
mov byte [ebp - 4], 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2dc], esp
lea edx, [ebp - 0x48]
push edx
call fcn.00404ac0
mov dword [ebp - 0x318], eax
mov eax, dword [0x519640]
add eax, 0x40
push eax
mov byte [ebp - 4], 1
mov ecx, dword [0x519640]
call fcn.00508600
call fcn.004bb060
push 0xffffffffffffffff
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.004434f0
call fcn.004649c0
call fcn.00504ba0
mov eax, dword [0x519640]
cmp dword [eax + 0x48], 0
je 0x509602
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
call fcn.004ff8a0
mov eax, dword [0x519640]
mov dword [eax + 4], 2
call fcn.00487620
push str.BDMReport.dll
lea ecx, [ebp - 0x48]
call fcn.00404b40
call fcn.004c4d40
push str.BDMReport_url
lea ecx, [ebp - 0x2c]
call fcn.00404b40
call fcn.0048e380
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e0], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.00404ac0
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e4], esp
lea edx, [ebp - 0x48]
push edx
call fcn.00404ac0
mov dword [ebp - 0x324], eax
mov eax, dword [0x519640]
add eax, 0x40
push eax
mov byte [ebp - 4], 1
mov ecx, dword [0x519640]
call fcn.00508600
call fcn.00489950
push 0xffffffffffffffff
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.00451fc0
call fcn.004d2570
call fcn.00504ba0
mov eax, dword [0x519640]
cmp dword [eax + 0x48], 0
je 0x509602
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
call fcn.00490450
mov eax, dword [0x519640]
mov dword [eax + 4], 3
call fcn.00492320
push str.BDMNet.dll
lea ecx, [ebp - 0x48]
call fcn.00404b40
call fcn.004857e0
push str.BDMNet_url
lea ecx, [ebp - 0x2c]
call fcn.00404b40
call fcn.004e2c80
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e8], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.00404ac0
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2ec], esp
lea edx, [ebp - 0x48]
push edx
call fcn.00404ac0
mov dword [ebp - 0x330], eax
mov eax, dword [0x519640]
add eax, 0x40
push eax
mov byte [ebp - 4], 1
mov ecx, dword [0x519640]
call fcn.00508600
call fcn.0045cd40
push 0xffffffffffffffff
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.00481690
call fcn.004ff8a0
call fcn.00504ba0
call fcn.00458a50
call fcn.00504ba0
mov dword [ebp - 0x50], 0
jmp 0x50961e
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jge 0x509a54
call fcn.004cd740
call fcn.00504ba0
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
call fcn.004ae0f0
mov eax, dword [0x519640]
mov dword [eax + 4], 4
call fcn.00462270
push 0x50d418
lea ecx, [ebp - 0x48]
call fcn.00404b40
call fcn.004c9b10
lea ecx, [ebp - 0x88]
call fcn.00404a50
mov byte [ebp - 4], 5
call fcn.0049d600
lea ecx, [ebp - 0x88]
push ecx
call fcn.00506700
add esp, 4
call fcn.00459a30
lea edx, [ebp - 0x88]
push edx
lea ecx, [ebp - 0x48]
call fcn.00404b60
call fcn.00449430
push 0x50d41c
lea ecx, [ebp - 0x48]
call fcn.00404b80
call fcn.004b3250
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [0x519640]
add ecx, 0x64
call fcn.00404b20
call fcn.0046aa50
push str.down_url
lea ecx, [ebp - 0x2c]
call fcn.00404b40
call fcn.004af310
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2f0], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.00404ac0
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2f4], esp
lea edx, [ebp - 0x48]
push edx
call fcn.00404ac0
mov dword [ebp - 0x33c], eax
mov eax, dword [0x519640]
add eax, 0x40
push eax
mov byte [ebp - 4], 5
mov ecx, dword [0x519640]
call fcn.00508600
call fcn.004363e0
push 0xffffffffffffffff
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.0043fff0
call fcn.00477b20
call fcn.00504ba0
mov eax, dword [0x519640]
cmp dword [eax + 0x4c], 0
jne 0x509791
call fcn.0044a6c0
call fcn.00504ba0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.00404b00
jmp 0x509615
call fcn.0045ffb0
call fcn.00504ba0
mov ecx, dword [0x519640]
add ecx, 8
push ecx
lea ecx, [ebp - 0x2b0]
call fcn.00404ac0
mov byte [ebp - 4], 7
call fcn.00474ee0
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x2b0]
call fcn.00404b60
call fcn.0044c090
mov word [ebp - 0x294], 0
push 0x1fe
push 0
lea eax, [ebp - 0x292]
push eax
call fcn.00407ed0
add esp, 0xc
call fcn.004c6a00
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x2b0]
call fcn.00404bc0
push eax
call fcn.00509030
add esp, 8
call fcn.004e2c80
lea ecx, [ebp - 0x90]
call fcn.00404560
mov byte [ebp - 4], 8
call fcn.004e9400
lea edx, [ebp - 0x294]
push edx
push 0x50d43c
lea eax, [ebp - 0x90]
push eax
call fcn.00406a30
add esp, 0xc
call fcn.0047ee90
push 0x50d444
lea ecx, [ebp - 0x6c]
call fcn.00404a80
mov byte [ebp - 4], 9
call fcn.004ef140
lea ecx, [ebp - 0x8c]
call fcn.00404560
mov byte [ebp - 4], 0xa
call fcn.004b1310
call fcn.00504ba0
call fcn.00504ba0
mov ecx, dword [0x519640]
add ecx, 0x40
push ecx
mov edx, esp
mov dword [ebp - 0x2f8], esp
push ecx
mov ecx, edx
call fcn.00404580
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x8c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2fc], esp
lea edx, [ebp - 0x6c]
push edx
call fcn.00404ac0
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [0x519640]
call fcn.005081c0
call fcn.0048d1f0
lea ecx, [ebp - 0x90]
call fcn.00406f40
push eax
lea ecx, [ebp - 0x8c]
call fcn.00406f40
push eax
call fcn.00406f90
add esp, 8
movzx eax, al
test eax, eax
jne 0x509924
push 0x50d44c
lea ecx, [ebp - 0x8c]
push ecx
call fcn.00406fb0
add esp, 8
movzx edx, al
test edx, edx
je 0x5099f0
mov eax, dword [0x519640]
mov dword [eax + 0x58], 0x64
call fcn.004c1660
mov dword [0x519680], 1
call fcn.00471330
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2b4], eax
call fcn.004b9a00
mov eax, dword [ebp - 0x2b4]
sub eax, dword [ebp - 0x4c]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x519694], eax
call fcn.0043d9d0
mov dword [0x519684], 1
call fcn.004acf80
mov ecx, dword [0x519640]
call fcn.00507e80
call fcn.004b5e70
mov dword [0x519688], 1
call fcn.00459a30
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8c]
call fcn.00404620
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.00404b00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x90]
call fcn.00404620
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.00404b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.00404b00
jmp 0x509a54
lea ecx, [ebp - 0x2b0]
call fcn.00404bc0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.0045e450
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8c]
call fcn.00404620
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.00404b00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x90]
call fcn.00404620
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b0]
call fcn.00404b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.00404b00
jmp 0x509615
call fcn.0044db70
call fcn.00504ba0
mov edx, dword [0x519640]
cmp dword [edx + 0x48], 0
je 0x509bc6
mov ecx, 0x519670
call fcn.00508cf0
test eax, eax
je 0x509bc6
push str.is_report_compete
lea ecx, [ebp - 0x2d4]
call fcn.00404a80
mov byte [ebp - 4], 0xc
call fcn.004533f0
lea ecx, [ebp - 0x2b8]
call fcn.00404560
mov byte [ebp - 4], 0xd
call fcn.004a4ac0
mov eax, dword [0x519640]
add eax, 0x40
push ecx
mov ecx, esp
mov dword [ebp - 0x300], esp
push eax
call fcn.00404580
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x350], ecx
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x2b8]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x304], esp
lea eax, [ebp - 0x2d4]
push eax
call fcn.00404ac0
mov dword [ebp - 0x354], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [0x519640]
call fcn.005081c0
call fcn.004e0480
push 0x50d474
lea ecx, [ebp - 0x2b8]
push ecx
call fcn.00406fb0
add esp, 8
movzx edx, al
test edx, edx
je 0x509b42
mov ecx, dword [0x519640]
call fcn.00508300
mov dword [0x5196a8], eax
call fcn.0046c3c0
call fcn.004bf690
call fcn.00504ba0
mov eax, dword [0x519640]
mov ecx, dword [eax + 0x50]
mov dword [0x5196c8], ecx
call fcn.00489950
mov edx, dword [0x519640]
mov eax, dword [edx + 0x60]
mov dword [0x51969c], eax
call fcn.004d3960
mov ecx, dword [0x519640]
mov edx, dword [ecx + 0x58]
mov dword [0x5196a0], edx
call fcn.00466870
mov eax, dword [0x519640]
mov ecx, dword [eax + 0x5c]
mov dword [0x5196a4], ecx
call fcn.00480970
mov ecx, 0x519670
call fcn.00508980
call fcn.00494900
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2b8]
call fcn.00404620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2d4]
call fcn.00404b00
call fcn.00466870
call fcn.00504ba0
cmp dword [0x519640], 0
je 0x509c3d
mov ecx, dword [0x519640]
call fcn.00507860
call fcn.0047d450
mov edx, dword [0x519640]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x308], eax
cmp dword [ebp - 0x308], 0
je 0x509c1f
push 1
mov ecx, dword [ebp - 0x308]
call fcn.00406f10
mov dword [ebp - 0x358], eax
jmp 0x509c29
mov dword [ebp - 0x358], 0
call fcn.00488610
mov dword [0x519640], 0
call fcn.00449430
call fcn.004b7c80
call fcn.00504ba0
push 0
call fcn.004092eb
call fcn.004b4440
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00404b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00404b00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret