Function at 0x5b43d0
Capabilities:
Check if file exists

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.0048ca60
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x5b443e
xor ebx, ebx
mov edi, 0x7f
add edi, 0xffffff8a
jmp 0x5b4426
mov eax, 3
sub eax, ebx
xor eax, ebx
setne al
movzx eax, al
add ebx, eax
call fcn.0049af60
mov ebp, ebx
or ebp, 2
mov ecx, ebx
xor ecx, 2
add ecx, ebp
setne cl
movzx ecx, cl
cmp ebx, ecx
jb 0x5b4410
jmp 0x5b4469
mov al, 0x3d
movzx eax, al
cmp eax, 0x2d
je 0x5b4464
cmp eax, 0x54
jne 0x5b44ba
call fcn.004879c0
mov dword [esp + 0x3c], eax
call fcn.0049af60
test esi, esi
je 0x5b447b
jmp 0x5b45a5
mov edi, 0xd
cmp edi, 9
jne 0x5b4488
mov ecx, edi
and ecx, 1
xor ecx, edi
not ecx
test ecx, ecx
je 0x5b4488
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x5b4509
mov edi, 8
call fcn.004879c0
mov dword [esp + 0x3c], eax
mov eax, esi
and eax, 1
inc eax
xor eax, esi
sete al
movzx ebx, al
call fcn.0049af60
cmp esi, ebx
jne 0x5b44ff
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x5b4813
call fcn.004879c0
mov dword [esp + 0x3c], eax
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx edi, al
call fcn.0049af60
cmp esi, edi
jne 0x5b45a5
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov ebx, 2
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
jmp 0x5b4788
mov esi, 0x18
jmp 0x5b458d
mov esi, edx
mov ecx, dword [esp + 0x58]
mov eax, 0x12
mov bh, 0x7a
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
movzx edx, dl
cmp ecx, edx
sete bl
jne 0x5b4535
mov edx, esi
jmp 0x5b4807
mov esi, 0xf
call fcn.00446770
movzx eax, ax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x19
mov dword [esp + 8], 0
mov ecx, 1
mov edx, dword [esp + 0x3c]
call fcn.005bcea0
mov ebp, eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
cmp esi, 0xf
je 0x5b466a
imul esi, esi
and esi, 3
cmp esi, 3
je 0x5b466a
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov esi, 8
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.005bf250
mov edx, eax
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
add eax, edx
jne 0x5b4861
jmp 0x5b46b8
mov eax, ebp
and eax, 1
xor eax, ebp
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebp, eax
call fcn.00457150
mov esi, eax
call fcn.00457100
mov edi, eax
call fcn.00446770
movzx eax, ax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x27
mov dword [esp + 4], 1
mov dword [esp], str.updating
xor ecx, ecx
mov edx, dword [esp + 0x3c]
call fcn.005b5bd0
test ebp, ebp
jne 0x5b4660
mov edx, ebp
or edx, 2
mov ecx, ebp
xor ecx, 2
add ecx, edx
jne 0x5b45f0
mov ebp, eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
movzx ecx, bh
cmp ecx, 0x7a
jne 0x5b46c3
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov edi, 0x18
mov eax, 3
mov edx, ebp
sub eax, edx
xor eax, edx
setne al
movzx ecx, al
mov al, bl
and al, 1
movzx eax, al
imul eax, eax
cmp eax, 2
setb al
add ecx, edx
jne 0x5b4813
mov esi, 0x12
xor bl, al
test bl, 1
jne 0x5b4813
cmp esi, 8
je 0x5b4509
jmp 0x5b4707
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov eax, 0xd
mov bh, 0x7a
mov ecx, ebp
and ecx, 1
xor ecx, ebp
cmp ecx, 0xffffffff
setne cl
movzx edx, cl
mov cl, bl
and cl, 1
movzx ecx, cl
or ecx, 2
add ecx, ecx
setne cl
add edx, ebp
mov edx, ebp
jne 0x5b4807
xor cl, bl
test cl, 1
jne 0x5b4807
mov dword [esp + 0x20], edx
call fcn.0049af60
mov edi, eax
mov ebx, edx
mov dword [esp], 1
call fcn.0044e800
mov dword [esp + 0x30], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete al
movzx eax, al
mov dword [esp + 0x2c], eax
mov esi, edi
sub esi, dword [0x80dcc8]
mov ebp, ebx
sbb ebp, dword [0x80dccc]
mov eax, dword [esp + 0x28]
sub edi, eax
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x24]
sbb ebx, eax
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov ecx, eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x30], eax
jne 0x5b482c
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], esi
mov ebp, ebx
mov edx, dword [esp + 0x20]
mov ebx, 5
xor esi, esi
cmp ebx, 2
jne 0x5b47f2
mov eax, ebx
not eax
and eax, 1
add eax, ebx
jne 0x5b4509
jmp 0x5b47f2
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], str.Error_updating_server__s__in_connect_tcp___syserr__u__s_._Failing_the_command_after__lld__ms__from_connect____and__lld__ms__from_search_startup_n
mov ebx, ecx
call fcn.004414c0
mov ecx, ebx
mov edx, 0xffffffff
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x5b47a0
jmp 0x5b4861
cmp eax, 0xd
je 0x5b4861
xor ebp, ebp
jmp 0x5b464e
cmp edi, 8
je 0x5b4509
imul edi, edi
and edi, 3
cmp edi, 3
jne 0x5b4861
jmp 0x5b4509
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], str.Server__s_was_too_slow_to_update__in_connect_tcp___syserr__u__s___after__lld__ms__from_connect____and__lld__ms__from_search_startup_n
call fcn.004414c0
mov edx, 0xffffffff
mov eax, edx
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret