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

Disassembly:
push 0xffffffffffffffff
push 0x4e3878
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov al, byte [esp + 0x64]
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [esp + 0x10], edi
mov byte [esp + 0x50], al
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
push esi
lea edx, [esp + 0x54]
push ecx
push edx
mov dword [esp + 0x74], ebx
call fcn.004c75a0
mov al, byte [esp + 0x80]
add esp, 0xc
mov byte [esp + 0x40], al
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
lea ecx, [esp + 0x40]
push esi
push ecx
mov ecx, edi
mov byte [esp + 0x70], 1
call fcn.004c6c90
mov eax, dword [esp + 0x54]
cmp eax, ebx
jne 0x4c81f8
xor ebp, ebp
jmp 0x4c8211
mov ecx, dword [esp + 0x58]
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], ebp
cmp esi, ebx
jne 0x4c8221
xor edx, edx
jmp 0x4c8238
mov ecx, dword [esp + 0x48]
mov eax, 0x51eb851f
sub ecx, esi
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov al, byte [esp + 0x74]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
mov byte [esp + 0x30], al
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
cmp edx, ebx
mov byte [esp + 0x68], 2
jle 0x4c86a1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], edx
jmp 0x4c826f
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
xor eax, eax
add esi, ecx
cmp ebp, ebx
jle 0x4c8290
mov ecx, dword [esi]
mov edi, dword [esp + 0x54]
cmp dword [edi], ecx
je 0x4c82e8
inc eax
add edi, 0xc80
cmp eax, ebp
jl 0x4c8281
mov eax, dword [esi + 0x18]
cmp eax, 4
je 0x4c8684
cmp eax, ebx
je 0x4c85a4
push ebx
push str.Merge___Server_Deleted
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edx, dword [esi]
push edx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
push eax
call fcn.004cd6d0
push ebx
push 0x50e208
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
jmp 0x4c8684
cmp edi, esi
mov dword [edi + 0x18], 3
je 0x4c858d
mov eax, dword [edi]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x4c8310
push eax
call fcn.004c07e0
add esp, 4
test eax, eax
jne 0x4c858d
mov edx, dword [edi]
mov eax, dword [esi]
cmp edx, eax
je 0x4c8324
mov dword [edi + 0x18], 1
jmp 0x4c83f7
mov eax, dword [edi + 0x14]
mov ecx, dword [esi + 0x14]
cmp eax, ecx
je 0x4c8340
cmp dword [esi + 4], 2
je 0x4c8340
mov dword [edi + 0x18], 6
jmp 0x4c83f7
mov ecx, dword [edi + 4]
mov eax, dword [esi + 4]
cmp ecx, eax
je 0x4c8356
mov dword [edi + 0x18], 2
jmp 0x4c83f7
mov edx, dword [edi + 8]
mov eax, dword [esi + 8]
cmp edx, eax
je 0x4c836c
mov dword [edi + 0x18], 3
jmp 0x4c83f7
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0xc]
cmp eax, ecx
je 0x4c837f
mov dword [edi + 0x18], 4
jmp 0x4c83f7
lea ecx, [esi + 0x48]
lea edx, [edi + 0x48]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x4c839a
mov dword [edi + 0x18], 8
jmp 0x4c83f7
lea eax, [esi + 0x250]
lea ecx, [edi + 0x250]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4c83bb
mov dword [edi + 0x18], 9
jmp 0x4c83f7
lea edx, [esi + 0x1c]
lea eax, [edi + 0x1c]
push edx
push eax
call fcn.004c0730
add esp, 8
test eax, eax
je 0x4c83d8
mov dword [edi + 0x18], 0xc
jmp 0x4c83f7
lea ecx, [esi + 0x2c]
lea edx, [edi + 0x2c]
push ecx
push edx
call fcn.004c0730
add esp, 8
test eax, eax
je 0x4c858d
mov dword [edi + 0x18], 0xd
lea eax, [esi + 0x2c]
lea ebp, [edi + 0x2c]
push eax
push ebp
mov dword [esp + 0x20], 1
call fcn.004c0730
add esp, 8
test eax, eax
je 0x4c852d
lea ebx, [esi + 0x1c]
lea ecx, [edi + 0x1c]
push ebx
push ecx
call fcn.004c0730
add esp, 8
test eax, eax
je 0x4c8506
mov edx, dword [esp + 0x10]
add edx, 0x3b0
push edx
push ebx
call fcn.004c7ec0
mov eax, dword [esp + 0x18]
fstp qword [esp + 0x2c]
add eax, 0x3c0
push eax
push ebp
call fcn.004c7ec0
fcomp qword [esp + 0x34]
add esp, 0x10
fnstsw ax
test ah, 1
je 0x4c84bd
mov ecx, dword [edi + 0x18]
push 0
push str.Merge___Local_Modify_Over_Server_
mov dword [esi + 0x18], ecx
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edx, dword [esi]
push edx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 2
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push 0
push 0x50e208
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
xor ebx, ebx
jmp 0x4c858d
push 0
push str.Merge___Server_Modify_Over_Local
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edx, dword [esi]
push edx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov eax, dword [esi]
push eax
mov ecx, dword [esp + 0x14]
push edi
call fcn.004c7830
push 0
push 0x50e12c
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
xor ebx, ebx
jmp 0x4c858d
push 0
push str.Merge___Server_Time_Same_Local_Time_Different
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov ecx, dword [esi]
push ecx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov edx, dword [esi]
push edx
jmp 0x4c84e2
lea eax, [esi + 0x1c]
add edi, 0x1c
push eax
push edi
call fcn.004c0730
add esp, 8
test eax, eax
je 0x4c858d
push ebx
push str.Merge___Server_Time_Different_Over_Same
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov ecx, dword [esi]
push ecx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
push edx
push eax
push 2
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push ebx
push 0x50e12c
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
cmp dword [esi + 4], 2
jne 0x4c8680
mov ecx, dword [esp + 0x38]
push esi
push 1
push ecx
jmp 0x4c8677
cmp ebp, ebx
mov dword [esp + 0x18], 1
jle 0x4c8616
mov ecx, dword [esp + 0x14]
lea ebx, [esi + 0x48]
xor ebp, ebp
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x54]
lea edi, [edx + ebp]
lea eax, [edi + 0x48]
push eax
push ebx
call dword [sym.imp.SHLWAPI.dll_StrCmpW]
test eax, eax
jne 0x4c8605
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
cmp ecx, eax
jne 0x4c8605
mov edx, dword [esi]
mov eax, dword [edi]
cmp edx, eax
je 0x4c8605
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 3
push edi
mov dword [edi + 0x18], 3
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
mov eax, dword [esp + 0x24]
add ebp, 0xc80
dec eax
mov dword [esp + 0x24], eax
jne 0x4c85bd
xor ebx, ebx
push ebx
push str.Merge___Local_New_Item
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edx, dword [esi]
push edx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 1
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push ebx
push 0x50e208
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
cmp dword [esi + 4], 2
jne 0x4c8680
cmp dword [esi], 1
je 0x4c8680
mov edx, dword [esp + 0x38]
push esi
push 1
push edx
lea ecx, [esp + 0x3c]
call fcn.004bfd30
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add ecx, 0xc80
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
jne 0x4c826b
mov edi, dword [esp + 0x10]
xor ebp, ebp
xor ebx, ebx
mov eax, dword [edi + 0x614]
test eax, eax
je 0x4c8781
mov ecx, dword [edi + 0x618]
sub ecx, eax
mov eax, 0x51d1569d
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jae 0x4c8781
mov esi, dword [edi + 0x614]
mov eax, dword [esp + 0x78]
add esi, ebx
mov ecx, dword [esi]
cmp ecx, eax
jne 0x4c8775
mov eax, dword [esi + 8]
mov dword [esi + 0x1c], 3
cmp eax, 2
mov dword [esp + 0x18], 1
jne 0x4c8721
mov ecx, dword [esi + 4]
lea eax, [esi + 4]
cmp ecx, 1
je 0x4c8721
mov edx, dword [esp + 0x38]
push eax
push 1
push edx
lea ecx, [esp + 0x3c]
call fcn.004bfd30
push 0
push str.Merge___Local_Or_Server_Moved_
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov eax, dword [esi + 4]
lea edi, [esi + 4]
push eax
call fcn.004b8150
mov ecx, eax
call fcn.004be280
mov ecx, dword [esp + 0x74]
mov edx, dword [esi]
push ecx
push edx
push 4
push edi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push 0
push 0x50e12c
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edi, dword [esp + 0x10]
inc ebp
add ebx, 0xc84
jmp 0x4c86a9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
test eax, eax
jle 0x4c891d
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + ecx]
mov eax, dword [eax + ecx]
cmp eax, 1
je 0x4c891d
cmp dword [esi + 0x18], 3
je 0x4c88fa
mov edx, dword [esp + 0x20]
xor ecx, ecx
test edx, edx
jle 0x4c87ed
mov edx, dword [esp + 0x44]
cmp eax, dword [edx]
je 0x4c88fa
inc ecx
add edx, 0xc80
cmp ecx, dword [esp + 0x20]
jl 0x4c87d8
mov ecx, dword [ebp + 0x62c]
cmp eax, ecx
jg 0x4c87fe
cmp eax, 0x4190ab00
jge 0x4c8803
cmp eax, dword [ebp + 0xc]
jg 0x4c8865
push eax
mov ecx, ebp
call fcn.004c8110
test eax, eax
jne 0x4c88fa
push eax
push str.Merge___Local_Deleted_Item__Delete_Server_Item
mov dword [esp + 0x20], 1
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov edx, dword [esi]
push edx
call fcn.004b8150
mov ecx, eax
call fcn.004be280
push edi
push ebx
push 3
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push 0
push 0x50e12c
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
jmp 0x4c88fa
cmp eax, ecx
jg 0x4c8874
cmp eax, 0x4190ab00
jge 0x4c88fa
push 0xffffffffffffffff
push esi
mov ecx, ebp
call fcn.004c1f60
cmp eax, dword [esi]
jne 0x4c88e9
push 0
push str.Merge___Server_Add_Item_Add_Item_to_Local_
mov dword [esp + 0x20], 1
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
mov eax, dword [esi]
push eax
call fcn.004b8150
mov ecx, eax
call fcn.004be280
push edi
push ebx
push 2
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
push 0
push 0x50e208
call fcn.004b8150
mov ecx, eax
call fcn.004be2e0
cmp dword [esi + 4], 2
jne 0x4c88fa
mov ecx, dword [esp + 0x38]
push esi
push 1
push ecx
lea ecx, [esp + 0x3c]
call fcn.004bfd30
jmp 0x4c88fa
push edi
push ebx
push 3
push esi
call fcn.004b8150
mov ecx, eax
call fcn.004bd680
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
inc eax
add edx, 0xc80
cmp eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
jl 0x4c87a9
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4c8938
mov edx, dword [esp + 0x74]
push 0x50f3e4
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
test eax, eax
jne 0x4c8948
xor edx, edx
jmp 0x4c895b
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
test edx, edx
jle 0x4c898c
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
xor esi, esi
mov edi, edx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x70]
push ebx
mov edx, dword [ecx + esi]
mov ecx, dword [esp + 0x14]
push edx
push ebp
push eax
call fcn.004c8170
add esi, 0xc80
dec edi
jne 0x4c896b
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004acab9
mov edx, dword [esp + 0x48]
xor esi, esi
push edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.004acab9
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], esi
push eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
call fcn.004acab9
mov ecx, dword [esp + 0x6c]
add esp, 0xc
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0x10