Function at 0x10037abd
Capabilities:
Check if file exists
Copy file
Get session user name

Disassembly:
push 0x65c
mov eax, 0x1005e88f
call fcn.100420aa
mov eax, dword [ebp + 8]
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 0x608], eax
mov eax, dword [ebp + 0x10]
mov esi, reloc.WS2_32.dll_bind
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x620], edi
mov dword [ebp - 0x618], esi
mov dword [ebp - 0x610], str.Softwareprojonepodlp_rptcachependings_
mov ebx, 0x80
cmp word [0x10078b60], di
jne 0x10037bf6
xor eax, eax
push 0xfe
mov word [ebp - 0x1b4], ax
lea eax, [ebp - 0x1b2]
push edi
push eax
call fcn.10045640
add esp, 0xc
lea eax, [ebp - 0x60c]
push eax
lea eax, [ebp - 0x1b4]
push eax
mov dword [ebp - 0x60c], ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x10037bf6
push str.system
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10037bc6
push str.agentUser
push esi
mov ecx, str.Softwareprojonepodlp_smpcache_
lea esi, [ebp - 0x5e0]
call fcn.10027957
pop ecx
pop ecx
cmp dword [ebp - 0x5cc], edi
jne 0x10037b94
lea eax, [ebp - 0x1b4]
jmp 0x10037ba9
cmp dword [ebp - 0x5c8], 8
mov eax, dword [ebp - 0x5dc]
jae 0x10037ba9
lea eax, [ebp - 0x5dc]
push ebx
push eax
push 0x10078b60
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push edi
push 1
lea esi, [ebp - 0x5e0]
call fcn.10006669
jmp 0x10037bf6
call fcn.10029d06
test eax, eax
jne 0x10037be3
mov dword [ebp - 0x618], htons
mov dword [ebp - 0x610], str.Softwareprojonepodlp_rptcachependings
push ebx
lea eax, [ebp - 0x1b4]
push eax
push 0x10078b60
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp byte [0x10078c60], 0
jne 0x10037c35
lea eax, [ebp - 0x668]
push eax
call fcn.1002a281
cmp dword [eax + 0x18], 0x10
pop ecx
jb 0x10037c17
mov eax, dword [eax + 4]
jmp 0x10037c1a
add eax, 4
push ebx
push eax
push 0x10078c60
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push edi
push 1
lea ecx, [ebp - 0x668]
call fcn.10001e5b
cmp word [0x10078b60], di
je 0x10037d62
cmp byte [0x10078c60], 0
je 0x10037d62
cmp dword [ebp - 0x61c], edi
je 0x10037d62
mov eax, dword [ebp - 0x608]
cmp byte [eax + 8], 7
jne 0x10037d62
push str.i_action
lea ecx, [ebp - 0x668]
call fcn.10001976
sub esp, 0x1c
mov dword [ebp - 4], edi
mov ecx, esp
mov dword [ebp - 0x604], esp
push 0x10063b9d
call fcn.10001976
mov esi, dword [ebp - 0x608]
lea eax, [ebp - 0x668]
push eax
lea ebx, [ebp - 0x5fc]
call fcn.10007dd1
add esp, 0x20
xor edi, edi
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [ebp - 0x668]
mov byte [ebp - 4], 2
call fcn.10001e5b
push str.replace
lea eax, [ebp - 0x5fc]
call fcn.100076f1
pop ecx
test al, al
jne 0x10037cee
push str.delete
lea eax, [ebp - 0x5fc]
call fcn.100076f1
pop ecx
test al, al
je 0x10037d6c
push dword [ebp - 0x608]
mov esi, str.i_key_columns
mov edx, esi
call fcn.1002ebb3
cmp byte [eax + 8], 4
jne 0x10037d31
push dword [ebp - 0x608]
mov edx, esi
call fcn.1002ebb3
push eax
lea ecx, [ebp - 0x5e0]
call fcn.1002dec9
mov dword [ebp - 0x620], ebx
mov byte [ebp - 0x5fd], 0
cmp dword [eax + 0x14], edi
jne 0x10037d37
mov byte [ebp - 0x5fd], bl
test byte [ebp - 0x620], bl
je 0x10037d4c
push edi
push ebx
lea ecx, [ebp - 0x5e0]
call fcn.10001e5b
cmp byte [ebp - 0x5fd], 0
je 0x10037d6c
push edi
push ebx
lea ecx, [ebp - 0x5fc]
call fcn.10001e5b
xor eax, eax
call fcn.1004212d
ret 0x10
push dword [ebp - 0x608]
lea ebx, [ebp - 0x63c]
call fcn.1002d9eb
sub esp, 0x18
mov byte [ebp - 4], 3
mov esi, esp
mov dword [ebp - 0x604], esp
push dword [ebp - 0x61c]
call fcn.1002d92e
mov eax, ebx
push eax
mov edx, str.i_dt
mov byte [ebp - 4], 4
call fcn.1002ec16
mov edi, eax
mov byte [ebp - 4], 3
call fcn.1002dc02
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x604], esp
push 0x10078c60
call fcn.1002d92e
mov eax, ebx
push eax
mov edx, str.client_unique
mov byte [ebp - 4], 5
call fcn.1002ec16
mov edi, eax
mov byte [ebp - 4], 3
call fcn.1002dc02
mov eax, ebx
push eax
mov edx, str.user_name
call fcn.1002ec16
xor ebx, ebx
cmp byte [eax + 8], bl
jne 0x10037e6a
push 0x10078b60
lea esi, [ebp - 0x5e0]
call fcn.100057e7
mov eax, esi
push eax
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.10003059
sub esp, 0x14
mov byte [ebp - 4], 7
mov edx, eax
mov esi, esp
mov dword [ebp - 0x604], esp
call fcn.1002d9af
lea eax, [ebp - 0x63c]
push eax
mov edx, str.user_name
mov byte [ebp - 4], 8
call fcn.1002ec16
mov edi, eax
mov byte [ebp - 4], 7
call fcn.1002dc02
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.10001e5b
push ebx
push 1
lea esi, [ebp - 0x5e0]
mov byte [ebp - 4], 3
call fcn.10006669
lea eax, [ebp - 0x63c]
push eax
mov edx, str.data_time
call fcn.1002ec16
cmp byte [eax + 8], bl
jne 0x10037f16
push 7
xor eax, eax
mov byte [ebp - 0x34], bl
pop ecx
lea edi, [ebp - 0x33]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x5d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x5c8]
push eax
movzx eax, word [ebp - 0x5ca]
push eax
movzx eax, word [ebp - 0x5cc]
push eax
movzx eax, word [ebp - 0x5ce]
push eax
movzx eax, word [ebp - 0x5d2]
push eax
movzx eax, word [ebp - 0x5d4]
push eax
push str._04d__02d__02d__02d:_02d:_02d
lea eax, [ebp - 0x34]
push 0x20
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0xc
lea eax, [ebp - 0x34]
mov esi, esp
mov dword [ebp - 0x604], esp
push eax
call fcn.1002d92e
lea eax, [ebp - 0x63c]
push eax
mov edx, str.data_time
mov byte [ebp - 4], 9
call fcn.1002ec16
mov edi, eax
mov byte [ebp - 4], 3
call fcn.1002dc02
mov esi, dword [ebp - 0x614]
cmp esi, ebx
je 0x1003811b
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10037f46
lea esi, [ebp - 0x63c]
mov byte [ebp - 4], 2
call fcn.1002db7f
push ebx
push 1
jmp 0x10037d57
push esi
call fcn.10025a3e
cmp edx, ebx
ja 0x10037f2f
cmp eax, 0xc800000
ja 0x10037f2f
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea esi, [ebp - 0x5e0]
call fcn.100057e7
mov eax, esi
push eax
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10003059
sub esp, 0x14
mov byte [ebp - 4], 0xb
mov edx, eax
mov esi, esp
mov dword [ebp - 0x604], esp
call fcn.1002d9af
lea eax, [ebp - 0x63c]
push eax
mov edx, str.attach_name
mov byte [ebp - 4], 0xc
call fcn.1002ec16
mov edi, eax
mov byte [ebp - 4], 0xb
call fcn.1002dc02
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.10001e5b
push ebx
push 1
lea esi, [ebp - 0x5e0]
mov byte [ebp - 4], 3
call fcn.10006669
cmp dword [ebp + 0x14], ebx
je 0x10038025
push dword [ebp - 0x614]
lea esi, [ebp - 0x5e0]
call fcn.100057e7
mov eax, esi
push eax
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 0xd
call fcn.10003059
sub esp, 0x14
mov byte [ebp - 4], 0xe
mov edx, eax
mov esi, esp
mov dword [ebp - 0x604], esp
call fcn.1002d9af
lea eax, [ebp - 0x63c]
push eax
mov edx, str.attachment
mov byte [ebp - 4], 0xf
call fcn.1002ec16
mov byte [ebp - 4], 0xe
jmp 0x100380f7
xor eax, eax
mov edi, 0x206
push edi
mov word [ebp - 0x3bc], ax
lea eax, [ebp - 0x3ba]
push ebx
push eax
call fcn.10045640
add esp, 0xc
lea ecx, [ebp - 0x3bc]
call fcn.1003799d
test eax, eax
je 0x10037f2f
lea esi, [ebp - 0x3bc]
call fcn.10025a26
xor eax, eax
push edi
mov word [ebp - 0x5c4], ax
lea eax, [ebp - 0x5c2]
push ebx
push eax
call fcn.10045640
add esp, 0xc
lea edi, [ebp - 0x5c4]
call fcn.100260ea
mov eax, edi
push eax
mov eax, esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push ebx
mov eax, esi
push eax
push dword [ebp - 0x614]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x10037f2f
mov eax, esi
push eax
lea esi, [ebp - 0x5e0]
call fcn.100057e7
mov eax, esi
push eax
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.10003059
sub esp, 0x14
mov byte [ebp - 4], 0x11
mov edx, eax
mov esi, esp
mov dword [ebp - 0x604], esp
call fcn.1002d9af
lea eax, [ebp - 0x63c]
push eax
mov edx, str.attachment
mov byte [ebp - 4], 0x12
call fcn.1002ec16
mov byte [ebp - 4], 0x11
mov edi, eax
call fcn.1002dc02
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.10001e5b
push ebx
push 1
lea esi, [ebp - 0x5e0]
mov byte [ebp - 4], 3
call fcn.10006669
xor eax, eax
push 0x7e
mov word [ebp - 0xb4], ax
lea eax, [ebp - 0xb2]
push ebx
push eax
call fcn.10045640
add esp, 0xc
lea eax, [ebp - 0x64c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov esi, dword [0x10078ce0]
inc dword [0x10078ce0]
call fcn.100261eb
push eax
movzx eax, word [ebp - 0x640]
push esi
push eax
movzx eax, word [ebp - 0x642]
push eax
movzx eax, word [ebp - 0x644]
push eax
movzx eax, word [ebp - 0x646]
push eax
movzx eax, word [ebp - 0x64a]
push eax
movzx eax, word [ebp - 0x64c]
push eax
push str._04d__02d__02d__02d:_02d:_02d__d__08x
lea eax, [ebp - 0xb4]
push 0x40
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0x2c
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x5e0]
call fcn.1002f070
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x13
call fcn.10003019
cmp dword [eax + 0x18], 8
pop ecx
jb 0x100381c8
mov eax, dword [eax + 4]
jmp 0x100381cb
add eax, 4
mov ebx, dword [ebp - 0x610]
mov edi, dword [ebp - 0x618]
lea ecx, [ebp - 0xb4]
push ecx
mov esi, eax
call fcn.1002790d
xor ebx, ebx
push ebx
push 1
lea esi, [ebp - 0x30]
mov edi, eax
call fcn.10006669
push ebx
push 1
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 3
call fcn.10001e5b
cmp edi, ebx
je 0x1003823b
push str.GlobalD36B0A68_AE78_4fa2_BD9C_05FD95224F52
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x60c], eax
cmp eax, ebx
je 0x1003822e
cmp eax, 0xffffffff
je 0x1003822e
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp - 0x60c]
call fcn.10002f69
jmp 0x1003825c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xb4]
push eax
push dword [ebp - 0x610]
push str.CachedReport_write_register_failed:__s._s__d
call fcn.10029b5d
add esp, 0x10
lea esi, [ebp - 0x63c]
mov byte [ebp - 4], 2
call fcn.1002db7f
push ebx
push 1
lea ecx, [ebp - 0x5fc]
call fcn.10001e5b
mov eax, edi
jmp 0x10037d64